n8n para atención al cliente: 7 flujos que conectan tu help desk con el resto de tus herramientas
7 flujos de n8n que llevan los eventos del help desk a Slack, Google Sheets, tu CRM y tus correos de seguimiento, cada uno con su disparador, sus nodos y su resultado. Además, las partes que fallan en la práctica: la verificación de firmas, los reintentos, el costo de las ejecuciones y la dirección que un webhook no cubre.
Deskwoot Team
13 min de lectura
Contenido
Un cliente califica tu atención con un 1 de 5 el domingo por la noche. Tú lo ves el jueves, cuando por fin alguien abre los informes. Para entonces ya pasó la oportunidad de arreglarlo.
n8n cierra esa brecha. Aquí tienes 7 flujos que un equipo de soporte pequeño puede armar, cada uno con su disparador, los nodos intermedios y el resultado, además de soluciones para las partes que suelen fallar.
La base que comparten todos los flujos
n8n toma un evento de tu help desk y lo lleva al lugar donde alguien va a actuar: un canal de Slack, una hoja de cálculo, tu CRM, un correo de seguimiento.
Los ejemplos usan los eventos de webhook de Deskwoot, nuestro help desk. Los mismos patrones funcionan con cualquier help desk que envíe webhooks.
Un webhook solo envía eventos hacia afuera de tu help desk. Para cambiar algo dentro de él (asignar, etiquetar, resolver) necesitas una API, y el flujo 7 trata ese caso.
En n8n
- Agrega un nodo Webhook como primer paso.
- Pon HTTP Method en POST y Respond en Immediately, para que n8n responda al instante y haga el trabajo después.
- Deja Authentication en None. Deskwoot no envía Basic auth ni un encabezado con un valor fijo, así que cualquier otra opción rechaza todos los eventos.
- Copia la Production URL.
En Deskwoot
- Un administrador abre Configuración > Webhooks. La tarjeta de n8n en Configuración > Integraciones tiene un botón Abrir webhooks que lleva ahí.
- Haz clic en Agregar webhook y pega la URL en URL del endpoint.
- Marca solo los eventos que necesita este flujo y haz clic en Crear webhook.
- Publica el flujo en n8n.
Test URL o Production URL
El paso que muchos pasan por alto es la URL. La documentación del nodo Webhook de n8n explica que la Test URL solo escucha mientras haces clic en “Listen for test event”. La Production URL escucha una vez que el flujo está publicado.
Si pegas la Test URL en tu help desk, todo funciona mientras miras y después ya no llega nada. Las ejecuciones de producción aparecen en la pestaña Executions, no en el canvas.
Qué trae cada evento
Cada evento es un POST con un cuerpo JSON (event, data, timestamp, accountId). La documentación de la API lista los campos, y nuestra guía de n8n en el centro de ayuda muestra la configuración clic a clic.
Dale a cada flujo su propio webhook, así es fácil encontrar el que se rompió.
Los 7 flujos de un vistazo
| Flujo | Evento de Deskwoot | Nodos de n8n intermedios | Resultado |
|---|---|---|---|
| 1. Repartir conversaciones nuevas | Conversación creada | Switch, Slack | Cada equipo ve sus propios chats nuevos |
| 2. Avisar de palabras de riesgo | Mensaje creado | Filter, Slack o Telegram | El dueño se entera de un contracargo al instante |
| 3. Registrar valoraciones CSAT | CSAT enviado | Google Sheets, If, Slack | Todas las valoraciones en una hoja, con las malas marcadas |
| 4. Clientes nuevos al CRM | Conversación creada, Contacto creado, Contacto actualizado | Switch, Edit Fields, If, HubSpot | Todo el que escribe queda en el CRM |
| 5. Avisar a la persona asignada | Conversación asignada | If, Code, Telegram o Slack | Un mensaje directo donde esa persona sí mira |
| 6. Hacer seguimiento tras resolver | Conversación resuelta | Remove Duplicates, Wait, Google Sheets, Gmail | Una solicitud de reseña 3 días después |
| 7. Marcar VIP en el help desk | Conversación creada | HubSpot, If, HTTP Request | Las conversaciones VIP reciben una etiqueta y prioridad alta |
1. Envía las conversaciones nuevas al canal del equipo correcto
Conversación creada trae la conversación (con su inboxId) y el nombre y el correo del cliente. Un nodo Switch sobre data.conversation.inboxId tiene una salida por bandeja de entrada.
Cada salida lleva a un nodo Slack con Send a message: las preguntas de facturación van a #facturacion, la bandeja de entrada de WhatsApp a #tienda. El ID de cada bandeja de entrada aparece en la primera ejecución después de un mensaje de prueba.
Primero revisa si de verdad lo necesitas. La integración con Slack de Deskwoot funciona en todos los planes y ya publica conversaciones nuevas, asignaciones, valoraciones CSAT y más en los canales que elijas.
n8n vale la pena cuando necesitas una regla que esos avisos no tienen, o quieres los avisos en Microsoft Teams o Discord en lugar de Slack.
2. Avisa al dueño cuando un mensaje menciona un contracargo
Con Mensaje creado, un nodo Filter se queda con los mensajes que cumplen todo esto:
data.message.messageTypees INCOMINGdata.message.privatees falsedata.message.contentcoincide con un patrón comorefund|chargeback|lawyer
Luego un nodo Slack o Telegram le envía el texto al dueño mientras la conversación sigue abierta.
Este evento consume muchas ejecuciones. Se dispara con cada mensaje en las dos direcciones, incluidas las respuestas de tu equipo y las notas privadas.
40 conversaciones al día con 6 mensajes cada una son 240 ejecuciones al día, unas 7,200 al mes. n8n cuenta cada ejecución aunque el Filter la descarte.
3. Manda las valoraciones CSAT a Google Sheets y marca las malas
CSAT enviado contiene rating (de 1 a 5), feedback (el comentario, o vacío), conversationId, contactId y surveyId.
Un nodo Google Sheets con Append Row escribe una fila por valoración, con el timestamp del evento como fecha. Un nodo If detecta las valoraciones de 2 o menos y le envía el comentario al líder del equipo en Slack.
La hoja vale la pena cuando quieres ver las valoraciones junto a datos que los informes de Deskwoot no tienen, como el valor del pedido.
Las encuestas CSAT vienen con el plan Business o superior. La guía de CSAT explica cuándo se envían, y nuestra guía de encuestas de opinión repasa los tipos de encuesta.
4. Pon a cada cliente nuevo en tu CRM
Envía Conversación creada, Contacto creado y Contacto actualizado a un solo webhook. Luego arma esta cadena:
- Un nodo Switch separa los eventos según
event. - Un nodo Edit Fields en cada salida los lleva a los mismos campos (nombre, correo, ID de contacto de Deskwoot).
- Un nodo If descarta las entradas sin correo.
- Create/Update a contact del nodo HubSpot los guarda. Busca por correo, así que un cliente que vuelve no se convierte en un segundo registro.
Contacto creado se dispara cuando se guarda un contacto en la página Contactos o se crea por la API. Una persona desconocida que escribe por primera vez aparece como Conversación creada.
Ese payload no trae número de teléfono, y los clientes de WhatsApp o SMS muchas veces todavía no tienen correo. Llegan al CRM cuando alguien del equipo agrega un correo, lo que dispara Contacto actualizado.
5. Avisa a la persona asignada donde de verdad mira
Conversación asignada contiene conversationId, assigneeId y previousAssigneeId. assigneeId viene vacío cuando a una conversación se le quitó la asignación, y un nodo If se salta esos casos.
Un nodo Code busca a la persona en una tablita de IDs de usuario de Deskwoot e IDs de chat de Telegram (o IDs de miembro de Slack). Después, un nodo Telegram o Slack le escribe a esa persona.
El evento se dispara cuando alguien del equipo o la API asigna o transfiere una conversación. Round Robin y las reglas de automatización asignan sin enviar el evento.
Así que en un equipo que reparte los chats nuevos por Round Robin, este flujo cubre solo las asignaciones manuales y las transferencias.
El evento trae IDs, no nombres. Para armar la tabla, asigna una conversación de prueba a cada persona del equipo y lee el assigneeId en la pestaña Executions.
6. Haz un seguimiento 3 días después de resolver una conversación
Conversación resuelta trae poco: conversationId y quién la resolvió. Por eso, haz que el flujo 4 también guarde conversationId y el correo en una hoja de Google Sheets, y busca el correo ahí.
La cadena:
- Remove Duplicates (Remove Items Processed in Previous Executions, Value Is New, sobre
conversationId), para que una conversación resuelta dos veces reciba un solo seguimiento. - Wait (After Time Interval, 3 días).
- Google Sheets para encontrar el correo.
- Gmail para enviarlo.
Según la documentación del nodo Wait, un flujo en pausa guarda sus datos en la base de datos, así que una pausa de varios días no es problema.
Con las encuestas CSAT activadas, Deskwoot ya pide una valoración cada vez que se resuelve una conversación. Así que usa este correo para pedir una reseña pública o para comprobar que el arreglo sigue funcionando.
7. Marca a los clientes VIP de vuelta en el help desk (requiere la API REST)
Con Conversación creada, el flujo ejecuta estos nodos:
- Un nodo HubSpot con Search contacts busca el correo.
- Un nodo If revisa una propiedad en la que confías (por ejemplo, la etapa del ciclo de vida “customer”).
- Un nodo HTTP Request escribe de vuelta en
https://api.deskwoot.com/v1: un POST a/conversations/{id}/labelscon el ID de tu etiqueta “vip”, y un PATCH a/conversations/{id}con"priority": "HIGH"o elassigneeIddel gerente de cuenta.
Pocos segundos después de llegar, la conversación ya tiene la etiqueta y prioridad alta.
Para esto necesitas un token de la API REST de Configuración > Tokens de API (permiso conversations:write). La API REST es parte del plan Enterprise de pago, y la prueba gratis de 7 días no incluye tokens de API.
Si solo quieres que n8n les responda a los clientes, basta con un bot Custom Webhook (Startup o superior). Cada conversación que n8n responde, como bot o por la API REST, cuenta como 1 conversación de IA.
Cómo verificar la firma
Deskwoot firma cada evento. El encabezado x-deskwoot-signature contiene sha256= seguido del HMAC SHA256 en hex del cuerpo sin procesar, calculado con el secreto del webhook como clave.
En n8n, la verificación lleva 3 nodos:
- En el nodo Webhook, activa Raw Body, para que los bytes exactos lleguen como datos binarios.
- Agrega un nodo Crypto: acción Hmac, Binary File activado con la propiedad binaria del nodo Webhook, Type SHA256, Encoding HEX y el secreto en una credencial Crypto.
- Agrega un nodo If que compare
sha256=más el resultado con el encabezado, y manda los fallos a un callejón sin salida.
Calcula el hash de los bytes sin procesar. Un JSON ya interpretado y vuelto a convertir en texto puede tener otros bytes.
Para una comparación en tiempo constante, usa crypto.timingSafeEqual en un nodo Code, como sugiere un ejemplo completo en el foro de n8n.
n8n Cloud deja disponible el módulo crypto en el nodo Code. En un n8n en tu propio servidor, primero tienes que habilitarlo, como explica la documentación del nodo Code.
De dónde sale el secreto
El panel de Deskwoot nunca muestra el secreto de un webhook. Deskwoot lo devuelve una sola vez, cuando creas el webhook por la API REST, lo que otra vez significa Enterprise.
Un webhook creado en Configuración > Webhooks igual va firmado, pero sin el secreto no puedes verificarlo. Así que protege la URL:
- n8n le da a cada nodo Webhook nuevo una ruta aleatoria de forma predeterminada.
- No muestres la Production URL en capturas de pantalla ni en documentos compartidos.
- Si se filtra, cambia la ruta en n8n y actualiza la URL en Deskwoot con Editar.
Reintentos, tiempos de espera y eventos duplicados
Deskwoot espera hasta 10 segundos una respuesta. Después de un error, de un tiempo de espera agotado o de una conexión fallida, lo intenta una vez más 5 segundos después con el mismo cuerpo y los mismos encabezados, y luego el evento se pierde.
Con Respond en Immediately, una llamada lenta a Google Sheets nunca provoca un reintento. Quedan 2 casos.
n8n no responde
Si n8n está caído más de unos segundos (por una actualización o un reinicio), esos eventos se pierden. Por eso, actualiza un n8n en tu propio servidor fuera del horario de atención.
En Enterprise puedes recuperar lo perdido listando las conversaciones por la API REST.
Un evento llega dos veces
Pasa cuando n8n recibió el evento pero respondió demasiado tarde. El reintento trae el mismo cuerpo y el mismo timestamp.
Un nodo Remove Duplicates sobre event, timestamp y conversationId (o surveyId para las valoraciones) descarta la copia. Ponlo antes de cualquier cosa que escriba filas o envíe mensajes.
n8n Cloud o en tu propio servidor
n8n Cloud
n8n Cloud no necesita servidor y se cobra por ejecuciones. La página de precios de n8n cuenta cada ejecución del flujo completo como una sola, sin importar cuántos pasos tenga.
Indica 2,500 ejecuciones al mes en el plan Starter (consultado en octubre de 2026). Cada evento que envías inicia una ejecución, así que marca en Deskwoot solo los eventos que necesitas. El flujo 2 por sí solo puede agotar un plan Starter.
En tu propio servidor
En tu propio servidor, n8n es gratis en su Community edition, según la comparación del propio n8n, que también deja el mantenimiento en tus manos.
Deskwoot solo envía a direcciones HTTPS públicas, así que un n8n en una laptop o detrás del router de la oficina no recibe nada.
Detrás de un proxy inverso, define la variable de la URL del webhook que indica la documentación de hosting de n8n, o el nodo mostrará una dirección interna como Production URL.
Quién puede leer las ejecuciones
En los dos casos, n8n guarda las ejecuciones pasadas y, con ellas, nombres, correos y textos de mensajes de clientes. Da acceso a n8n solo a quienes pueden leer tu help desk.
Qué plan de Deskwoot cubre cada flujo
| Lo que debe hacer n8n | Lo que usa Deskwoot | Plan |
|---|---|---|
| Recibir eventos (flujos 1 a 6) | Un webhook en Configuración > Webhooks | Startup o superior, prueba gratis incluida |
| Recibir valoraciones CSAT (flujo 3) | Encuestas CSAT | Business o superior |
| Responder a clientes como bot | Un bot Custom Webhook en Configuración > Bots, y cada conversación respondida cuenta como 1 conversación de IA | Startup o superior |
| Responder a clientes desde tu propio código | La API REST, y cada conversación respondida cuenta como 1 conversación de IA | Enterprise, de pago (no incluido en la prueba) |
| Escribir de vuelta (flujo 7) u obtener un secreto para verificar firmas | La API REST con un token de Configuración > Tokens de API | Enterprise, de pago (no incluido en la prueba) |
Cada puesto cuesta esto por agente al mes:
- Startup: $4, o $3.20 con facturación anual
- Business: $8, o $6.40 con facturación anual
- Enterprise: $12, o $9.60 con facturación anual
El plan gratis Hacker no envía webhooks. Tienes los detalles en la página de precios, y la guía de webhooks lista todos los eventos.
Por dónde empezar
Para la mayoría de los equipos pequeños, el flujo 3 es el mejor punto de partida. Necesita un evento y 3 nodos, y la próxima valoración mala le llega al líder del equipo el mismo día y no el jueves.
Del lado de Deskwoot no escribes código. Marcas CSAT enviado en Configuración > Webhooks y pegas la Production URL. La documentación de la API muestra todos los campos que vas a recibir, así que puedes revisarlos antes de armar nada.
Para probarlo, crea tu cuenta y conecta un flujo. Cada espacio de trabajo nuevo empieza con una prueba gratis de 7 días de Enterprise para hasta 30 puestos, incluido el tuyo, con webhooks y encuestas CSAT y sin tarjeta.
Cuando terminan los 7 días, no se cobra nada y el espacio de trabajo pasa al plan gratis Hacker, a menos que elijas uno de pago.
También disponible en:EnglishDeutschFrançaisPortuguês (Brasil)


