Avisos a otros sistemas
Cuando pasa algo en la cuenta (llega un mensaje, se agenda una cita, se le agrega una etiqueta a un cliente), AdSmartBot le avisa al instante a la dirección que elijas: tu sistema, Zapier, Make o n8n.
Suscribirse
Hay dos formas, y las dos dan lo mismo:
- En el panel: Configuración → Integraciones → API y avisos → Avisos a otros sistemas → Agregar aviso. Eliges la dirección, qué avisar y, si quieres, un filtro («solo la etiqueta VIP»).
- Por la API:
POST https://panel.adsmartbot.com/api/v1/webhookscon una clave que tenga «Gestionar los avisos a otros sistemas» (webhooks:manage). Así se suscriben solas las integraciones como Zapier.
La respuesta trae una sola vez la clave para comprobar la firma (whsec_…): guárdala. Cada clave de acceso solo ve y cambia los avisos que ella creó; los del panel y los de otras claves no existen para ella.
Como mucho 25 avisos por cuenta y 5 hacia un mismo dominio. Zapier, Make, n8n y Pabbly solo cuentan para el máximo de la cuenta.
Lo que recibe tu sistema
Un POST con JSON. Todos los avisos tienen la misma forma: type dice qué pasó, data trae los datos completos de ese momento (el contacto entero, con sus etiquetas y campos), actor quién lo hizo y cause qué sistema empezó la cadena, si fue uno de afuera.
- Responde con cualquier 2xx en menos de 10 segundos. Procesa despacio después, si hace falta.
- El mismo aviso puede llegar dos veces (si tu respuesta se perdió): reconócelo por su
id, que es el mismo en cada intento. - El orden no está garantizado: usa
created_atdel aviso yupdated_atde los objetos.
{
"id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41",
"object": "event",
"type": "contact.tag_added",
"api_version": "v1",
"created_at": "2026-09-26T19:40:00.123Z",
"account": {
"id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d",
"name": "Peluquería Ana"
},
"actor": {
"type": "team_member",
"id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
"name": "Laura"
},
"cause": {
"origin": {
"type": "api_key",
"id": "c3d4e5f6-a7b8-4c9d-8e0f-1a2b3c4d5e6f",
"name": "Tienda"
},
"hops": 0
},
"data": {
"contact": {
"id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1",
"object": "contact",
"channel": "whatsapp",
"first_name": "Ana",
"last_name": "Gómez",
"full_name": "Ana Gómez",
"phone": "+573001234567",
"email": "ana@correo.com",
"email_verified": false,
"whatsapp": {
"wa_id": "573001234567",
"bsuid": null,
"username": null
},
"profile_pic_url": null,
"locale": null,
"timezone": "America/Bogota",
"origin": "direct_message",
"tags": [
{
"id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e",
"name": "VIP"
}
],
"fields": {
"Ciudad": "Cali",
"Talla": "M"
},
"broadcasts_subscribed": true,
"broadcasts_opt_out": null,
"whatsapp_opt_in": null,
"email_unsubscribed": false,
"blocked": false,
"interactions_count": 12,
"has_written": true,
"last_inbound_at": "2026-09-26T19:39:58.000Z",
"last_outbound_at": "2026-09-26T19:35:10.000Z",
"whatsapp_windows": [
{
"channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607",
"open": true,
"closes_at": "2026-09-27T19:39:58.000Z"
}
],
"created_at": "2026-09-01T10:00:00.000Z",
"updated_at": "2026-09-26T19:40:00.120Z"
},
"tag": {
"id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e",
"name": "VIP"
}
}
}Comprobar la firma
Cada aviso llega firmado con el formato abierto Standard Webhooks, con tres cabeceras:
| Cabecera | Qué es |
|---|---|
webhook-id |
El id del aviso: el mismo en cada reintento |
webhook-timestamp |
La hora del intento, en segundos Unix |
webhook-signature |
v1, y la firma: HMAC-SHA256 de {id}.{timestamp}.{cuerpo} con tu clave, en base64 |
Comprueba la firma con el cuerpo tal como llegó (antes de leerlo como JSON) y rechaza lo que tenga más de 5 minutos: así nadie puede hacerse pasar por nosotros ni repetir un aviso viejo. Al cambiar la clave, durante 24 horas llegan dos firmas separadas por un espacio: basta con que cuadre una. Hay librerías oficiales para JavaScript, Python, PHP, Go, Ruby, Java y C#.
// npm install standardwebhooks
import { Webhook } from "standardwebhooks";
const wh = new Webhook(process.env.CLAVE_DE_FIRMA); // whsec_…
// Con el cuerpo TAL COMO LLEGÓ (texto), antes de leerlo como JSON:
const aviso = wh.verify(cuerpoCrudo, {
"webhook-id": req.headers["webhook-id"],
"webhook-timestamp": req.headers["webhook-timestamp"],
"webhook-signature": req.headers["webhook-signature"],
});
// Si la firma no cuadra o tiene más de 5 minutos, `verify` lanza un error: responde 400.# pip install standardwebhooks
from standardwebhooks.webhooks import Webhook
wh = Webhook(os.environ["CLAVE_DE_FIRMA"]) # whsec_…
aviso = wh.verify(cuerpo_crudo, dict(request.headers))import { createHmac, timingSafeEqual } from "node:crypto";
function firmaValida(cuerpoCrudo, cabeceras, clave) {
const id = cabeceras["webhook-id"];
const hora = cabeceras["webhook-timestamp"];
// Más de 5 minutos: se descarta (así nadie puede repetir un aviso viejo).
if (Math.abs(Date.now() / 1000 - Number(hora)) > 300) return false;
const secreto = Buffer.from(clave.replace(/^whsec_/, ""), "base64");
const esperada = createHmac("sha256", secreto).update(`${id}.${hora}.${cuerpoCrudo}`).digest();
// Pueden venir dos firmas (al cambiar la clave): basta con que cuadre una.
return cabeceras["webhook-signature"].split(" ").some((parte) => {
const [version, firma] = parte.split(",");
const recibida = Buffer.from(firma ?? "", "base64");
return version === "v1" && recibida.length === esperada.length && timingSafeEqual(recibida, esperada);
});
}Reintentos, pausa y registro
- Si tu sistema no responde con un 2xx (o tarda más de 10 segundos), se reintenta a 1 minuto, 5 minutos, 30 minutos, 2 horas, 6 horas y 24 horas: 7 intentos en unas 33 horas. Con
429, se respeta tuRetry-Aftersi es más largo. 410 Goneapaga el aviso al instante: es la forma estándar de decir «no quiero más avisos».- Las redirecciones no se siguen: usa la dirección final.
- Pausa automática: si todo falla durante 3 días seguidos (y van al menos 20 entregas), el aviso queda en pausa y el dueño de la cuenta recibe un aviso. Lo que pase mientras tanto se guarda 7 días y sale en orden, a 10 por segundo, al volver a encenderlo.
- Registro de entregas: 30 días, con el código que respondió tu sistema y un pedazo de su respuesta. «Reenviar» vuelve a enviar exactamente el mismo aviso. Por la API:
GET /webhooks/{id}/deliveries.
Sin bucles entre sistemas
Un Zap que agrega una etiqueta cada vez que le llega «Se le agrega una etiqueta» se llamaría a sí mismo sin fin. Para evitarlo:
- Poner el mismo valor no avisa: si un campo ya tenía ese valor, no sale
contact.field_changed. skip_own_events(encendido por defecto en los avisos que crea una clave): no recibes lo que provocó tu propia clave, aunque en medio haya pasado una regla o un flujo.cause.origindice quién empezó la cadena.- Un freno por si acaso: más de 20 avisos del mismo tipo para el mismo contacto en un minuto, provocados por otro sistema, se detienen 10 minutos y el dueño recibe un aviso.
El catálogo
Cada aviso pide que la clave que lo creó pueda leerlo (un aviso nunca da lo que la clave no puede leer), y se revisa otra vez en cada entrega. GET https://panel.adsmartbot.com/api/v1/event-types da este mismo catálogo, con un ejemplo de cada uno.
Contacto
contact.createdContacto nuevoEscribe por primera vez, o llega por la importación o la API. Permiso de lectura:
contacts:read(«Ver contactos»). Filtros:channel_id.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "contact.created", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" } } }contact.updatedCambian los datos de un contactoLlega prontoCambian su nombre, teléfono, correo, zona, bloqueo o suscripción. data.changes dice qué cambió. Permiso de lectura:
contacts:read(«Ver contactos»).contact.deletedSe borra un contactoEntra a la papelera, desde Contactos, la bandeja o la API. Solo trae el id, el teléfono y el correo. Permiso de lectura:
contacts:read(«Ver contactos»).Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "contact.deleted", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "deleted_contact", "phone": "+573001234567", "email": "ana@correo.com", "deleted_at": "2026-09-26T19:40:00.123Z", "deleted_by": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" } } } }contact.tag_addedSe le agrega una etiquetaDesde cualquier sitio: la bandeja, Contactos, un flujo, una regla o la API. Permiso de lectura:
contacts:read(«Ver contactos»). Filtros:tag.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "contact.tag_added", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": { "origin": { "type": "api_key", "id": "c3d4e5f6-a7b8-4c9d-8e0f-1a2b3c4d5e6f", "name": "Tienda" }, "hops": 0 }, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "tag": { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } } }contact.tag_removedSe le quita una etiquetaDesde cualquier sitio. Permiso de lectura:
contacts:read(«Ver contactos»). Filtros:tag.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "contact.tag_removed", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "tag": { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } } }contact.field_changedCambia un campoUn campo del contacto cambia de valor. Trae field, value y previous_value. Poner el mismo valor no avisa. Permiso de lectura:
contacts:read(«Ver contactos»). Filtros:field_key,field_value.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "contact.field_changed", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "field": { "key": "Ciudad", "name": "Ciudad", "type": "text" }, "value": "Cali", "previous_value": "Bogotá" } }contact.broadcasts_unsubscribedSe da de baja de los masivosDeja de recibir envíos masivos: lo pidió, lo bloqueó tu equipo o lo hizo un flujo. Permiso de lectura:
contacts:read(«Ver contactos»).Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "contact.broadcasts_unsubscribed", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "contact", "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "name": null }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": false, "broadcasts_opt_out": { "by": "contact", "at": "2026-09-26T19:40:00.123Z" }, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "by": "contact" } }contact.email_unsubscribedSe da de baja de los correosLlega prontoSe da de baja de un tema o de todos los correos. Permiso de lectura:
contacts:read(«Ver contactos»).
Conversaciones
message.receivedLlega un mensajeCada mensaje del cliente, por WhatsApp o el chat web, con su texto, su tipo, el archivo (por id) y la transcripción de una nota de voz. Permiso de lectura:
conversations:read(«Leer conversaciones»). Filtros:channel_id.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "message.received", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "contact", "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "name": null }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "conversation": { "id": "d2e3f4a5-b6c7-4d8e-9f01-a2b3c4d5e6f7", "object": "conversation", "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607" }, "message": { "id": "e5f6a7b8-c9d0-4e1f-8a2b-3c4d5e6f7a8b", "object": "message", "contact_id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "conversation_id": "d2e3f4a5-b6c7-4d8e-9f01-a2b3c4d5e6f7", "direction": "inbound", "type": "text", "text": "Hola, ¿tienen cita para mañana?", "media": null, "transcript": null, "reply_to_message_id": null, "created_at": "2026-09-26T19:39:58.000Z" } } }message.sentSale un mensajeLlega prontoDel equipo, la IA, un flujo, la API o un masivo. data.message.sender dice de quién. Permiso de lectura:
conversations:read(«Leer conversaciones»). Filtros:channel_id,sender_types.message.status_updatedCambia el estado de un mensajeLlega prontoEntregado, leído o fallido (con el motivo traducido). Permiso de lectura:
conversations:read(«Leer conversaciones»).conversation.handed_overPasa al equipoLa IA, un flujo, una regla, la API o alguien del equipo le pasa el chat al equipo. Trae by. Permiso de lectura:
conversations:read(«Leer conversaciones»).Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "conversation.handed_over", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "conversation": { "id": "d2e3f4a5-b6c7-4d8e-9f01-a2b3c4d5e6f7", "object": "conversation", "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607" }, "by": { "type": "ai", "id": null, "name": "Asistente" } } }conversation.returned_to_aiVuelve al sistemaEl chat vuelve a la IA o al flujo del punto de partida, a mano o cuando se cumple la pausa. Con «Equipo humano» no sale: ahí no se pausa nada y no hay nada que devolver. Permiso de lectura:
conversations:read(«Leer conversaciones»).Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "conversation.returned_to_ai", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "conversation": { "id": "d2e3f4a5-b6c7-4d8e-9f01-a2b3c4d5e6f7", "object": "conversation", "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607" }, "by": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" } } }conversation.assignedSe asigna una conversaciónLlega prontoA alguien o a nadie, con quién la tenía antes. Permiso de lectura:
conversations:read(«Leer conversaciones»).conversation.archivedSe archiva una conversaciónDesde la bandeja o con la acción «Archivar». Permiso de lectura:
conversations:read(«Leer conversaciones»).Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "conversation.archived", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "conversation": { "id": "d2e3f4a5-b6c7-4d8e-9f01-a2b3c4d5e6f7", "object": "conversation", "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607" } } }conversation.unarchivedSe desarchiva una conversaciónLlega prontoDesde la bandeja o con la acción «Desarchivar». Permiso de lectura:
conversations:read(«Leer conversaciones»).
Secuencias
sequence.subscribedEntra en una secuenciaLo suscriben a una secuencia, desde un flujo, una regla, la bandeja o la API. Permiso de lectura:
contacts:read(«Ver contactos»). Filtros:sequence_id.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "sequence.subscribed", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "sequence": { "id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f", "name": "Bienvenida" } } }sequence.unsubscribedSale de una secuenciaLa termina o lo quitan antes de tiempo (reason lo dice). Permiso de lectura:
contacts:read(«Ver contactos»). Filtros:sequence_id.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "sequence.unsubscribed", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "sequence": { "id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f", "name": "Bienvenida" }, "reason": "finished" } }
CRM
deal.createdSe crea una oportunidadEntra al embudo, desde el CRM o desde un flujo. Permiso de lectura:
crm:read(«Ver el CRM»). Filtros:pipeline_id,stage_id.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "deal.created", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "deal": { "id": "d9e8f7a6-b5c4-4d3e-8f2a-1b0c9d8e7f6a", "object": "deal", "title": "Plan de novia", "pipeline": { "id": "a9b8c7d6-e5f4-4a3b-9c2d-1e0f9a8b7c6d", "name": "Ventas" }, "stage": { "id": "c2b3a4d5-f6e7-4b8a-9d0c-1f2e3a4b5c6d", "name": "Interesado", "kind": "open" }, "status": "open", "amount_cents": 45000000, "currency": "COP", "owner_id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "expected_close_date": "2026-10-15", "lost_reason": null, "created_at": "2026-09-20T15:00:00.000Z", "updated_at": "2026-09-26T19:40:00.123Z" } } }deal.stage_changedUna oportunidad cambia de etapaLlega a otra etapa. Trae la etapa anterior. Permiso de lectura:
crm:read(«Ver el CRM»). Filtros:pipeline_id,stage_id.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "deal.stage_changed", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "deal": { "id": "d9e8f7a6-b5c4-4d3e-8f2a-1b0c9d8e7f6a", "object": "deal", "title": "Plan de novia", "pipeline": { "id": "a9b8c7d6-e5f4-4a3b-9c2d-1e0f9a8b7c6d", "name": "Ventas" }, "stage": { "id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5e", "name": "Propuesta enviada", "kind": "open" }, "status": "open", "amount_cents": 45000000, "currency": "COP", "owner_id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "expected_close_date": "2026-10-15", "lost_reason": null, "created_at": "2026-09-20T15:00:00.000Z", "updated_at": "2026-09-26T19:40:00.123Z" }, "previous_stage": { "id": "c2b3a4d5-f6e7-4b8a-9d0c-1f2e3a4b5c6d", "name": "Interesado" } } }deal.value_changedCambia el valor de una oportunidadAlguien o un flujo cambia el valor. Permiso de lectura:
crm:read(«Ver el CRM»). Filtros:pipeline_id.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "deal.value_changed", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "deal": { "id": "d9e8f7a6-b5c4-4d3e-8f2a-1b0c9d8e7f6a", "object": "deal", "title": "Plan de novia", "pipeline": { "id": "a9b8c7d6-e5f4-4a3b-9c2d-1e0f9a8b7c6d", "name": "Ventas" }, "stage": { "id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5e", "name": "Propuesta enviada", "kind": "open" }, "status": "open", "amount_cents": 45000000, "currency": "COP", "owner_id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "expected_close_date": "2026-10-15", "lost_reason": null, "created_at": "2026-09-20T15:00:00.000Z", "updated_at": "2026-09-26T19:40:00.123Z" } } }deal.wonSe gana una oportunidadLlega a una etapa de ganada. Permiso de lectura:
crm:read(«Ver el CRM»). Filtros:pipeline_id.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "deal.won", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "deal": { "id": "d9e8f7a6-b5c4-4d3e-8f2a-1b0c9d8e7f6a", "object": "deal", "title": "Plan de novia", "pipeline": { "id": "a9b8c7d6-e5f4-4a3b-9c2d-1e0f9a8b7c6d", "name": "Ventas" }, "stage": { "id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5e", "name": "Ganada", "kind": "won" }, "status": "won", "amount_cents": 45000000, "currency": "COP", "owner_id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "expected_close_date": "2026-10-15", "lost_reason": null, "created_at": "2026-09-20T15:00:00.000Z", "updated_at": "2026-09-26T19:40:00.123Z" } } }deal.lostSe pierde una oportunidadLlega a una etapa de perdida. Permiso de lectura:
crm:read(«Ver el CRM»). Filtros:pipeline_id.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "deal.lost", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "deal": { "id": "d9e8f7a6-b5c4-4d3e-8f2a-1b0c9d8e7f6a", "object": "deal", "title": "Plan de novia", "pipeline": { "id": "a9b8c7d6-e5f4-4a3b-9c2d-1e0f9a8b7c6d", "name": "Ventas" }, "stage": { "id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5e", "name": "Perdida", "kind": "lost" }, "status": "lost", "amount_cents": 45000000, "currency": "COP", "owner_id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "expected_close_date": "2026-10-15", "lost_reason": "Eligió otra opción", "created_at": "2026-09-20T15:00:00.000Z", "updated_at": "2026-09-26T19:40:00.123Z" } } }deal.deletedSe borra una oportunidadLlega prontoSe borra desde el CRM o la API. Permiso de lectura:
crm:read(«Ver el CRM»).
Citas
appointment.bookedSe agenda una citaDesde la bandeja, un flujo, la IA o la página para reservar. Permiso de lectura:
calendar:read(«Ver las citas»). Filtros:calendar_id.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "appointment.booked", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "appointment": { "id": "f9e8d7c6-b5a4-4938-8271-6f5e4d3c2b1a", "object": "appointment", "calendar": { "id": "e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b", "name": "Cortes" }, "title": "Corte y cepillado", "status": "confirmed", "starts_at": "2026-09-29T15:00:00.000Z", "ends_at": "2026-09-29T16:00:00.000Z", "starts_at_local": "2026-09-29T10:00:00-05:00", "timezone": "America/Bogota", "notes": null, "created_at": "2026-09-26T19:40:00.123Z" } } }appointment.cancelledSe cancela una citaLa cancele quien la cancele. Permiso de lectura:
calendar:read(«Ver las citas»). Filtros:calendar_id.Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "appointment.cancelled", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "team_member", "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e", "name": "Laura" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "appointment": { "id": "f9e8d7c6-b5a4-4938-8271-6f5e4d3c2b1a", "object": "appointment", "calendar": { "id": "e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b", "name": "Cortes" }, "title": "Corte y cepillado", "status": "cancelled", "starts_at": "2026-09-29T15:00:00.000Z", "ends_at": "2026-09-29T16:00:00.000Z", "starts_at_local": "2026-09-29T10:00:00-05:00", "timezone": "America/Bogota", "notes": null, "created_at": "2026-09-26T19:40:00.123Z" } } }appointment.status_changedCambia el estado de una citaLlega prontoSe marca asistió o no asistió, o se vuelve a confirmar. Permiso de lectura:
calendar:read(«Ver las citas»). Filtros:calendar_id.appointment.rescheduledSe cambia de hora una citaLlega prontoSe pasa a otra hora. Permiso de lectura:
calendar:read(«Ver las citas»). Filtros:calendar_id.
Flujos
flow.webhookUn flujo envía un avisoLa acción «Enviar a un webhook» de un flujo. Trae el contacto, el flujo, el bloque, los datos del recorrido y lo que agregaste a mano. Permiso de lectura:
flows:read(«Ver flujos») ycontacts:read(«Ver contactos»).Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "flow.webhook", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "flow", "id": "a1b2c3d4-e5f6-4071-8293-a4b5c6d7e8f9", "name": "Confirmación de pedido" }, "cause": null, "data": { "contact": { "id": "a4f2c0de-8b1e-4c51-9a7a-2f1d9c0b77e1", "object": "contact", "channel": "whatsapp", "first_name": "Ana", "last_name": "Gómez", "full_name": "Ana Gómez", "phone": "+573001234567", "email": "ana@correo.com", "email_verified": false, "whatsapp": { "wa_id": "573001234567", "bsuid": null, "username": null }, "profile_pic_url": null, "locale": null, "timezone": "America/Bogota", "origin": "direct_message", "tags": [ { "id": "b8c9d0e1-f2a3-4b4c-9d5e-6f7a8b9c0d1e", "name": "VIP" } ], "fields": { "Ciudad": "Cali", "Talla": "M" }, "broadcasts_subscribed": true, "broadcasts_opt_out": null, "whatsapp_opt_in": null, "email_unsubscribed": false, "blocked": false, "interactions_count": 12, "has_written": true, "last_inbound_at": "2026-09-26T19:39:58.000Z", "last_outbound_at": "2026-09-26T19:35:10.000Z", "whatsapp_windows": [ { "channel_id": "c7e1b2a3-4d5e-4f60-8a71-b2c3d4e5f607", "open": true, "closes_at": "2026-09-27T19:39:58.000Z" } ], "created_at": "2026-09-01T10:00:00.000Z", "updated_at": "2026-09-26T19:40:00.120Z" }, "flow": { "id": "a1b2c3d4-e5f6-4071-8293-a4b5c6d7e8f9", "name": "Confirmación de pedido" }, "block": { "id": "n_8f2", "name": "Avisar al sistema de pedidos" }, "run_data": { "datos.pedido": "A-1043", "total": "$120.000" }, "global_fields": { "Menú del día": "Bandeja paisa" }, "extra": { "origen": "flujo" } } }
Llamadas
call.receivedEntra una llamadaLlega prontoTe llaman por WhatsApp. Permiso de lectura:
conversations:read(«Leer conversaciones»).call.endedTermina una llamadaLlega prontoCon su duración, quién contestó y el resumen. Permiso de lectura:
conversations:read(«Leer conversaciones»).
Correo
email.status_updatedCambia el estado de un correoLlega prontoEntregado, rebotado, bloqueado o queja. Permiso de lectura:
conversations:read(«Leer conversaciones»).
Masivos
broadcast.finishedTermina un masivoLlega prontoCon los enviados, entregados, leídos, fallidos y el costo real. Permiso de lectura:
account:read(«Ver la cuenta»).
whatsapp.template_status_updatedCambia el estado de una plantillaLlega prontoAprobada, rechazada con su motivo o pausada. Permiso de lectura:
messages:send(«Enviar mensajes»).
Prueba
pingAviso de pruebaSolo sale con «Probar».
Ver un ejemplo
{ "id": "3f6c2a0e-5b7d-4c1e-9a2f-7d1b0c9e8a41", "object": "event", "type": "ping", "api_version": "v1", "created_at": "2026-09-26T19:40:00.123Z", "account": { "id": "9b1d7c20-3e4f-4a5b-8c6d-0e1f2a3b4c5d", "name": "Peluquería Ana" }, "actor": { "type": "system", "id": null, "name": null }, "cause": null, "data": { "message": "Este es un aviso de prueba: si lo ves, tu sistema recibe bien los avisos." } }
«Se acerca una cita», «Lleva tiempo sin contestar» y «Fecha de un campo» no salen como aviso directo: cada uno depende de cuántas horas antes o después elijas. Se hacen con una regla (Flujos → Reglas) cuya acción sea «Enviar a un webhook».