🔧 Bikans Asesores — Workflow Templates
10 workflows aplicables (subconjunto del catálogo base de 13). Armar a mano en GHL Automation → Workflows, en Draft. La API no crea la lógica interna.
Fuera de alcance (3 del catálogo base): WF3 (descalificado por sistema — redundante con WF2/WF7) · WF4 (descalificado + pixel — requiere Google Ads) · WF13 (conversiones Google Ads — borrador, requiere crear conversiones primero). Documentados para una fase futura.
WF1 — Actualizar estado cuando IA agenda reunión
Cuando el bot agenda la videollamada, avanza la oportunidad. Invocado por el bot (acción "Activar flujo de trabajo" → "Mover a Oportunidad"). Sin trigger nativo.
⚡ TRIGGER Invocado por el bot (acción "Mover a Oportunidad") — sin trigger nativo
→ Update Contact Field: bot_status = "cita_agendada"
→ Add/Remove Contact Tag: + ia-qualified, + appointment-scheduled, − qualifying
→ Update Opportunity: mover a etapa Llamada Agendada
→ Send Internal Notification: "{{contact.name}} agendó videollamada de diagnóstico vía IA"
■ END
WF2 — Actualizar estado cuando IA descalifica
Cuando el bot cierra con salida suave (TIPO A/B), mueve a Lost con motivo. Invocado por el bot (acción "No encaja"). Sin trigger nativo.
⚡ TRIGGER Invocado por el bot (acción "No encaja") — sin trigger nativo
🔀 IF / ELSE ¿qué tipo de salida?
TIPO A → tag dq-budget-too-low · TIPO B → tag dq-wrong-profile
→ Add/Remove Contact Tag: + ia-disqualified, + dq-*, + stop-bot
→ Update Contact Field: disqualification_reason = "TIPO A/B — descripción"
→ Update Opportunity: mover a Lost
→ Update conversation AI bot and status: bot Inactive para este contacto
■ END
WF5 — Leads fríos (inactividad)
Marcar como fríos los leads que no avanzan en N días. Usa el trigger real "Stale Opportunities" (por pipeline + etapa), no Scheduler.
⚡ TRIGGER Stale Opportunities — pipeline "Ventas Bikans", etapas "Nuevo Lead" + "En Calificación" (un trigger por etapa)
🔀 CONDITION tag cold NO presente · tag stop-bot NO presente
→ Add/Remove Contact Tag: + cold, + nurturing
→ Update Opportunity: mantener etapa, registrar bot_status = "frio"
→ Go To: WF11 — Seguimiento
■ END
WF6 — Negocio ganado
Cuando un negocio pasa a Won: celebración, onboarding y notificación.
⚡ TRIGGER Opportunity Changed — filtro "In pipeline = Ventas Bikans" + "Estado = Won"
→ Add/Remove Contact Tag: + won, + onboarding-start, − appointment-scheduled, − qualifying
→ Send Internal Notification: "🎉 {{contact.company}} ganado"
→ Send WhatsApp: mensaje de bienvenida/gracias
→ Add Task: "Llamada de kickoff con {{contact.name}}"
■ END
WF7 — Negocio perdido
Manejar deals perdidos con gracia (no vía descalificación).
⚡ TRIGGER Opportunity Changed — filtro "Estado = Lost"
🔀 CONDITION tag ia-disqualified NO presente (para no pisar WF2)
→ Add/Remove Contact Tag: + lost
→ Update Opportunity Field: registrar motivo de pérdida
→ Go To: WF11 — Seguimiento (si es rescatable)
■ END
WF8 — Duplicar info de contacto a oportunidad
Copiar campos clave al crear la oportunidad. Regla inviolable: "Allow Duplicate Opportunity = NO" + "Allow Re-Entry = ON".
⚡ TRIGGER Opportunity Created
→ Create/Update Opportunity (combinada) — sección "Campos":
company_name → opportunity.company_name
email → opportunity.email
necesidad_principal → opportunity.bot_conversation_summary
Allow Duplicate Opportunity = NO
→ Add/Remove Contact Tag: + bot-created
■ END
⚠️ Incidente conocido: usar "Create" en vez de "Update" crea oportunidades duplicadas. Usar la combinada con Allow Duplicate = NO.
WF9 — Recordatorio de reunión
Enviar recordatorio por WhatsApp antes de la cita.
⚡ TRIGGER Appointment Status — filtro "Appointment status = confirmed" + "In calendar = Diagnóstico Contable Gratuito — Bikans"
⏱ WAIT "Until a scheduled date/time" → "Appointment/calendar event" → "Before" 24h (fallback: skip outbound si la fecha ya pasó)
→ Send WhatsApp: template recordatorio_24h
→ Add/Remove Contact Tag: + meeting-reminder-sent
■ END
WF10 — Desactivar IA al descalificar
Detener el bot para leads descalificados.
⚡ TRIGGER Contact Tag — ia-disqualified
→ Update conversation AI bot and status: bot Inactive para este contacto
→ Add/Remove Contact Tag: + stop-bot
→ Update Contact Field: bot_status = "no_encaja"
■ END
WF11 — Seguimiento leads (72h+)
Re-enganchar leads que no respondieron. Invocado por el bot (último toque del Seguimiento automático) o por WF5/WF7.
⚡ TRIGGER Invocado por el bot (último toque del follow-up) o Go To desde WF5/WF7
→ Send WhatsApp: template seguimiento_3_dias
⏱ WAIT "Until the contact replies" (rama nativa: reply / timeout)
reply → notificar + fin
timeout → continuar
→ Send Email: template seguimiento_dia_5
⏱ WAIT "Until the contact replies"
→ Add Task: llamar a {{contact.name}}
→ Add/Remove Contact Tag: + no-reply (tras el último timeout)
■ END
WF12 — Creación de leads (multicanal)
Un lead entra por varios canales y todos terminan en la misma lógica: tag de origen → asignar → activar bot → crear oportunidad.
⚡ TRIGGER múltiple (mergeado): Customer Replied (WhatsApp) + Form Submitted + Facebook Lead Form Submitted
🔀 CONDITION/FORK N ramas nombradas por "Workflow trigger" (origen del lead)
Rama WhatsApp → tag source-whatsapp
Rama Form → tag source-form
Rama Facebook→ tag source-facebook
→ Assign to User: round-robin (Paola) — "only apply to unassigned contacts"
→ Update conversation AI bot and status: bot Active (para arrancar el bot)
→ Create Opportunity: pipeline "Ventas Bikans", etapa "Nuevo Lead"
→ Add Owner to Opportunity
■ END
⚠️ Localización de la UI: los nombres de trigger/action están verificados en inglés. En una cuenta en español, GHL muestra "La oportunidad ha cambiado" (Opportunity Changed), "Contacto tag", "Contacto created", etc. Si hay duda, pedir screenshot del picker antes de confirmar un nombre.