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.
1. Calificar un lead nuevo con IA
Sección titulada «1. Calificar un lead nuevo con IA»Cuando entra un contacto, la IA decide si es un lead caliente; si lo es, crea una oportunidad y avisa al equipo.
Nodos: Evento CRM → OpenAI → Condición → Oportunidad CRM + Slack.
- Trigger — Evento CRM, evento
contact.created. - Clasificar — OpenAI, operación Clasificar, categorías
caliente, frio. - Ramificar — Condición:
{{nodes.openai.category}}equalscaliente. - Crear oportunidad (rama verdadera) y notificar por Slack.
{ "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: Webhook → Google Calendar (reservar) → WhatsApp.
{ "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.
3. Cobrar con un link de pago
Sección titulada «3. Cobrar con un link de pago»Genera un link de pago con Stripe y lo envía por WhatsApp. Ver la guía completa.
Nodos: Webhook → Stripe → WhatsApp.
{ "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" } ]}4. Recordatorio programado por lotes
Sección titulada «4. Recordatorio programado por lotes»Cada mañana busca oportunidades sin cerrar y envía un recordatorio a cada contacto, recorriendo la lista.
Nodos: Programado → Oportunidad CRM (buscar) → Bucle de lista → WhatsApp.
{ "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" } ]}Siguientes pasos
Sección titulada «Siguientes pasos»- Repasa la construcción paso a paso en Tu primer flujo.
- Consulta cada nodo usado en el catálogo de nodos.