n8n
Conecta Orkestal con n8n en los dos sentidos: manda tus leads a otras apps y deja que n8n envíe mensajes o actualice contactos en Orkestal.
n8n es una herramienta de automatización que conecta cientos de aplicaciones (CRM, correo, Slack, hojas de cálculo). Con Orkestal te permite, por ejemplo, mandar un lead nuevo a tu CRM, avisar a tu equipo por Slack, enviar recordatorios automáticos o pasar un chat a una persona cuando se cumple una condición.
No necesitas instalar nada en n8n. Todo funciona con dos nodos que ya trae: Webhook (para recibir de Orkestal) y HTTP Request (para pedirle cosas a Orkestal).
Las dos direcciones#
| Dirección | Qué hace | Qué usas |
|---|---|---|
| Orkestal → n8n | «Cuando pase algo en mi chat, corre mi automatización» | La acción Enviar a webhook (n8n) en tus flujos |
| n8n → Orkestal | «Desde mi automatización, manda un WhatsApp o crea un contacto» | Una API key y el nodo HTTP Request |
Parte 1: de Orkestal a n8n#
1. Crea un Webhook en n8n#
Crea un workflow nuevo y agrega el nodo Webhook como disparador. Copia la Test URL mientras pruebas; cuando el workflow ya funcione, actívalo y usa la Production URL.
2. Agrega la acción en tu flujo#
En Flujos, en el Hacer elige la categoría Integraciones externas y la opción Enviar a webhook (n8n). Pega la URL en URL del webhook. Los otros dos campos son opcionales:
- Nombre del evento: te sirve para distinguir en n8n de qué flujo vino el aviso (por ejemplo
lead.colegios). - Secreto: si lo llenas, Orkestal firma cada envío para que puedas comprobar que viene de Orkestal. Mira Webhooks.
Cada acción tiene su propia URL, así que puedes mandar cada tipo de lead a un workflow distinto. La URL debe ser pública: por seguridad se rechazan direcciones de red interna.
3. Qué recibe n8n#
Orkestal manda el lead completo en JSON:
{
"event": "lead.colegios",
"sent_at": "2026-08-03T18:22:04Z",
"business_id": "…",
"conversation_id": "…",
"contact_id": "…",
"channel": "whatsapp",
"contact": {
"name": "María López",
"email": "maria@ejemplo.com",
"phone": "+5215550001111",
"product_interest": "Primaria",
"preference": "Turno matutino",
"stage": "interesado",
"tags": ["nuevo_lead", "colegios"]
},
"captured_data": {
"grado_de_interes": "3ro"
},
"last_message": "Quiero informes de inscripciones para primaria"
}En captured_data vienen también los campos propios que definiste en el bloque Recolectar datos de ese flujo.
Parte 2: de n8n a Orkestal#
1. Crea tu API key#
- Entra a Integraciones → n8n y pulsa Crear API key.
- Ponle un nombre que diga para qué es («n8n producción») y marca solo los permisos que ese workflow necesita.
- Cópiala en ese momento: se muestra una sola vez. Si la pierdes, no hay forma de recuperarla; se revoca y se crea otra.
Detalle de permisos en Autenticación y permisos.
2. Configura la credencial en n8n#
En tu nodo HTTP Request elige:
- Authentication: Generic Credential Type
- Generic Auth Type: Header Auth
- Name:
Authorization - Value:
Bearer ork_live_…(tu clave completa, con la palabraBearery un espacio)
Para comprobar que quedó bien, haz una petición GET /me. Si te devuelve el nombre de tu negocio, ya está conectado.
3. Rutas disponibles#
La URL base se muestra en Integraciones → n8n. El detalle de cada ruta está en la Referencia de la API.
| Método y ruta | Para qué sirve |
|---|---|
GET /me | Probar que la credencial funciona |
POST /messages | Enviar un WhatsApp (texto o plantilla) |
GET /templates | Ver tus plantillas aprobadas y qué variables piden |
GET /contacts | Listar o buscar contactos |
POST /contacts | Crear un contacto (o actualizarlo si ya existe) |
PATCH /contacts/{id} | Editar un contacto |
POST /contacts/{id}/tags | Poner etiquetas |
DELETE /contacts/{id}/tags/{etiqueta} | Quitar una etiqueta |
GET /conversations | Listar conversaciones |
GET /conversations/{id}/messages | Leer el historial de un chat |
PATCH /conversations/{id} | Cambiar estado, etapa o asignación |
POST /conversations/{id}/pause-agent | Silenciar la IA y pasar el chat a una persona |
POST /conversations/{id}/resume-agent | Devolverle el chat a la IA |
Parte 3: las dos reglas que evitan problemas#
La ventana de 24 horas de WhatsApp#
Es una regla de Meta y la causa número uno de «mi mensaje no llegó»: solo puedes mandar texto libre si el cliente te escribió en las últimas 24 horas. Pasado ese tiempo, solo se entregan plantillas aprobadas. Como los recordatorios de pago, los carritos abandonados y los seguimientos casi siempre caen fuera de la ventana, lo normal desde n8n es usar plantilla:
POST /messages
{
"to": "+5215550001111",
"template": {
"name": "recordatorio_pago",
"variables": { "1": "María", "2": "$1,500" }
}
}Consulta GET /templates para ver qué plantillas tienes aprobadas y qué variables espera cada una. Si mandas texto libre fuera de la ventana, Orkestal responde con un error 409 que lo explica, en lugar de dejar que el mensaje se pierda.
Idempotency-Key: evita envíos y cobros dobles#
Cuando un nodo falla, n8n lo reintenta. Si era un envío de WhatsApp, tu cliente recibiría el mensaje dos veces y a ti te lo cobrarían dos veces. Agrega en el nodo HTTP Request la cabecera:
- Name:
Idempotency-Key - Value: un valor único por envío (por ejemplo
{{ $json.id }}o{{ $execution.id }})
Si la petición se repite con la misma clave, Orkestal devuelve el resultado de la primera sin volver a enviar.
Recetas#
Lead nuevo → tu CRM y aviso al equipo. Flujo con Cuando = Nuevo lead y Hacer = Enviar a webhook (n8n). En n8n: Webhook → tu CRM (HubSpot, Pipedrive, Google Sheets) → mensaje a Slack o correo al vendedor de turno.
Recordatorio de pago o de cita. En n8n: Schedule Trigger → consulta tu sistema de cobranza → por cada pendiente, POST /messages con una plantilla aprobada y un Idempotency-Key.
Carrito abandonado o cotización sin cerrar. En n8n: tu tienda dispara el evento → nodo Wait → POST /contacts para registrar a la persona → POST /messages con plantilla de seguimiento.
Etiquetar desde fuera y dejar que Orkestal reaccione. En n8n: cuando tu sistema marca a alguien como «cliente VIP», llama POST /contacts/{id}/tags. En Orkestal, un flujo con Cuando = Se asignó una etiqueta reacciona solo, igual que si la hubiera puesto el agente.
Pasar el chat a una persona bajo cierta condición. En n8n: cuando detectas un cliente importante, una queja o un monto alto, llama POST /conversations/{id}/pause-agent y avisa a tu equipo. La IA se calla hasta que llames resume-agent o la reactives desde la bandeja.
Si algo no funciona#
| Error | Significa | Cómo se arregla |
|---|---|---|
| 401 | La API key no es válida o fue revocada | Revisa que el valor sea Bearer ork_live_… con el espacio. Si la revocaste, crea una nueva |
| 403 | La key no tiene ese permiso | El mensaje dice cuál falta. Crea una key con ese permiso |
| 402 | La cuenta está suspendida por falta de pago | Regulariza el pago; el acceso por API se reactiva solo |
| 409 | La ventana de 24 horas está cerrada | Manda una plantilla aprobada en lugar de texto libre |
| 422 | Falta un dato, o reusaste una Idempotency-Key con otro contenido | El mensaje del error dice qué falta |
| El webhook no llega a n8n | El workflow no está activo, o la URL es interna | Activa el workflow y usa la Production URL. La URL debe ser pública |