Ir al contenido

Ejemplos de flujos

Cuatro flujos reales, explicados paso a paso y con su estructura de exportación (nodos y conexiones). Puedes construirlos visualmente siguiendo los pasos, o usar el JSON como referencia de la forma que tiene un flujo.

Cuando entra un contacto, la IA decide si es un lead caliente; si lo es, crea una oportunidad y avisa al equipo.

Nodos: Evento CRMOpenAICondiciónOportunidad CRM + Slack.

  1. Trigger — Evento CRM, evento contact.created.
  2. Clasificar — OpenAI, operación Clasificar, categorías caliente, frio.
  3. Ramificar — Condición: {{nodes.openai.category}} equals caliente.
  4. Crear oportunidad (rama verdadera) y notificar por Slack.
flujo-calificar-lead.json
{
"name": "Calificar lead nuevo",
"nodes": [
{
"id": "trigger",
"type": "trigger.crm_event",
"config": { "eventGroups": [{ "eventType": "contact.created" }] }
},
{
"id": "clasificar",
"type": "ai.openai",
"config": {
"operation": "classify",
"prompt": "Clasifica este lead:\nNombre: {{triggerData.contact.name}}\nMensaje: {{triggerData.contact.notes}}",
"categories": "caliente, frio"
}
},
{
"id": "es_caliente",
"type": "logic.condition",
"config": {
"combineWith": "AND",
"conditions": [
{ "field": "{{nodes.clasificar.category}}", "operator": "equals", "value": "caliente" }
]
}
},
{
"id": "crear_oportunidad",
"type": "crm.opportunity",
"config": {
"operation": "create",
"contactId": "{{triggerData.contactId}}",
"stageId": "STAGE_ID",
"title": "Lead desde {{triggerData.contact.source}}"
}
},
{
"id": "avisar",
"type": "integration.slack",
"config": {
"operation": "sendMessage",
"channel": "#ventas",
"text": "🔥 Nuevo lead caliente: {{triggerData.contact.name}}"
}
}
],
"edges": [
{ "from": "trigger", "to": "clasificar" },
{ "from": "clasificar", "to": "es_caliente" },
{ "from": "es_caliente", "sourceHandle": "true", "to": "crear_oportunidad" },
{ "from": "crear_oportunidad", "to": "avisar" }
]
}

2. Agendar una cita (herramienta del asistente)

Sección titulada «2. Agendar una cita (herramienta del asistente)»

Un asistente llama a este flujo como herramienta: consulta disponibilidad en Google Calendar, agenda y confirma por WhatsApp.

Nodos: WebhookGoogle Calendar (reservar) → WhatsApp.

flujo-agendar-cita.json
{
"name": "Agendar cita",
"nodes": [
{
"id": "trigger",
"type": "trigger.webhook",
"config": {
"triggerSubType": "webhook",
"parameters": [
{ "origin": "Body", "param": "telefono", "type": "Text", "required": true },
{ "origin": "Body", "param": "inicio", "type": "Text", "required": true }
]
}
},
{
"id": "reservar",
"type": "integration.google_calendar",
"config": {
"operation": "bookEvent",
"credentialEmail": "agenda@empresa.com",
"title": "Cita con {{triggerData.telefono}}",
"startDatetime": "{{triggerData.inicio}}"
}
},
{
"id": "confirmar",
"type": "action.whatsapp",
"config": {
"operation": "sendText",
"phone": "{{triggerData.telefono}}",
"message": "¡Listo! Tu cita quedó agendada. {{nodes.reservar.eventLink}}"
}
}
],
"edges": [
{ "from": "trigger", "to": "reservar" },
{ "from": "reservar", "to": "confirmar" }
]
}

Conéctalo al asistente como herramienta con los parámetros telefono e inicio.

Genera un link de pago con Stripe y lo envía por WhatsApp. Ver la guía completa.

Nodos: WebhookStripeWhatsApp.

flujo-cobro.json
{
"name": "Cobro con link",
"nodes": [
{
"id": "trigger",
"type": "trigger.webhook",
"config": {
"triggerSubType": "webhook",
"parameters": [
{ "origin": "Body", "param": "telefono", "type": "Text", "required": true },
{ "origin": "Body", "param": "monto", "type": "Number", "required": true }
]
}
},
{
"id": "link",
"type": "integration.stripe_flow",
"config": {
"operation": "createPaymentLink",
"productName": "Pago Waiify",
"amount": "{{triggerData.monto}}",
"currency": "usd"
}
},
{
"id": "enviar",
"type": "action.whatsapp",
"config": {
"operation": "sendText",
"phone": "{{triggerData.telefono}}",
"message": "Aquí está tu link de pago: {{nodes.link.url}}"
}
}
],
"edges": [
{ "from": "trigger", "to": "link" },
{ "from": "link", "to": "enviar" }
]
}

Cada mañana busca oportunidades sin cerrar y envía un recordatorio a cada contacto, recorriendo la lista.

Nodos: ProgramadoOportunidad CRM (buscar) → Bucle de listaWhatsApp.

flujo-recordatorio.json
{
"name": "Recordatorio diario",
"nodes": [
{
"id": "cada_manana",
"type": "trigger.webhook",
"config": { "triggerSubType": "schedule", "cronExpression": "0 8 * * 1-5", "timezone": "America/Bogota" }
},
{
"id": "buscar",
"type": "crm.opportunity",
"config": { "operation": "find", "status": "OPEN", "limit": 100 }
},
{
"id": "recorrer",
"type": "logic.loop_list",
"config": { "arrayPath": "{{nodes.buscar.opportunities}}" }
},
{
"id": "recordar",
"type": "action.whatsapp",
"config": {
"operation": "sendTemplate",
"phone": "{{nodes.recorrer.item.contact.phone}}",
"templateId": "recordatorio_seguimiento"
}
}
],
"edges": [
{ "from": "cada_manana", "to": "buscar" },
{ "from": "buscar", "to": "recorrer" },
{ "from": "recorrer", "sourceHandle": "loop", "to": "recordar" }
]
}