Workflows: automatiza lo que haces todos los días

Un workflow es una receta: cuando pasa X, haz Y. Si te encuentras haciendo lo mismo a mano cada vez que entra un lead o se reserva una cita, eso es un workflow esperando ser creado.

ConvertCore AI tiene un motor deliberadamente simple: 7 triggers, 6 acciones. No es por capricho — es para que el 95% de los casos reales se resuelvan en 5-10 minutos sin tutoriales de 2 horas como en otros CRMs.

El modelo

Cada workflow tiene tres partes:

  1. Trigger: el evento que lo dispara. Uno solo por workflow.
  2. Cadena de acciones: lo que hace ConvertCore cuando dispara, en orden.
  3. Estado: Draft (no corre) o Active (corre cada vez que el trigger ocurre).

Cuando el workflow corre, cada acción se ejecuta secuencialmente. Si una falla, las siguientes se cancelan y queda en el log.

Los 7 triggers

TriggerCuándo disparaCasos típicos
form submittedAlguien envía un formulario específicoConfirmación de intake, asignar lead a comercial
contact createdSe crea un contacto nuevo (cualquier vía)Bienvenida, primera segmentación
tag addedSe aplica un tag específico al contactoCliente se vuelve VIP → mensaje especial
appointment bookedSe reserva una citaConfirmación, recordatorio, follow-up
deal stage changedUn deal cambia de etapaCuando llega a Negociación → notificar a senior
webhook inLlega un POST a un endpoint del workspaceIntegración con sistemas externos
birthdayCumpleaños del contacto (custom field fecha)Felicitación + descuento

Las 6 acciones

AcciónQué hace
send emailEnvía email vía Resend usando una plantilla
send SMS / WhatsAppEnvía SMS o WhatsApp vía Twilio
add tagAgrega un tag al contacto
create dealCrea un deal nuevo en un pipeline / etapa específicos
move deal stageMueve un deal asociado a otra etapa
webhook outEnvía POST con firma a una URL externa

Más una "acción especial":

  • wait: pausa el workflow N minutos / horas / días antes de la siguiente acción.

Paso 1. Crear un workflow

Workflows → Nuevo workflow.

  1. Nombre interno (Confirmación de cita, Recordatorio 24h, etc.).
  2. Trigger: elige uno de los 7. Configúralo (ej. para form submitted, eliges qué formulario).
  3. Construye la cadena de acciones drag-and-drop.
  4. Estado inicial: Draft. Lo cambias a Active cuando esté probado.

Vista del builder

A la izquierda: paleta con triggers (arriba) y acciones (abajo). Al centro: tu workflow como una cadena vertical. Click en cada nodo para configurarlo.

Los triggers se ven amarillos. Las acciones se ven azules. Los wait se ven grises.

Paso 2. Variables dinámicas en mensajes

Cuando una acción manda email/SMS/WhatsApp, la plantilla puede incluir variables del contacto, la cita o el workspace:

Hola {{contact.first_name}},

Tu cita de {{appointment.service}} con {{appointment.staff}} es el {{appointment.date}} a las {{appointment.time}}.

Si necesitas reagendar, responde a este mensaje.

— Equipo {{workspace.name}}

Variables disponibles:

  • contact.*: first_name, last_name, email, phone, custom fields (ej. {{contact.tipo_de_piel}}).
  • appointment.*: service, staff, date, time, calendar, duration. Disponible solo si el trigger es appointment booked o el workflow corre con un appointment en contexto.
  • deal.*: title, value, stage, owner. Disponible si el contexto es un deal.
  • workspace.*: name, primary_color, support_email.

Si una variable no existe, ConvertCore la deja vacía (no error). Pero verifica antes de poner Active.

Paso 3. Los 5 workflows que casi todos necesitan

Si recién empiezas, configura estos cinco. Cubren el 80% del valor.

1. Confirmación de cita inmediata

Trigger: appointment booked

Acciones:

  1. send email → plantilla "Tu cita está confirmada"
  2. send WhatsApp (opcional) → plantilla corta con resumen + link reagendar

2. Recordatorio 24 horas antes

Trigger: appointment booked

Acciones:

  1. wait hasta 24h antes de appointment.start_time
  2. send SMS → "Recordatorio: tu cita es mañana a las {{appointment.time}}. Responde SI para confirmar."
  3. (sin acción adicional — depender de la respuesta queda manual o como otro workflow con tag added: confirmado)

3. Follow-up post-cita

Trigger: appointment booked

Acciones:

  1. wait hasta 2 horas después de appointment.end_time
  2. send email → "Gracias por venir. Aquí van tus próximos pasos: [link reservar de nuevo]"
  3. add tagcliente-activo

4. Captura de lead desde formulario

Trigger: form submitted → formulario Contacto

Acciones:

  1. add taglead-formulario
  2. wait 5 minutes
  3. send email → "Recibimos tu mensaje, te contactamos en 24h"
  4. create deal → pipeline Ventas nuevas, etapa Lead

5. Bienvenida a contacto nuevo

Trigger: contact created

Acciones:

  1. wait 30 minutes
  2. send email → bienvenida con qué hace tu negocio + cómo agendar
  3. add tagbienvenida-enviada

Paso 4. Logs y debug

Workflows → [tu workflow] → Logs. Cada vez que el workflow dispara, ConvertCore registra:

  • Timestamp.
  • Contacto / objeto que disparó.
  • Cada acción ejecutada con su resultado (✅ ok, ❌ failed con razón).
  • Tiempo total.

Útil cuando algo no llega: revisas el log y ves si fue:

  • El trigger no disparó (revisar condiciones).
  • Una acción falló (Resend rate limit, número de WhatsApp inválido).
  • Un wait aún está corriendo.

Ejecutar manualmente

Para probar sin esperar al trigger real, en Workflows → [tu workflow] → Test run. Eliges un contacto manual y dispara el workflow contra ese contacto. Las acciones se ejecutan reales (manda mensajes de verdad — usa un contacto de prueba).

Paso 5. Webhooks

Webhook in

ConvertCore te da una URL única por workflow con trigger webhook in:

POST https://convertcoreai.com/api/public/workflows/in/[token]

Cuando recibes un POST con firma válida (HMAC-SHA256 con secret del workspace), el workflow dispara. El payload del POST llega al workflow como contexto.

Casos: integración con Zapier, Typeform externo, sistema legacy.

Webhook out

La acción webhook out permite que tu workflow notifique a un sistema externo:

POST https://tu-sistema.com/notify
Headers: X-Convertcore-Signature: <hmac>
Body: { contact, event, ... }

ConvertCore firma la request con un secret que tú compartes con el sistema externo, así el receptor verifica que viene de tu workspace.

Paso 6. Activar y monitorear

  1. Activa: cambia estado Draft → Active.
  2. Espera el primer disparo real: deja unos días.
  3. Revisa logs cada semana las primeras 2-3 semanas. Buscas: tasa de éxito, tiempos de ejecución, mensajes fallidos.
  4. Itera: si una acción falla mucho, ajusta plantilla o segmento.

Errores frecuentes

"Activé el workflow y no dispara." Confirma:

  • Estado es Active (no Draft).
  • El trigger es el correcto y bien configurado (ej. form submitted apunta al formulario que sí estás llenando).
  • El log no muestra disparos rechazados.

"Manda los mensajes con {{contact.first_name}} literal." La variable no se está reemplazando. Causas: typo en el nombre de la variable, custom field con slug distinto al que pusiste, o el contacto no tiene ese dato.

"Recordatorio 24h llega tarde." Posible: wait mal configurado (24h fijas en vez de "24h antes de start_time"), zona horaria del workspace mal, o el SMS de Twilio se atrasó. El log te dice el delay real.

"Mi workflow corre dos veces por cita." Tienes dos workflows activos con el mismo trigger. Revisa la lista — solo deja activo uno por caso.

"El cliente respondió 'NO' al recordatorio pero el workflow no canceló la cita." Workflows no leen respuestas entrantes — eso es otro flujo. Para cancelación automática por respuesta, necesitas un workflow con webhook in desde Twilio que reciba la respuesta y dispare cancel appointment (acción que aún no está en el motor de ConvertCore — hoy es manual).

"¿Puedo poner condiciones if/else?" Hoy no hay condicionales explícitos. La forma de tener "ramas" es: workflow A para el caso X, workflow B para el caso Y, disparados por triggers distintos (ej. tag added: vip vs tag added: regular).

Buenas prácticas

  • Empieza con uno. Configura el de confirmación de cita primero, valídalo bien, después suma los demás.
  • Test con contactos de prueba. No actives en frío sobre tus 5,000 contactos reales — un email mal redactado se va a 5,000 inboxes.
  • Plantillas en español neutro. No uses voseo argentino ni mexicanismos si tu base es mixta.
  • Wait con margen. Si un workflow tiene un wait 24h, considera que zona horaria + delay de Twilio pueden mover el timing. No prometas "exactamente a las 9 AM".
  • Limita workflows masivos. Un workflow que escala a 10,000 contactos diarios genera mucho costo de SMS/WA. Plan Starter tiene límites — ver Billing.

Próximos pasos