Crear un Proyecto en N8N
Tutorial paso a paso para crear un workflow en N8N con Webhook POST, procesar mensajes y responder a ChatCielo
Crear un Proyecto en N8N
Tutorial paso a paso:
Cómo crear un workflow en N8N y obtener un Webhook POST con integración a ChatCielo (WhatsApp).
Al finalizar este tutorial tendrás un workflow funcional en N8N que recibe mensajes de ChatCielo, los procesa y responde de vuelta al cliente en WhatsApp. Tiempo estimado: 15–20 minutos.
Requisitos previos
- Cuenta en N8N (n8n.cloud o instancia propia). Si no tienes una, crea una en n8n.io.
- Un canal activo en ChatCielo (WhatsApp QR u oficial WABA) con permisos para configurar automatizaciones.
- Un número de WhatsApp externo para pruebas (tu propio celular).
Paso 1 — Crear el workflow en N8N
Crea un nuevo workflow
- Entra a tu instancia de N8N y haz clic en + Create Workflow o Add Workflow.
- Asigna un nombre descriptivo, por ejemplo
ChatCielo - Atención WhatsApp. - Haz clic en + Add first step para agregar el primer nodo.

Paso 2 — Agregar el nodo Webhook (POST)
Configura el nodo Webhook como disparador
- Busca y selecciona el nodo Webhook.
- Configura los siguientes campos:
| Campo | Valor | Notas |
|---|---|---|
| HTTP Method | POST | ChatCielo siempre envía POST |
| Path | chatcielo-entrada | Puedes usar el nombre que prefieras; será parte de la URL |
| Response Mode | Response Node o Respond to Webhook | Te permite controlar la respuesta manualmente |
| Authentication | None para pruebas; Header Auth para producción | En producción, protege con header secreto |
- Haz clic en Execute Node o guarda el workflow para que N8N genere la Webhook URL.
La URL se verá así:
o en versión de prueba:
Importante: la URL con /webhook-test/ solo funciona mientras el workflow está en modo Test / Execute. Para producción, usa la URL con /webhook/ y activa el workflow (toggle Active en N8N).

Paso 3 — Agregar nodo Set / Code para procesar el mensaje
Extrae y transforma los datos del mensaje
Agrega un nodo Set (o Code si necesitas lógica avanzada) después del Webhook.
Opción A — Nodo Set (simple, sin código):
Configura los campos a extraer del payload de ChatCielo:
| Campo en N8N | Valor (expresión) | Descripción |
|---|---|---|
phoneNumber | ={{ $json.phoneNumber }} | Número del cliente |
name | ={{ $json.name }} | Nombre del contacto |
protocol | ={{ $json.protocol }} | Protocolo de la atención |
messageText | ={{ $json.message.text }} | Texto del mensaje |
channelId | ={{ $json.channelId }} | Canal de origen |
Opción B — Nodo Code (lógica avanzada):
Usa Set para flujos simples (extraer y reenviar) y Code cuando necesites condiciones, consultas a APIs o lógica de negocio.
Paso 4 — Responder a ChatCielo
Tienes dos opciones para devolver la respuesta al cliente. Elige una:
Ideal para respuestas inmediatas dentro del ciclo del webhook.
- Agrega un nodo Respond to Webhook al final del workflow.
- Configura:
| Campo | Valor |
|---|---|
| Respond With | JSON |
| Response Body | ={{ JSON.stringify({ reply: $json.reply }) }} |
| Response Code | 200 |
O con JSON estático:
ChatCielo recibirá este JSON y enviará el campo reply al cliente en WhatsApp automáticamente.
El nodo Respond to Webhook debe responder en menos de 10 segundos. Si tu flujo consulta un ERP lento, usa la Opción B para responder de forma asíncrona.
Paso 5 — Probar con cURL
Antes de vincular en ChatCielo, prueba tu workflow directamente con cURL para asegurarte de que responde correctamente.
Activa el modo de prueba en N8N
En N8N, haz clic en Execute Workflow (o Listen for Test Event si usas /webhook-test/). El workflow quedará esperando un POST.
Envía un POST de prueba con cURL
Abre tu terminal y ejecuta:
Respuesta esperada (Opción A):
Si recibes el reply correctamente, tu workflow está listo.
Prueba con distintos mensajes para validar cada rama de tu lógica: "precio", "pedido", "hablar con asesor" y un mensaje genérico.
Activa el workflow para producción
En N8N, cambia la URL de /webhook-test/ a /webhook/ y activa el toggle Active (arriba a la derecha). El workflow quedará escuchando permanentemente.
Paso 6 — Vincular en ChatCielo
Pega la Webhook URL en ChatCielo
- Ve a Canales > Tu canal > Integración / Automatización > N8N (Webhook).
- Pega la Webhook URL de producción (con
/webhook/, no/webhook-test/):
- Selecciona Método: POST y Evento: Mensaje entrante.
- Si protegiste el webhook con Header Auth, agrega el header correspondiente.
- Haz clic en Guardar.
Prueba de punta a punta
- Desde tu celular personal, envía un mensaje de WhatsApp al número conectado al canal.
- Verifica que N8N registre la ejecución en Executions (panel lateral de N8N).
- Confirma que el cliente reciba la respuesta en WhatsApp.
- Revisa en ChatCielo Atenciones > Panel de Chats que la conversación y el protocolo
{{protocol}}se hayan registrado correctamente.
Monitorea y ajusta
- En N8N ve a Executions para ver cada ejecución, payload recibido y respuesta enviada.
- Si algo falla, revisa el Error Workflow en N8N y los logs de ejecución.
- Ajusta tu lógica (nodos Code, condiciones, integraciones CRM) y vuelve a probar con cURL antes de actualizar en producción.
Ejemplo completo — Workflow mínimo funcional
Para flujos avanzados, inserta entre Set y Respond nodos como:
- HTTP Request → consulta tu ERP, CRM o API interna
- OpenAI / Claude → clasifica intención o genera respuesta con IA
- Google Sheets → registra el contacto
- IF / Switch → deriva según condiciones
- Wait → programa follow-up
¿Necesitas inspiración para tu caso? Revisa la visión general de N8N con ejemplos de CRM, cotización automática y lead scoring.
Solución de problemas
| Problema | Causa | Solución |
|---|---|---|
404 Not Found al hacer POST | URL con /webhook-test/ sin estar en modo Test | Usa /webhook/ y activa el workflow (toggle Active). |
| No llega respuesta al cliente | Nodo Respond to Webhook mal configurado | Verifica que el nodo devuelva 200 con JSON { "reply": "..." }. |
| Timeout / sin respuesta | Flujo tarda más de 10 s | Responde inmediato con "Un momento..." y usa HTTP Request asíncrono (Opción B). |
Variables {{name}} vacías | Contacto sin nombre | Usa fallback: body.name || body.pushName || 'amigo'. |
| Webhook recibe pero no ejecuta | Workflow inactivo | Activa el toggle Active en N8N. |
| Error de autenticación | Header Auth incorrecto | Verifica que el header en ChatCielo coincida con el configurado en el nodo Webhook. |