Flow Studio
Ejemplos de flujos
Estos son 4 de las plantillas públicas que ya existen dentro de Flow Studio — no son ejemplos inventados para la documentación. Puedes usarlas directamente sin construir nada:
Si prefieres verlas primero, cada ejemplo de abajo trae también un botón para descargar el JSON e importarlo con Importar flujo desde la librería de Flow Studio.
1. CRM: captura y calificación de leads
Sección titulada «1. CRM: captura y calificación de leads»Crea o actualiza un contacto en el CRM cuando llega un lead (ej. desde un formulario web). Si viene calificado (con email), crea automáticamente una oportunidad en el pipeline; si no, le pide el dato faltante por WhatsApp.
Categoría: Automatización · Nodos: Webhook → Contacto CRM → Condición → Oportunidad CRM + WhatsApp.
- Trigger — Webhook (dispáralo desde tu formulario web o CRM externo).
- Contacto CRM — crea o actualiza el contacto con los datos del trigger (
name,phone,email), origenAUTOMATION. - Condición —
{{nodes.contacto_crm.email}}no está vacío. - Rama verdadera: Oportunidad CRM — crea la oportunidad en el pipeline (defines cuál al configurar el nodo). Rama falsa: WhatsApp — le pide el correo al contacto.
{ "name": "CRM: captura y calificación de leads", "nodes": [ { "id": "trigger", "type": "trigger.webhook", "config": {} }, { "id": "contacto_crm", "type": "crm.contact", "config": { "operation": "create", "name": "{{triggerData.name}}", "phone": "{{triggerData.phone}}", "email": "{{triggerData.email}}", "source": "AUTOMATION", "status": "NEW" } }, { "id": "es_calificado", "type": "logic.condition", "config": { "combineWith": "AND", "conditions": [ { "field": "{{nodes.contacto_crm.email}}", "operator": "is_not_empty", "value": "" } ] } }, { "id": "crear_oportunidad", "type": "crm.opportunity", "config": { "operation": "create", "contactId": "{{nodes.contacto_crm.contactId}}", "pipelineId": "", "name": "Nueva oportunidad — {{triggerData.name}}" } }, { "id": "pedir_email", "type": "action.whatsapp", "config": { "operation": "sendText", "phone": "{{nodes.contacto_crm.phone}}", "message": "Hola {{nodes.contacto_crm.name}}, ¿nos compartes tu correo para darte más información?" } } ], "edges": [ { "from": "trigger", "to": "contacto_crm" }, { "from": "contacto_crm", "to": "es_calificado" }, { "from": "es_calificado", "sourceHandle": "true", "to": "crear_oportunidad" }, { "from": "es_calificado", "sourceHandle": "false", "to": "pedir_email" } ]}2. Agendamiento con Google Calendar
Sección titulada «2. Agendamiento con Google Calendar»Consulta la disponibilidad en un calendario de Google para los próximos días. Si hay slots libres, agenda el primero automáticamente; si no hay ninguno, avisa por WhatsApp que no hay horarios.
Categoría: Integración · Nodos: Webhook → Google Calendar (consultar) → Condición → Google Calendar (agendar) + WhatsApp.
- Trigger — Webhook, recibe
fromDate,toDate,name,email,phone. - Google Calendar (
getAvailability) — consulta slots libres entre09:00y18:00, en bloques de 60 min. - Condición —
{{nodes.consultar_disponibilidad.total}}mayor que0. - Rama verdadera: Google Calendar (
bookEvent) — agenda el primer slot disponible. Rama falsa: WhatsApp — avisa que no hay horarios en ese rango.
{ "name": "Agendamiento con Google Calendar", "nodes": [ { "id": "trigger", "type": "trigger.webhook", "config": {} }, { "id": "consultar_disponibilidad", "type": "integration.google_calendar", "config": { "credentialEmail": "", "calendarId": "primary", "timezone": "America/Bogota", "operation": "getAvailability", "fromDate": "{{triggerData.fromDate}}", "toDate": "{{triggerData.toDate}}", "slotMinutes": 60, "startTime": "09:00", "endTime": "18:00" } }, { "id": "hay_disponibilidad", "type": "logic.condition", "config": { "combineWith": "AND", "conditions": [ { "field": "{{nodes.consultar_disponibilidad.total}}", "operator": "greater_than", "value": 0, "dataType": "number" } ] } }, { "id": "agendar_cita", "type": "integration.google_calendar", "config": { "credentialEmail": "", "calendarId": "primary", "timezone": "America/Bogota", "operation": "bookEvent", "title": "Cita con {{triggerData.name}}", "startDatetime": "{{nodes.consultar_disponibilidad.availableSlots.0.start}}", "endDatetime": "{{nodes.consultar_disponibilidad.availableSlots.0.end}}", "attendees": "{{triggerData.email}}" } }, { "id": "avisar_sin_horarios", "type": "action.whatsapp", "config": { "operation": "sendText", "phone": "{{triggerData.phone}}", "message": "Hola {{triggerData.name}}, por ahora no tenemos horarios disponibles en ese rango de fechas. Te contactaremos para coordinar otra opción." } } ], "edges": [ { "from": "trigger", "to": "consultar_disponibilidad" }, { "from": "consultar_disponibilidad", "to": "hay_disponibilidad" }, { "from": "hay_disponibilidad", "sourceHandle": "true", "to": "agendar_cita" }, { "from": "hay_disponibilidad", "sourceHandle": "false", "to": "avisar_sin_horarios" } ]}3. Stripe: cobro internacional y confirmación
Sección titulada «3. Stripe: cobro internacional y confirmación»Genera un link de pago de Stripe y lo envía al cliente por WhatsApp. Ver también la guía de cobro con link de pago.
Categoría: Integración · Nodos: Webhook → Stripe → WhatsApp.
- Trigger — Webhook, recibe
product,amountCents,phone. - Cobrar con Stripe (
createPaymentLink) — genera el link, monedausdpor defecto. - WhatsApp — envía
{{nodes.cobrar_con_stripe.url}}al cliente.
{ "name": "Stripe: cobro internacional y confirmación", "nodes": [ { "id": "trigger", "type": "trigger.webhook", "config": {} }, { "id": "cobrar_con_stripe", "type": "integration.stripe_flow", "config": { "credentialId": "", "operation": "createPaymentLink", "currency": "usd", "productName": "{{triggerData.product}}", "amount": "{{triggerData.amountCents}}" } }, { "id": "enviar_link", "type": "action.whatsapp", "config": { "operation": "sendText", "phone": "{{triggerData.phone}}", "message": "Aquí está tu link de pago: {{nodes.cobrar_con_stripe.url}}" } } ], "edges": [ { "from": "trigger", "to": "cobrar_con_stripe" }, { "from": "cobrar_con_stripe", "to": "enviar_link" } ]}También existe la variante MercadoPago: cobro y confirmación (misma forma, ideal para cobros en LATAM) — búscala junto a esta en la librería de plantillas.
4. Loop List: envío masivo de WhatsApp desde Sheets
Sección titulada «4. Loop List: envío masivo de WhatsApp desde Sheets»Lee todas las filas de una hoja de Google Sheets (ej. una lista de contactos) y envía un WhatsApp personalizado a cada una, uno por uno. Al terminar, notifica por correo cuántos se enviaron.
Categoría: Automatización · Nodos: Webhook → Google Sheets → Bucle de lista → WhatsApp → Gmail.
- Trigger — Webhook (o dispáralo manualmente cuando quieras lanzar la campaña).
- Google Sheets (
getRows) — trae todas las filas de la hoja. - Bucle de lista — itera
{{nodes.obtener_contactos.rows}}; por cada fila entra porloop. - Dentro del loop: WhatsApp — envía el mensaje a
{{nodes.recorrer_contactos.item.phone}}y vuelve al bucle para procesar el siguiente. - Al terminar todas las filas, sale por
done: Gmail — notifica cuántos mensajes se enviaron.
{ "name": "Loop List: envío masivo de WhatsApp desde Sheets", "nodes": [ { "id": "trigger", "type": "trigger.webhook", "config": {} }, { "id": "obtener_contactos", "type": "integration.google_sheets", "config": { "credentialEmail": "", "spreadsheetId": "", "sheetName": "Sheet1", "operation": "getRows" } }, { "id": "recorrer_contactos", "type": "logic.loop_list", "config": { "arrayPath": "{{nodes.obtener_contactos.rows}}", "batchSize": 0, "maxIterations": 0 } }, { "id": "enviar_whatsapp", "type": "action.whatsapp", "config": { "operation": "sendText", "phone": "{{nodes.recorrer_contactos.item.phone}}", "message": "Hola {{nodes.recorrer_contactos.item.nombre}}, tenemos una novedad para ti 🎉" } }, { "id": "notificar_resumen", "type": "integration.gmail_send", "config": { "credentialEmail": "", "to": "", "subject": "Campaña de WhatsApp completada", "body": "Se enviaron {{nodes.recorrer_contactos.total}} mensajes de WhatsApp desde la hoja de contactos.", "isHtml": false } } ], "edges": [ { "from": "trigger", "to": "obtener_contactos" }, { "from": "obtener_contactos", "to": "recorrer_contactos" }, { "from": "recorrer_contactos", "sourceHandle": "loop", "to": "enviar_whatsapp" }, { "from": "enviar_whatsapp", "to": "recorrer_contactos", "targetHandle": "return" }, { "from": "recorrer_contactos", "sourceHandle": "done", "to": "notificar_resumen" } ]}Otras plantillas públicas
Sección titulada «Otras plantillas públicas»La librería de Flow Studio trae más de 20 plantillas listas para usar, agrupadas por categoría (Automatización, Integración, Datos, Comunicación). Algunas más:
| Plantilla | Categoría | Para qué sirve |
|---|---|---|
| WhatsApp: respuesta automática con IA | Comunicación | Responde mensajes entrantes con Gemini, con tu tono y contexto. |
| Slack: notificar nuevo lead al equipo | Automatización | Crea el contacto y avisa al canal de ventas. |
| Shopify: seguimiento de pedido por WhatsApp | Integración | Consulta el estado de un pedido y avisa al cliente. |
| Reportes automáticos a Google Sheets | Datos | Cron diario que junta datos de una API y arma un reporte. |
| Recordatorio de carrito abandonado | Automatización | Espera 24 h, revisa si compró, y si no, le recuerda por WhatsApp. |
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.