Ir al contenido

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.

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: WebhookContacto CRMCondiciónOportunidad CRM + WhatsApp.

  1. Trigger — Webhook (dispáralo desde tu formulario web o CRM externo).
  2. Contacto CRM — crea o actualiza el contacto con los datos del trigger (name, phone, email), origen AUTOMATION.
  3. Condición{{nodes.contacto_crm.email}} no está vacío.
  4. 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.
crm-captura-leads.json
{
"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" }
]
}

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: WebhookGoogle Calendar (consultar) → Condición → Google Calendar (agendar) + WhatsApp.

  1. Trigger — Webhook, recibe fromDate, toDate, name, email, phone.
  2. Google Calendar (getAvailability) — consulta slots libres entre 09:00 y 18:00, en bloques de 60 min.
  3. Condición{{nodes.consultar_disponibilidad.total}} mayor que 0.
  4. Rama verdadera: Google Calendar (bookEvent) — agenda el primer slot disponible. Rama falsa: WhatsApp — avisa que no hay horarios en ese rango.
agendamiento-google-calendar.json
{
"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: WebhookStripeWhatsApp.

  1. Trigger — Webhook, recibe product, amountCents, phone.
  2. Cobrar con Stripe (createPaymentLink) — genera el link, moneda usd por defecto.
  3. WhatsApp — envía {{nodes.cobrar_con_stripe.url}} al cliente.
stripe-cobro.json
{
"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: WebhookGoogle SheetsBucle de listaWhatsAppGmail.

  1. Trigger — Webhook (o dispáralo manualmente cuando quieras lanzar la campaña).
  2. Google Sheets (getRows) — trae todas las filas de la hoja.
  3. Bucle de lista — itera {{nodes.obtener_contactos.rows}}; por cada fila entra por loop.
  4. Dentro del loop: WhatsApp — envía el mensaje a {{nodes.recorrer_contactos.item.phone}} y vuelve al bucle para procesar el siguiente.
  5. Al terminar todas las filas, sale por done: Gmail — notifica cuántos mensajes se enviaron.
loop-whatsapp-sheets.json
{
"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" }
]
}

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:

PlantillaCategoríaPara qué sirve
WhatsApp: respuesta automática con IAComunicaciónResponde mensajes entrantes con Gemini, con tu tono y contexto.
Slack: notificar nuevo lead al equipoAutomatizaciónCrea el contacto y avisa al canal de ventas.
Shopify: seguimiento de pedido por WhatsAppIntegraciónConsulta el estado de un pedido y avisa al cliente.
Reportes automáticos a Google SheetsDatosCron diario que junta datos de una API y arma un reporte.
Recordatorio de carrito abandonadoAutomatizaciónEspera 24 h, revisa si compró, y si no, le recuerda por WhatsApp.