Skip to main content
1

Instala el CLI

npm install -g @jelou/cli
Verifica la instalación:
jelou --version
2

Autentícate

Necesitas un token de acceso personal (créalo en el dashboard de Jelou).
jelou login
# Paste your access token: ****
# ✓ Logged in
En CI puedes pasar el token directamente: jelou login --token jfn_pat_tu_token
3

Inicializa un proyecto

Crea un directorio y ejecuta jelou init:
mkdir consultar-cliente && cd consultar-cliente
jelou init
# ? Function slug: consultar-cliente
# ? Description: Busca información de clientes para el bot de WhatsApp
# ? Create new or link existing? Create new
# ✓ Created consultar-cliente
Esto te genera los archivos base:
ArchivoPropósito
index.tsTu función principal
jelou.jsonConfiguración del proyecto
deno.jsonImport map del SDK
.envVariables de entorno locales
4

Escribe tu función

Reemplaza el contenido de index.ts con una función que busca clientes por teléfono:
index.ts
import { define, z } from "@jelou/functions";

export default define({
  name: "consultar-cliente",
  description: "Busca información de un cliente por número de teléfono para el bot de soporte",
  input: z.object({
    telefono: z.string().min(10).describe("Número de teléfono del cliente"),
  }),
  output: z.object({
    nombre: z.string(),
    email: z.string(),
    plan: z.string(),
    saldo: z.number(),
  }),
  handler: async (input, ctx) => {
    ctx.log("Buscando cliente", {
      telefono: input.telefono,
      company: ctx.company.id,
    });

    const apiKey = ctx.env.get("CRM_API_KEY");
    const res = await fetch(
      `https://crm.example.com/api/clientes?tel=${input.telefono}`,
      { headers: { Authorization: `Bearer ${apiKey}` } },
    );
    const cliente = await res.json();

    return {
      nombre: cliente.nombre,
      email: cliente.email,
      plan: cliente.plan,
      saldo: cliente.saldo,
    };
  },
});
5

Ejecuta en local

Inicia el servidor de desarrollo:
jelou dev
# ▸ Listening on http://localhost:3000
# ▸ Watching for changes...
Tu servidor se recarga automáticamente cuando editas archivos.
6

Prueba con curl

En otra terminal, envía una petición:
curl -X POST http://localhost:3000 \
  -H "Content-Type: application/json" \
  -d '{"telefono": "593987654321"}'
Respuesta:
{
  "nombre": "María García",
  "email": "[email protected]",
  "plan": "Premium",
  "saldo": 150.00
}
También puedes probar el endpoint MCP en http://localhost:3000/mcp y el health check en http://localhost:3000/__health.
7

Configura secrets

Antes de desplegar, agrega las variables de entorno que necesita tu función:
jelou secrets set consultar-cliente CRM_API_KEY=YOUR_CRM_API_KEY
# ✓ Set 1 secret
8

Despliega a producción

jelou deploy
# ▸ Files: index.ts (1.2 KB), jelou.json (98 B), deno.json (65 B)
# ? Deploy consultar-cliente? (Y/n) y
# ✓ Deployed to https://consultar-cliente.fn.jelou.ai
Tu función ya está disponible en producción. Los agentes IA de Jelou pueden invocarla como herramienta MCP automáticamente.
9

Verifica en producción

curl -X POST https://consultar-cliente.fn.jelou.ai \
  -H "Content-Type: application/json" \
  -d '{"telefono": "593987654321"}'
Monitorea los logs en tiempo real:
jelou logs consultar-cliente

Siguientes pasos