> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jelou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Jelou Functions

> Funciones serverless en TypeScript: endpoints HTTP, validación Zod, herramientas MCP y multi-tool con app(), todo automático.

<Warning>
  **Vista previa** — Jelou Functions está en fase de vista previa. La API y el comportamiento pueden cambiar sin previo aviso. No lo uses en flujos de producción críticos sin contactar al equipo de soporte.
</Warning>

<Info>
  **¿Cómo obtener tu token?**

  * **Clientes Enterprise:** el token debe ser solicitado al equipo de soporte técnico de Jelou.
  * **Clientes Self-service:** puedes generar tu propio token desde [Autenticación](/guides/functions/autenticacion).
</Info>

## ¿Qué es Jelou Functions?

Jelou Functions es una plataforma serverless de TypeScript donde con `define()` obtienes automáticamente:

* **Endpoint HTTP** listo para recibir peticiones
* **Validación** de entrada y salida con Zod
* **Herramienta MCP** para que tus agentes IA la invoquen directamente
* **Cron jobs** declarativos sin infraestructura adicional
* **Multi-tool** con `app()` para agrupar varias herramientas en un solo despliegue

```typescript index.ts theme={null}
import { define, z } from "@jelou/functions";

export default define({
  name: "consultar-cliente",
  description: "Busca información de un cliente por teléfono",
  input: z.object({
    telefono: z.string().min(10),
  }),
  output: z.object({
    nombre: z.string(),
    plan: z.string(),
  }),
  handler: async (input, ctx) => {
    ctx.log("Buscando cliente", { telefono: input.telefono });
    return { nombre: "María García", plan: "Premium" };
  },
});
```

Despliega con un solo comando y obtén una URL de producción:

```bash theme={null}
jelou functions deploy
# → https://consultar-cliente.fn.jelou.ai
```

## ¿Para qué sirve?

<CardGroup cols={1}>
  <Card title="Herramientas para agentes IA" icon="robot" href="/guides/functions/mcp">
    Crea herramientas que tus agentes de WhatsApp pueden invocar: consultar datos, procesar pagos, verificar estados.
  </Card>

  <Card title="Webhooks y APIs" icon="webhook" href="/guides/functions/validacion">
    Recibe callbacks de pasarelas de pago, CRMs o cualquier servicio externo con validación automática.
  </Card>

  <Card title="Tareas programadas" icon="clock" href="/guides/functions/cron">
    Ejecuta tareas recurrentes como enviar recordatorios, sincronizar datos o limpiar sesiones inactivas.
  </Card>

  <Card title="Despliegue instantáneo" icon="rocket" href="/guides/functions/despliegue">
    Del código local a producción en segundos, con rollback incluido y soporte para CI/CD.
  </Card>

  <Card title="Funciones multi-tool" icon="layer-group" href="/guides/functions/multi-tool">
    Agrupa múltiples herramientas en un solo despliegue con `app()`: rutas auto-generadas, MCP unificado y cron independiente.
  </Card>
</CardGroup>

## Prerrequisitos

Antes de empezar, asegúrate de tener:

* **Node.js 18+** instalado
* Tu cuenta de Jelou con acceso a Functions
* Tu token de acceso personal (prefijo `jfn_pat_`)

## Siguiente paso

<Card title="Inicio rápido" icon="play" href="/guides/functions/quickstart">
  Crea, prueba y despliega tu primera función en menos de 5 minutos.
</Card>
