Zapier
Conecta NuTalk con tus otras apps a través de Zapier, sin código: los eventos de campaña inician tus Zaps, y los Zaps agregan leads a tus campañas.
Qué hace
NuTalk envía eventos de campaña a un Zap mediante los webhooks de eventos de una campaña, y un Zap agrega leads a NuTalk por la API.
- Disparadores
- Inicia un Zap cuando una campaña agrega un lead, hace o termina una llamada, envía un mensaje de WhatsApp, o cuando un lead termina.
- Acciones
- Agrega leads a una campaña, o crea contactos, desde cualquier app.
Disparadores disponibles
Cada campaña puede enviar estos eventos a cualquier URL, desde su pestaña Integraciones, en Webhooks de eventos:
| Evento | Cuándo se envía |
|---|---|
enrollment.created | Se agregó un lead a mano en el panel, o llegó de un formulario de leads de Facebook, Instagram o Google Ads. Los leads que se agregan de otras formas, como por la API, no lo envían. |
call.started | La campaña hizo una llamada a un lead, o empezó una llamada entrante de la campaña. |
call.completed | Terminó una llamada de la campaña, contestada o no (data.call_outcome: answered, no_answer, busy, voicemail…). |
call.failed | Una llamada de la campaña falló o no se pudo hacer. |
message.sent | Un paso de plantilla de WhatsApp envió su mensaje. |
message.failed | Un paso de plantilla de WhatsApp no pudo enviar su mensaje. |
enrollment.completed | Un lead llegó a un final de éxito del flujo (data.lead_response, data.terminal_stage). |
enrollment.failed | Un lead llegó a un final de falla del flujo. |
Para todas las llamadas del espacio de trabajo, sean de campaña o no, registra en su lugar la URL del Zap como un webhook de la API (en inglés): envía call.completed (contestada) y call.failed (no contestada).
Configúralo
NuTalk como disparador
Recibe los eventos en Zapier
Crea un Zap con Webhooks by Zapier → Catch Hook como disparador y copia la URL que te da Zapier.
Agrega el webhook en NuTalk
Abre la pestaña Integraciones de la campaña y, en Webhooks de eventos, haz clic en Agregar Webhook. Pega la URL y elige los eventos.
Deja pasar un evento real
Probar revisa que la URL responda: envía
"event": "test"sin los campos del evento. Para mapear campos reales en Zapier, deja pasar un evento real, por ejemplo inscribiendo tu propio número.
NuTalk como acción
Crea una clave de API
En Configuración → Claves API, crea una clave con el permiso
campaigns:write.Agrega un paso POST en Zapier
Agrega un paso de acción Webhooks by Zapier → POST, con el tipo de payload JSON.
Llénalo
Llena la URL, los datos y los encabezados como en Acción: agrega un lead a una campaña.
Zaps de ejemplo
| Zap | Disparador | Acción |
|---|---|---|
| Avisa a ventas en Slack de los leads interesadosUn filtro de Zapier deja pasar solo data.lead_response = interested. | NuTalk: enrollment.completed | Slack: Send Message |
| Llama a cada lead de TypeformCada persona que llena el formulario se inscribe en una campaña y se le llama dentro del horario de llamadas de esa campaña. | Typeform: New Entry | NuTalk: POST /v1/campaigns/:id/enrollments |
| Registra las llamadas de campaña en Google SheetsUna fila por llamada, con su resultado y su duración. | NuTalk: call.completed | Google Sheets: Add Row |
| Da seguimiento por correo a los leads interesadosLos leads que terminaron interesados entran a una audiencia de Mailchimp. | NuTalk: enrollment.completed | Mailchimp: Add Subscriber |
Acción: agrega un lead a una campaña
El Zap inscribe al lead en una campaña; NuTalk crea el contacto si es nuevo. Usa el id de la campaña que aparece en su dirección en el panel, y tu clave de API en el encabezado.
{
"url": "https://www.nutalk.ai/v1/campaigns/<campaign id>/enrollments",
"payload_type": "json",
"data": {
"phone_number": "{{phone}}",
"name": "{{first_name}} {{last_name}}",
"email": "{{email}}"
},
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}Los números de teléfono necesitan el + y el código de país. Si envías un lead a una campaña en borrador o pausada, la respuesta es 409, a menos que la importación por API esté activada en la pestaña Integraciones de la campaña: entonces el lead espera y se le llama en cuanto la campaña empieza.
Lo que recibe Zapier
Si no defines un payload personalizado, cada evento tiene esta forma. Un payload personalizado es una plantilla con marcadores {{field}} para estos campos y los que van dentro de data.
{
"event": "enrollment.completed",
"timestamp": "2026-10-02T14:41:12.000Z",
"campaign_id": "f8d1c003-b292-448d-b8d8-1dd521b94b3b",
"enrollment_id": "7593112e-56ab-4a08-858f-21035eb1bacc",
"contact_id": "9595b646-ab97-4485-b1b8-e8b58dfcdd19",
"data": {
"phone_number": "+525512345678",
"lead_response": "interested",
"terminal_stage": "Answered",
"terminal_type": "success",
"completed_at": "2026-10-02T14:41:12.000Z"
}
}{
"event": "call.completed",
"timestamp": "2026-10-02T14:33:05.120Z",
"campaign_id": "f8d1c003-b292-448d-b8d8-1dd521b94b3b",
"enrollment_id": "7593112e-56ab-4a08-858f-21035eb1bacc",
"contact_id": "9595b646-ab97-4485-b1b8-e8b58dfcdd19",
"data": {
"call_id": "1ba11348-e440-44de-a5cd-5fe62f4d9df6",
"phone_number": "+525512345678",
"call_outcome": "answered",
"duration_seconds": 185,
"channel_id": "9f19ef32-eaef-452c-bebc-14d9759cdb64",
"completed_at": "2026-10-02T14:33:05.120Z"
}
}Para la transcripción y el resumen, agrega un paso que llame a GET /v1/calls/{{call_id}} con una clave de API que tenga calls:read.
Buenas prácticas
- Filtra en Zapier
- Usa filtros de Zapier sobre data.lead_response o data.call_outcome para que un Zap se ejecute solo con los resultados que te importan.
- Mantén privada la URL del Catch Hook
- Los webhooks de eventos de campaña no van firmados: cualquiera que tenga la URL puede enviarle datos al Zap.
- Mapea los campos con un evento real
- El botón Probar solo revisa la URL. Inscribe tu propio número una vez para que Zapier vea un evento real, con todos sus campos, antes de mapear los siguientes pasos.
- Vigila las tareas fallidas
- Activa las notificaciones de error de Zapier. Un lead que la API rechaza (un teléfono no válido, un contacto que se dio de baja) aparece ahí con el motivo.