Blueprint operativo · v1 · 09 may 2026

Blueprint Bot Athena
para GAM Odontología

Lo que se pega en GHL — pipeline, custom fields, workflows, prompt y bot actions. Útil también como template replicable para futuros clientes.

Pipeline · 8 etapas 9 custom fields 12 custom values 8 workflows 4 handoffs 3 KBs 7 plantillas Meta Doble entrega · UI + AI Builder ~$124.50 USD/mes

01 · Pipeline

Estructura del pipeline

8 etapas en español · zona bot (01) · zona humana (02-05) · cierre ganado (06) · cierre con alerta (07) · lead perdido (08). El motivo del handoff se trackea por el custom field handoff_motivo, no por tags ni sub-etapas.

PIPELINE — 8 etapas

scroll →

01

Lead nuevo

WF1 · activa Bot Athena ⏰ Inmediato → conversación
campana_origen tipo_tratamiento motivo_consulta

Lead entró por WhatsApp. WF1 lo agrega al pipeline, manda saludo y activa al bot. El bot conversa, identifica vertical (general / armonización / implantología) y responde FAQs con la KB. El lead se queda acá hasta que el bot dispara handoff.

02

Lead levanta la mano

WF2-5 · bisagra bot → humano ⏰ Inmediato · alerta a Athena
handoff_motivo

El bot detectó intención de agendar, foto entrante, gap de KB o pedido explícito de humano. Disparó el WF correspondiente, asignó a Athena humana y se desactivó. Motivo guardado en CF handoff_motivo.

03

Fecha ofrecida

Athena humana propone ⏰ 24 h

Athena humana ofrece dos opciones de horario. Movimiento manual. Lead elige cuál le queda mejor.

04

Seña enviada

WF7 · trigger stage 04 🎯 Filtro calificación ⏰ 24 h
alias_enviado_at

Lead califica si paga seña $20.000 (50% de $40k). Vía alias o presencial. Si no paga en 24h se notifica a Athena humana.

05

Turno confirmado

Movimiento manual · Athena ⏰ Hasta el turno

Pago confirmado. Athena pasa la dirección exacta de la clínica acá, no antes. Recordatorios pre-turno son upgrade post-v0.

06

Consulta + diagnóstico

✅ Cierre · ganado ⏰ —

Visita presencial: evaluación + tomografía → recién acá hay presupuesto real. Cierre del pipeline de captación.

07

Lead no asiste a la visita

⚠️ Pagó pero no vino ⏰ Día post-turno

Lead pagó la seña pero no se presentó al turno. Pierde la seña pero hubo intención real. Posible recuperación con re-engagement futuro.

08

Lead caído

❌ Cierre · perdido ⏰ —

Lead abandonó en cualquier etapa anterior (sin pagar seña, sin coordinar fecha, no respondió follow-ups). Cierre negativo del pipeline.

Zona Bot · automática
Zona humana · Athena
Cierre · ganado
Cierre · alerta
Cierre · perdido

02 · Lead levanta la mano · cómo se trackea el motivo

La etapa 02 es plana — no tiene sub-etapas. El motivo del handoff se distingue por el custom field handoff_motivo. Eso permite filtrar y reportar sin saturar el kanban.

A

Agendar

handoff_motivo = agendar

Paciente quiere coordinar turno. → WF2

B

Imagen

handoff_motivo = imagen

Mandó foto / video clínico. → WF3

C

No Sé

handoff_motivo = no_se

Bot no encontró respuesta en KB. → WF4

D

Pedido humano

handoff_motivo = pedido_humano

Pidió hablar con persona / dolor agudo. → WF5

02 · Campos personalizados

Custom Fields

Carpeta dedicada INFORMACIÓN DEL BOT · todos los CFs en TEXT (single line) sin dropdowns. Sin sistema de tags — todo se trackea por custom fields y etapa del pipeline.

6 custom fields · carpeta "INFORMACIÓN DEL BOT"

Field Name (UI) Field Key Tipo Uso
Tipo Tratamiento contact.tipo_tratamiento TEXT Captura del bot · usado por WF de routing
Motivo Consulta contact.motivo_consulta TEXT Captura del bot · contexto para Athena humana
Urgencia contact.urgencia TEXT Captura del bot · prioriza handoff
Handoff Motivo contact.handoff_motivo TEXT Por qué se hizo handoff (4 valores)
Campaña Origen contact.campana_origen TEXT Opcional · origen del contacto (referido / orgánico). Sin uso obligatorio en v0.
Alias Enviado At contact.alias_enviado_at TEXT Timestamp de cuándo Athena humana mandó el alias

Captura automática: GHL llena contact.first_name, email y phone sin necesidad de Add Contact Info. Por eso solo configuramos los 6 fields de arriba.

Valores que toma contact.handoff_motivo

El bot escribe uno de estos 4 valores en el CF cuando dispara handoff. Eso reemplaza el sistema de tags — el motivo se filtra y reporta directo desde el custom field.

agendar imagen no_se pedido_humano

03 · Automatizaciones

Automatizaciones · pipeline y bot

Primero el mapeo de qué sucede en cada etapa del pipeline y qué workflow se activa. Después los 7 workflows en detalle, con configuración manual paso a paso (UI) y prompt para el Workflow AI Builder.

3.1 · Pipeline → Workflows · qué se activa en cada etapa

Las 8 etapas del pipeline con la descripción de qué sucede dentro y qué workflow se dispara para entrar o salir de ella. Click en el WF para saltar al detalle.

01

Lead nuevo

Zona bot

El paciente escribió por WhatsApp. WF1 lo detecta como contacto nuevo (con first_name vacío), lo agrega al pipeline acá, manda el saludo de bienvenida y activa el bot. El lead se queda en esta etapa mientras el bot conversa — captura tipo_tratamiento, motivo_consulta, responde FAQs con la KB. WF6 corre en background midiendo silencios y mandando follow-ups a 2h y 24h.

Cómo entra

Trigger Customer Replied de WF1

Workflows activos

WF1 (entrada) · WF6 (follow-up)

Cómo sale

02 via WF2/3/4/5 · o → 08 manual si cae

02

Lead levanta la mano

Bisagra · bot → humano 4 motivos por CF

El bot detectó una de las 4 condiciones de handoff (agendar / imagen / no sé / pedido humano) y disparó el Trigger Workflow correspondiente. El WF mueve la etapa, asigna a Athena humana, escribe el motivo en el custom field, desactiva el bot y manda notificación interna. No hay sub-etapas físicas — el motivo se trackea por el custom field handoff_motivo.

Cómo entra

Bot Action Trigger Workflow · 4 condiciones

Workflows activos

WF2 · WF3 · WF4 · WF5

Cómo sale

03 manual (Athena humana ofrece fecha) · o → 08 si lead se cae

03

Fecha ofrecida

Zona humana

Athena humana le propuso al paciente 2 horarios concretos (mañana / tarde, o dos días distintos) y espera confirmación. El paciente puede tardar minutos o días en decidir. Movimiento manual — no hay WF acá, el bot está inactive.

Cómo entra

Manual · Athena mueve la etapa al ofrecer horarios

Workflow activo

Ninguno · bot inactive · espera respuesta

Cómo sale

04 manual · Athena mueve la etapa al mandar el alias · o → 08 si no responde

04

Seña enviada

Zona humana 🎯 Filtro calificación

Athena humana le mandó al paciente el alias bancario para pagar la seña ($20.000 · 50% de la consulta) y movió la etapa a 04. WF7 dispara: marca el timestamp en alias_enviado_at y arranca un Wait Step de 24h. Si Athena ya movió la etapa a 05 (porque cobró) → end. Si la etapa sigue en 04 → notificación interna para que Athena haga seguimiento.

Cómo entra

Trigger Pipeline Stage Changed → 04 · Athena mueve manual

Workflow activo

WF7 · Seña enviada

Cómo sale

05 manual cuando Athena cobra · o → 08 si no paga en 24h

05

Turno confirmado

Zona humana

El paciente pagó la seña. Athena humana le confirma el turno y le manda la dirección exacta de la clínica (recién acá, no antes). Esta etapa dura hasta el día del turno presencial. Recordatorios automáticos pre-turno son upgrade post-v0.

Cómo entra

Manual · Athena mueve la etapa al confirmar el pago de la seña

Workflow activo

Ninguno en v0 · futuro: WF de recordatorios pre-turno

Cómo sale

06 si vino · → 07 si no asistió

06

Consulta + diagnóstico

✅ Cierre · ganado

El paciente vino a la clínica, se hizo evaluación y tomografía. Recién acá hay presupuesto real del tratamiento. Cierre ganado del pipeline de captación; lo que sigue (decisión de tratamiento, plan de pago, ejecución) está fuera del scope v0.

Cómo entra

Manual · al concretar la visita presencial

Workflow activo

Ninguno · cierre del flujo de captación

Cómo sale

End · pipeline de tratamiento (futuro)

07

Lead no asiste a la visita

⚠️ Cierre · alerta

El paciente pagó la seña pero no se presentó al turno. Pierde la seña pero hubo intención real de venir. Es un lead recuperable — vale la pena seguimiento manual o secuencia de re-engagement (no en v0).

Cómo entra

Manual · Athena lo mueve día post-turno · o WF futuro de no-show

Workflow activo

Ninguno en v0 · futuro: WF de re-engagement no-show

Cómo sale

End · o re-entry al pipeline si se recupera

08

Lead caído

❌ Cierre · perdido

Lead que abandonó en cualquier etapa anterior antes de llegar al turno: no respondió follow-ups, dijo que no le interesa, no coordinó fecha, no pagó la seña en 24h, etc. Cierre negativo del pipeline. Sirve para reportar tasa de caída por etapa.

Cómo entra

Manual · Athena lo descarta · o WF futuro automático tras X días sin respuesta

Workflow activo

Ninguno en v0 · futuro: WF de auto-caída por inactividad

Cómo sale

End · pipeline cerrado

Resumen · qué WF mueve qué etapa

Workflow Mueve de A Disparador
WF1→ 01 · Lead nuevoCustomer Replied · WhatsApp · first_name vacío
WF20102 · Lead levanta la mano + CF handoff_motivo = agendarBot Action handoff Agendar
WF30102 · Lead levanta la mano + CF handoff_motivo = imagenBot Action handoff Imagen
WF40102 · Lead levanta la mano + CF handoff_motivo = no_seBot Action handoff No Sé
WF50102 · Lead levanta la mano + CF handoff_motivo = pedido_humanoBot Action handoff Pedido Humano
WF6No mueve etapaCustomer Replied · 2h y 24h
WF70304 · Seña enviada · timer 24h + notif si no avanza a 05Pipeline Stage Changed → 04

3.2 · Workflows del bot · doble entrega

Los 7 workflows en detalle. Cada card tiene configuración manual paso a paso (UI) + prompt para el Workflow AI Builder. Click para expandir.

7 workflows · Customer Replied · 2 Bot Action · 4 Stage Changed · 1
WF1

Lead nuevo entrante + activa bot ia

Customer Replied Channel: WhatsApp

Detecta mensaje entrante de WhatsApp de un contacto sin nombre → manda saludo de bienvenida → activa bot Athena. El bot tiene Initial Message vacío justamente porque acá se manda el saludo.

A · Configuración manual UI

Workflow NameWF1 · Lead nuevo entrante + activa bot ia
TriggerCustomer Replied
Trigger FiltersChannel = WhatsApp (único canal del bot)
Step 1 — If/ElseCondición: contact.first_name está vacío. Si vacío → lead nuevo · si tiene nombre → paciente existente, salir del WF (no activar bot)
Step 2 — Add to PipelinePipeline: Pipeline GAM · Stage: 01 · Lead nuevo
Step 3 — Send WhatsApp TemplateTemplate: bienvenida_al_lead_nuevo · Vars: {{1}} = {{location.name}} · {{2}} = {{user.first_name}} · ver bloque C abajo
Step 4 — Wait30 segundos (le da tiempo al paciente para leer y empezar a responder)
Step 5 — Update Conversation AI Bot and StatusBot: Athena · GAM · Status: Active

ℹ️ El lead se queda en 01 · Lead nuevo mientras el bot conversa. Pasa a 02 · Lead levanta la mano recién cuando el bot dispara handoff (WF2-5).

B · Prompt para Workflow AI Builder

Crea un workflow llamado WF1 · Lead nuevo entrante + activa bot ia. El trigger es Customer Replied con filtro de channel WhatsApp, único canal por donde opera el bot. El primer paso es un If/Else que evalúa si el contacto tiene first_name vacío: si está vacío continúa el flujo (es lead nuevo), si tiene nombre termina el workflow (es paciente existente, no debe activarse el bot). Agrega el contacto al pipeline llamado Pipeline GAM en la etapa 01 · Lead nuevo. Envía un Send WhatsApp Template usando la plantilla bienvenida_al_lead_nuevo a {{contact.phone}}, mapeando la variable {{1}} a {{location.name}} y la variable {{2}} a {{user.first_name}}. Espera 30 segundos. Por último ejecuta la acción Update Conversation AI Bot and Status seleccionando el bot Athena · GAM y status Active. El propósito es activar al bot Athena solo para contactos nuevos que escriben por WhatsApp, evitando que se active para pacientes regulares que ya están en el CRM. El lead queda en la etapa 01 · Lead nuevo mientras el bot conversa, recién pasa a 02 · Lead levanta la mano cuando el bot dispara un handoff vía WF2 a WF5.

C · Plantilla WhatsApp API · bienvenida_al_lead_nuevo

─────────────────────────────────────
PLANTILLA WHATSAPP API
─────────────────────────────────────
Nombre: bienvenida_al_lead_nuevo
Categoría: Utility
Idioma: Español

Cuerpo:
Hola, gracias por contactarte con {{1}}. ¿Con quién tengo el gusto de hablar? Contame en qué te puedo ayudar.

Te saluda {{2}}.

Variables:
{{1}} = {{location.name}} | Ejemplo: "Clínica GAM"
{{2}} = {{user.first_name}} | Ejemplo: "Athena"
─────────────────────────────────────
WF2

Handoff Agendar

Bot Action → Athena humana

Cuando bot detecta intención de agendar → mover etapa pipeline → asignar a Athena humana → notificarle por interno → desactivar bot.

A · Configuración manual UI

Workflow NameWF2 · Handoff Agendar
TriggerWorkflow Triggered from Bot Action (lo dispara Trigger Workflow #1 del bot)
Step 1 — Move Pipeline StageStage: 02 · Lead levanta la mano
Step 2 — Update Custom FieldField: Handoff Motivo · Value: agendar
Step 3 — Assign UserUser: Athena (humana) · todos los mensajes futuros le notifican a ella
Step 4 — Update Conversation AI Bot and StatusBot: Athena · GAM · Status: Inactive
Step 5 — Internal NotificationTitle: 🎯 Lead quiere agendar · Body: {{contact.first_name}} ({{contact.phone}}) quiere sacar turno. Tipo: {{contact.tipo_tratamiento}}. Motivo: {{contact.motivo_consulta}}. Urgencia: {{contact.urgencia}}.

B · Prompt para Workflow AI Builder

Crea un workflow llamado WF2 · Handoff Agendar. El trigger es Workflow Triggered from Bot Action, ya que se dispara desde un Bot Action del bot Athena · GAM cuando detecta intención de agendar. El primer paso es mover la etapa del pipeline a 02 · Lead levanta la mano. Después actualiza el custom field Handoff Motivo con el valor agendar, este custom field distingue el motivo del handoff dentro de la etapa 02 (que es plana, sin sub-etapas físicas). El paso siguiente es Assign User asignando el contacto al usuario Athena humana, para que todos los mensajes futuros le lleguen como notificación a ella. Después ejecuta Update Conversation AI Bot and Status para desactivar el bot Athena · GAM seleccionando status Inactive, así el bot deja de responder y la conversación queda libre para que Athena humana tome el control. Por último envía una notificación interna a Athena humana con el título Lead quiere agendar y el body con el nombre, teléfono, tipo de tratamiento, motivo de consulta y urgencia del contacto, usando los custom fields. El propósito es ejecutar el handoff completo del bot a la humana cuando un paciente quiere coordinar turno.
WF3

Handoff Imagen

Bot Action Riesgo médico-legal

Cuando bot recibe imagen → handoff inmediato a humana porque imágenes clínicas requieren ojo profesional. El bot no las interpreta nunca.

A · Configuración manual UI

Workflow NameWF3 · Handoff Imagen
TriggerWorkflow Triggered from Bot Action
Step 1 — Move Pipeline StageStage: 02 · Lead levanta la mano
Step 2 — Update Custom FieldField: Handoff Motivo · Value: imagen
Step 3 — Assign UserUser: Athena (humana)
Step 4 — Update Conversation AI Bot and StatusBot: Athena · GAM · Status: Inactive
Step 5 — Internal NotificationTitle: 📷 Paciente envió foto · Body: {{contact.first_name}} ({{contact.phone}}) envió una imagen. Revisar y responder. Tipo: {{contact.tipo_tratamiento}}.

B · Prompt para Workflow AI Builder

Crea un workflow llamado WF3 · Handoff Imagen. El trigger es Workflow Triggered from Bot Action, se dispara desde el bot Athena · GAM cuando un paciente envía una foto, imagen o video clínico. El primer paso mueve la etapa del pipeline a 02 · Lead levanta la mano. Después actualiza el custom field Handoff Motivo con el valor imagen, este custom field distingue que el motivo del handoff fue una imagen clínica. El paso siguiente asigna el contacto al usuario Athena humana mediante Assign User para que pueda revisar la imagen. Después ejecuta Update Conversation AI Bot and Status desactivando el bot Athena · GAM con status Inactive porque las imágenes clínicas requieren evaluación profesional y el bot no debe interpretarlas. Finalmente envía una notificación interna a Athena humana con título Paciente envió foto y body que incluye el nombre del contacto, teléfono y tipo de tratamiento, indicándole que debe revisar la imagen y responder. El propósito es derivar inmediatamente cualquier imagen entrante a la humana porque hay riesgo médico-legal de que el bot interprete fotos clínicas.
WF4

Handoff No Sé

Bot Action Mejora iterativa de KB

Cuando bot no encuentra respuesta en KB → handoff a humana para que responda y de paso para que el equipo identifique gap de KB. Doble propósito: no perder el lead + iterar la KB.

A · Configuración manual UI

Workflow NameWF4 · Handoff No Sé
TriggerWorkflow Triggered from Bot Action
Step 1 — Move Pipeline StageStage: 02 · Lead levanta la mano
Step 2 — Update Custom FieldField: Handoff Motivo · Value: no_se (filtrable por reporte para detectar gaps de KB)
Step 3 — Assign UserUser: Athena (humana)
Step 4 — Update Conversation AI Bot and StatusBot: Athena · GAM · Status: Inactive
Step 5 — Internal NotificationTitle: ❓ Bot no supo responder · Body: {{contact.first_name}} ({{contact.phone}}) hizo una pregunta que el bot no supo responder. Revisar conversación y considerar agregar a Knowledge Base.

B · Prompt para Workflow AI Builder

Crea un workflow llamado WF4 · Handoff No Sé. El trigger es Workflow Triggered from Bot Action, se dispara desde el bot Athena · GAM cuando el bot no encuentra respuesta en la Knowledge Base. El primer paso mueve la etapa del pipeline a 02 · Lead levanta la mano. Después actualiza el custom field Handoff Motivo con el valor no_se, este custom field sirve para identificar conversaciones donde el bot tuvo gaps de conocimiento y filtrar reportes para mejorar la Knowledge Base con el tiempo. Asigna el contacto al usuario Athena humana mediante Assign User. Ejecuta Update Conversation AI Bot and Status desactivando el bot Athena · GAM con status Inactive. Finalmente envía notificación interna a Athena humana con título Bot no supo responder y body que incluye nombre, teléfono y un recordatorio de revisar la conversación y considerar agregar la pregunta a la Knowledge Base. El propósito doble es: derivar al lead a humana para no perderlo, y generar visibilidad sobre gaps de KB para mejorarla iterativamente.
WF5

Handoff Pedido Humano

Bot Action 🔥 Prioritario

Paciente pide explícitamente humano o expresa urgencia/dolor → handoff inmediato, prioritario. La notificación queda marcada como prioritaria si urgencia = urgente.

A · Configuración manual UI

Workflow NameWF5 · Handoff Pedido Humano
TriggerWorkflow Triggered from Bot Action
Step 1 — Move Pipeline StageStage: 02 · Lead levanta la mano
Step 2 — Update Custom FieldField: Handoff Motivo · Value: pedido_humano
Step 3 — Assign UserUser: Athena (humana)
Step 4 — Update Conversation AI Bot and StatusBot: Athena · GAM · Status: Inactive
Step 5 — Internal NotificationTitle: 🔥 Paciente pide humano · Body: {{contact.first_name}} ({{contact.phone}}) pidió hablar con persona. Urgencia: {{contact.urgencia}}. Atender lo antes posible. · Mark as priority

B · Prompt para Workflow AI Builder

Crea un workflow llamado WF5 · Handoff Pedido Humano. El trigger es Workflow Triggered from Bot Action, se dispara desde el bot Athena · GAM cuando un paciente pide explícitamente hablar con una persona, expresa frustración con el chat, o menciona urgencia médica o dolor agudo. El primer paso mueve la etapa del pipeline a 02 · Lead levanta la mano. Después actualiza el custom field Handoff Motivo con el valor pedido_humano. Asigna el contacto al usuario Athena humana mediante Assign User. Ejecuta Update Conversation AI Bot and Status desactivando el bot Athena · GAM con status Inactive. Finalmente envía una notificación interna marcada como prioritaria a Athena humana con título Paciente pide humano y body que incluye nombre, teléfono y nivel de urgencia (leyendo el custom field urgencia), indicándole que debe atender lo antes posible. El propósito es responder lo más rápido posible a pacientes que muestran fricción o urgencia, evitando que el bot insista cuando el lead ya rechazó la interacción automatizada.
WF6

Auto follow-up bot Athena · 2h y 24h

Customer Replied Mecanismo de seguimiento de AL

Si el paciente deja de responder mientras el bot está activo → bot vuelve a contactarlo a las 2 horas y a las 24 horas. Esta es la implementación de seguimiento automático para AL — alternativa al feature nativo del bot (ver §4.9).

A · Configuración manual UI

Workflow NameWF6 · Auto follow-up bot Athena
TriggerCustomer Replied · Channel: WhatsApp
Trigger Filterscontact.handoff_motivo está vacío (NO disparar si ya se hizo handoff a humana)
Step 1 — If/ElseCondition: Conversation AI Bot Status = Active. Si no está activo, end
Step 2 — Wait StepWait for 2 hours OR Customer Replied
Step 3 — If/Else¿el paciente respondió en las últimas 2h? Si SÍ → end · si NO → continuar
Step 4 — Send WhatsApp TemplateTemplate: seguimiento_2h_bot_atena · Vars: {{1}} = {{contact.first_name}} · {{2}} = {{user.first_name}} · ver bloque C abajo
Step 5 — Wait StepWait for 22 hours OR Customer Replied (total: 2h + 22h = 24h desde el último mensaje)
Step 6 — If/Else¿respondió? Si SÍ → end · si NO → continuar
Step 7 — Send WhatsApp TemplateTemplate: seguimiento_24h_bot_atena · Vars: {{1}} = {{contact.first_name}} · {{2}} = {{user.first_name}} · ver bloque C abajo

B · Prompt para Workflow AI Builder

Crea un workflow llamado WF6 · Auto follow-up bot Athena. El trigger es Customer Replied con filtro de canal WhatsApp y un filtro adicional que excluye contactos cuyo custom field handoff_motivo no esté vacío, porque si ya se hizo handoff a la humana el follow-up automático no aplica. El primer paso es un If/Else que evalúa si el bot Athena · GAM está en status Active para ese contacto: si no está activo termina el workflow. Si está activo, agrega un Wait Step de 2 horas con la opción de salir si el cliente responde. Después de las 2 horas, evalúa con un If/Else si el paciente respondió: si respondió termina el workflow porque la conversación volvió a activarse, si no respondió continúa. Envía un Send WhatsApp Template usando la plantilla seguimiento_2h_bot_atena a {{contact.phone}} mapeando {{1}} a {{contact.first_name}} y {{2}} a {{user.first_name}}. Después agrega un nuevo Wait Step de 22 horas con salida si responde, totalizando 24 horas desde el último mensaje. Evalúa de nuevo si respondió: si sí termina, si no continúa. Envía un segundo Send WhatsApp Template usando la plantilla seguimiento_24h_bot_atena a {{contact.phone}} con el mismo mapeo de variables. El propósito es recuperar leads que no terminaron la conversación con el bot, dándoles dos recordatorios suaves antes de dejarlos en el pipeline pasivo.

C · Plantilla WhatsApp API · seguimiento_2h_bot_atena

─────────────────────────────────────
PLANTILLA WHATSAPP API
─────────────────────────────────────
Nombre: seguimiento_2h_bot_atena
Categoría: Utility
Idioma: Español

Cuerpo:
Hola {{1}}, ¿pudiste pensar lo que charlamos? Cualquier consulta acá estoy.

Te saluda {{2}}.

Variables:
{{1}} = {{contact.first_name}} | Ejemplo: "María"
{{2}} = {{user.first_name}} | Ejemplo: "Athena"
─────────────────────────────────────

D · Plantilla WhatsApp API · seguimiento_24h_bot_atena

─────────────────────────────────────
PLANTILLA WHATSAPP API
─────────────────────────────────────
Nombre: seguimiento_24h_bot_atena
Categoría: Utility
Idioma: Español

Cuerpo:
Hola {{1}}, te escribo de nuevo por las dudas. Si seguís interesado en el tratamiento te puedo seguir ayudando. Cualquier cosa, escribime.

Te saluda {{2}}.

Variables:
{{1}} = {{contact.first_name}} | Ejemplo: "María"
{{2}} = {{user.first_name}} | Ejemplo: "Athena"
─────────────────────────────────────

⚠️ Trade-off del trigger Customer Replied

Este WF se reinicia cada vez que el paciente escribe — eso es intencional. Si en testing se ve que dispara mal, se puede mover a trigger Wait until contact has been inactive for 2 hours (si GHL lo expone) o a un trigger custom.

WF7

Seña enviada

Stage Changed Athena humana lo dispara

Marca el momento en que Athena humana mandó el alias para reservar turno → arranca timer de 24h + trackea pago de seña como filtro de calificación. Athena humana mueve la etapa manualmente al mandar el alias y al cobrar.

A · Configuración manual UI

Workflow NameWF7 · Seña enviada
TriggerPipeline Stage Changed · Pipeline: Pipeline GAM · To Stage: 04 · Seña enviada (Athena humana mueve la etapa manualmente al mandar el alias)
Step 1 — Update Custom FieldField: Alias Enviado At · Value: {{date.now}}
Step 2 — Wait Step24 horas (con salida si la etapa cambia a 05)
Step 3 — If/Elseopportunity.stage = 05 · Turno confirmado → si Athena ya cobró y movió la etapa, end · si sigue en 04, continuar
Step 4 — Internal NotificationTitle: ⏰ Seña sin pagar 24h · Body: {{contact.first_name}} recibió alias hace 24h y la etapa sigue en 04. Revisar si llamar/escribir.

B · Prompt para Workflow AI Builder

Crea un workflow llamado WF7 · Seña enviada. El trigger es Pipeline Stage Changed con filtro de pipeline Pipeline GAM y stage destino 04 · Seña enviada, que Athena humana mueve manualmente al mandar el alias bancario al paciente para que pague la seña. El primer paso actualiza el custom field Alias Enviado At con el timestamp actual del workflow para registrar cuándo se envió el alias. Agrega un Wait Step de 24 horas con salida automática si la etapa cambia a 05 · Turno confirmado, lo cual indica que Athena cobró y movió manualmente. Después de las 24 horas evalúa con un If/Else si la etapa actual del opportunity es 05 · Turno confirmado: si lo es termina el workflow porque ya pagó; si sigue en 04 continúa. Envía una notificación interna a Athena humana con título Seña sin pagar 24h y body indicándole que el paciente recibió el alias hace 24 horas y la etapa sigue en 04, sugiriendo que considere llamar o escribir. El propósito es trackear el filtro de calificación: quien paga la seña es lead real (Athena mueve a 05), quien no paga queda visible vía notificación para que la humana decida si retomar o descartar.

04 · Bot de IA

Configuración del bot Athena

Lo que se pega dentro del bot en GHL: settings, los 3 campos de prompt, los Bot Actions (Trigger Workflows + Add Contact Info + Stop Bot), y referencia de los features que no aplican a AL hoy (Bot Transfer, Reserva de Cita).

4.0

Qué hace el bot

Contexto previo para quien va a implementar y testear: qué resuelve el bot, qué tiene prohibido y cuándo levanta la mano. Leer antes de pegar nada en GHL.

Cliente

GAM Odontología

Clínica GAM · sede única en Neuquén (planta alta). Equipo: Athena (recepción), Stefi, Diego.

Identidad del bot

Athena · 24/7

Mismo nombre que la recepcionista humana — handoff transparente. Tono cercano + profesional, tuteo. No aclara que es IA salvo que pregunten directo.

Canal y stack

WhatsApp · GHL App Level

Conversation AI V2. Coexistencia: Athena humana sigue usando su celular; el bot trabaja en paralelo en el CRM para todo lead nuevo que escribe por WhatsApp.

Objetivo principal

Responder consultas 24/7 sin perder leads, descargar a Athena humana de las FAQs repetitivas (obras sociales, precio de consulta, ubicación) y calificar pacientes antes del handoff vía pago de seña.

El bot no agenda — Athena humana siempre cierra fecha. El rol del bot es filtrar, informar y entregar el lead caliente.

✓ Lo que SÍ hace
  • 01Saluda al lead nuevo y le pregunta motivo de consulta
  • 02Identifica vertical: odontología general · armonización facial · implantología (servicio estrella, 24hs)
  • 03Responde FAQs con la KB: obras sociales, precio de consulta ($40.000 ARS), ubicación parcial, info de tratamientos
  • 04Esquiva pedidos de presupuesto explicando que requiere evaluación + tomografía presencial
  • 05Procesa audios entrantes con contexto y responde
  • 06Hace auto follow-up si el lead deja de responder (+2h y +24h)
  • 07Levanta la mano a Athena humana cuando se cumple cualquier condición de handoff
✗ Lo que NO hace
  • 01No da precios ni presupuestos de tratamientos (requiere evaluación clínica + tomografía)
  • 02No da la dirección exacta (solo Neuquén + planta alta) — la entrega Athena humana al confirmar turno
  • 03No inventa respuestas: si no sabe algo → handoff a Athena
  • 04No interpreta fotos clínicas: si llega una imagen → handoff
  • 05No agenda turnos: cierra fecha siempre Athena humana
  • 06No se activa para pacientes existentes: solo entra si el lead es nuevo en el CRM (filtro first_name vacío)
Bisagra bot → humano 4 condiciones de handoff

El bot deja de operar cuando se dispara cualquiera de estas 4 condiciones. Cada una mueve el lead a 02 · Lead levanta la mano, asigna a Athena humana y escribe el motivo en el custom field handoff_motivo.

01 · Intención de agendar

El paciente quiere reservar turno → Athena humana ofrece fecha y envía alias para la seña.

02 · Imagen entrante

Llega una foto (muela, radiografía). No interpretamos imágenes clínicas — pasa a Athena.

03 · Pregunta fuera de KB

El bot no encuentra la respuesta en la base de conocimiento. Prohibido inventar → handoff.

04 · Pedido explícito de humano

El paciente pide hablar con una persona. Pasa directo a Athena humana.

Cómo usar este apartado

  • · Implementador: leé esta subsección antes de configurar settings, prompt y Bot Actions (4.1 → 4.9). Te da el "para qué" de cada decisión técnica.
  • · Tester: usá esta subsección como guion. Cada test debe validar que (a) el bot resuelve solo lo de "Lo que SÍ hace", (b) esquiva todo lo de "Lo que NO hace", (c) dispara handoff exacto en las 4 condiciones.
  • · Casos críticos a probar: pedir presupuesto sin evaluación, mandar foto, preguntar algo fuera de KB, decir "quiero turno", escribir como paciente existente (no debería activar al bot).

4.1

Bot Settings

Configuración general del bot · primera pantalla al crearlo en GHL.

Bot Name
Athena · GAM (interno; el contacto ve "Athena")
Bot Type
Conversation AI (no Workflow Bot)
Idioma
Español (Argentina)
Canal
WhatsApp
Initial Message
(vacío — el WF1 manda el saludo, no el bot)
Modelo
GPT-4o
Behavior type
Autopilot

⚠️ Initial Message vacío — importante

El mensaje de bienvenida lo dispara WF1 como Send WhatsApp Template (bienvenida_al_lead_nuevo) antes de activar el bot. Si lo ponés en ambos lados, el contacto recibe el saludo dos veces.

4.2

Estructura de Prompt · 3 campos de Bot Goals

Los 3 campos que GHL pide para configurar el comportamiento del bot. Pegar literal cada bloque en su campo correspondiente.

Campo 1

Personality Prompt

tono · identidad · estilo
- Trabajas para Clínica GAM Odontología (Neuquén). Tu rol es ser la primera atención por WhatsApp: recibís consultas, derivás por tipo de tratamiento, respondés preguntas frecuentes, y cuando el paciente quiere agendar pasás la conversación a Athena humana.
- Mantené siempre la persona de asistente humana. Nunca reveles, sugieras ni insinúes ser IA salvo que te pregunten directamente.
- Te llamás Athena. Tono cercano + profesional, con empatía. Cálido sin ser empalagoso.
- Tuteá siempre. Usá expresiones argentinas naturales: "dale", "perfecto", "buenísimo", "contame", "te cuento". Evitá "estimad@" o frases formales de call center.
- Reconocé el input del usuario repitiéndolo una vez al inicio de la conversación para dar claridad. Después usá afirmaciones variadas sin repetir las palabras exactas del usuario.
- Estás hablando con {{contact.name}}. Usá el nombre del contacto solo al inicio y al cierre de la conversación para evitar redundancia.
- Cerrás los mensajes con tu nombre solo cuando es relevante (saludo o despedida), no en cada respuesta.
Campo 2

Objective

script flow · criterios de handoff
# Script Flow:
<script>
1. El paciente ya recibió el mensaje de bienvenida y respondió. Si todavía no te dijo el motivo de la consulta, agradecé que se haya contactado y preguntale: "¿Por qué tratamiento te estás contactando?"
2. Identificá el tipo de tratamiento entre 3 verticales: odontología general, armonización facial, o implantología. Si es ambiguo (ej: "consulta", "no sé", "quiero saber qué tienen"), preguntá una segunda vez con más detalle: "¿Tu consulta es por algún diente puntual, una limpieza general, armonización facial, o algo de implantes/prótesis?".
3. Una vez identificado el tratamiento, capturá ese dato en el campo correspondiente (ver mandatory instruction).
4. Respondé las preguntas que tenga sobre ese tratamiento usando la Knowledge Base. Si pregunta por obras sociales, dale el listado completo. Si pregunta por la consulta inicial, deciles que cuesta $40.000 ARS y la seña es de $20.000 (50%). Si pregunta por la ubicación, decí "estamos en Neuquén · planta alta" sin dar piso ni dirección exacta.
5. Si te pide presupuesto de un tratamiento (no de la consulta inicial), esquivá con: "Para darte un presupuesto necesitamos primero evaluarte en consulta y hacer una tomografía. Solo así podemos saber qué tratamiento exacto necesitás y cuánto sale". Nunca tires un número de tratamiento.
6. Cuando el paciente exprese intención de agendar un turno (frases tipo "quiero sacar turno", "me interesa", "cuándo puedo ir", "agendame"), confirmá una vez: "¿Te gustaría que coordinemos un turno para que vengas a la clínica?". Si dice que sí, ejecutá el handoff a Athena humana (Trigger Workflow "Handoff Agendar").
7. Si en cualquier momento el paciente envía una foto, imagen, video o archivo adjunto: NO intentes interpretarlo. Decí: "Recibí tu foto. Para revisarla bien la va a ver Athena, te responde en breve". Y ejecutá el handoff (Trigger Workflow "Handoff Imagen").
8. Si el paciente hace una pregunta que no podés responder con la Knowledge Base, NO inventes. Decí: "Dejame chequear ese dato con el equipo y te respondo en un rato". Y ejecutá el handoff (Trigger Workflow "Handoff No Sé").
9. Si el paciente pide explícitamente hablar con una persona ("quiero hablar con alguien", "me podés pasar con un humano", "no me sirve el bot"), ejecutá el handoff (Trigger Workflow "Handoff Pedido Humano") sin discutir.
</script>

# Criterio de handoff:
La conversación pasa a Athena humana en cualquiera de estos 4 momentos:
- El paciente quiere agendar un turno (paso 6)
- El paciente envía una imagen/foto/video (paso 7)
- El bot no sabe la respuesta (paso 8)
- El paciente pide hablar con humano (paso 9)

# Criterio de NO handoff:
NO transferir si:
- El paciente solo está preguntando por información (precio consulta, obras sociales, ubicación, qué hace tal tratamiento). Estos los respondés vos con la KB.
- El paciente pide presupuesto de tratamiento. Esquivá con la frase del paso 5, no transfieras.
- El paciente se está despidiendo. Eso lo maneja el Stop Bot, no el handoff.
Campo 3

Additional Information

reglas · contexto · captura de datos
# Reglas:
<rules>
- Mantené las respuestas cortas, directas, menos de 35 palabras por mensaje. Si necesitás dar info más larga (ej: listado de obras sociales), partilo en 2-3 mensajes cortos.
- Esperá la respuesta del paciente antes de pasar a la siguiente pregunta del Script. Nunca dispares dos preguntas seguidas en un solo mensaje.
- Nunca inventes información que no esté en la Knowledge Base o en este prompt. Si no sabés algo, ejecutá el handoff "No Sé" (paso 8 del Script).
- Nunca des precios ni presupuestos de tratamientos. Solo el de la consulta inicial ($40.000 + seña $20.000). Para todo lo demás, usá la frase de esquive del paso 5.
- Nunca des la dirección exacta de la clínica (calle, número, piso). Solo "Neuquén · planta alta". La dirección completa la entrega Athena humana al confirmar el turno.
- Nunca interpretes imágenes clínicas (radiografías, fotos de muelas, dientes). Ejecutá el handoff "Imagen".
- Nunca te disculpes por ser IA ni admitas serlo proactivamente. Si te preguntan directo "¿sos un bot?", respondé: "Soy Athena, te estoy atendiendo desde el WhatsApp de la clínica. ¿En qué te ayudo?".
- Si el paciente menciona urgencia o dolor agudo, ejecutá el handoff "Pedido Humano" inmediatamente, sin más preguntas.
- Hablá en singular y tuteá. Nunca uses "vosotros", "ustedes formal", ni "señor/señora".
</rules>

# Datos clave de la clínica:
<context>
- Nombre: Clínica GAM Odontología
- Ubicación pública: Neuquén · planta alta (sin piso ni dirección exacta)
- Consulta inicial: $40.000 ARS · seña 50% = $20.000 ARS
- Pago de seña: por alias bancario o presencial en clínica en horario razonable
- Tratamientos principales: odontología general · armonización facial · implantología (24 horas: implantes + corona + carillas)
- Operación: 24/7 (vos contestás siempre; Athena humana toma cuando se hace handoff)
</context>

###mandatory instruction: durante la conversación, captura estos datos en el orden indicado, entre respuesta y respuesta del Script, no todos al inicio:
1. Después del saludo inicial, si el paciente no se presentó, pedile el nombre del contacto.
2. En el paso 2-3 del Script, una vez identificado el tipo de tratamiento, guardá el tipo de tratamiento del contacto (odontología general / armonización facial / implantología).
3. Si el paciente menciona algo específico que está buscando (ej: "necesito un implante", "quiero blanqueamiento", "tengo dolor en una muela"), guardá el motivo de consulta del contacto.
4. Si en algún momento el paciente menciona urgencia o tiempo (ej: "tengo dolor", "es urgente", "no tengo apuro"), guardá el nivel de urgencia del contacto.
5. Si se ejecuta un handoff a Athena humana, guardá el motivo del handoff del contacto (agendar / imagen / no sé / pedido humano).

4.3

Automatizaciones del bot · Trigger Workflows

4 Bot Actions tipo "Trigger Workflow" — uno por cada condición de handoff. Cada uno dispara el WF correspondiente en sección 03.

#1

Handoff Agendar

→ WF2
Action Name
Handoff Agendar
Workflow
WF · Handoff Agendar
Trigger Condition
El paciente expresa intención clara de sacar un turno, agendar una cita o ir presencialmente a la clínica. Frases tipo "quiero sacar turno", "me interesa", "cuándo puedo ir", "agendame", "reservame".
#2

Handoff Imagen

→ WF3
Action Name
Handoff Imagen
Workflow
WF · Handoff Imagen
Trigger Condition
El paciente envía una foto, imagen, video, audio extenso o archivo adjunto que el bot no puede interpretar de forma segura. Aplica especialmente a fotos clínicas (dientes, muelas, radiografías).
#3

Handoff No Sé

→ WF4
Action Name
Handoff No Sé
Workflow
WF · Handoff No Sé
Trigger Condition
El bot no encuentra la respuesta en la Knowledge Base ni puede inferirla del contexto. El paciente hizo una pregunta que requiere intervención humana (ej: pide presupuesto específico, pregunta por convenios particulares no listados, consulta médica que requiere criterio profesional).
#4

Handoff Pedido Humano

→ WF5
Action Name
Handoff Pedido Humano
Workflow
WF · Handoff Pedido Humano
Trigger Condition
El paciente pide explícitamente hablar con una persona, expresa frustración con el chat, menciona urgencia médica, dolor agudo, o dice frases tipo "quiero hablar con alguien", "pasame con humano", "no me sirve el bot", "tengo mucho dolor".

✅ Cuota de Trigger Workflows

Máximo 5 Trigger Workflows por bot. Estamos usando 4. Queda 1 slot libre para casos futuros (ej: "Handoff Reagendar" si después agregamos lógica de pacientes existentes).

4.4

Detener Bot · Stop Bot

2 escenarios configurables como Bot Action. El tercer escenario (handoff a humana) NO va acá — va dentro del WF de handoff (ver nota abajo).

#1

Despedida amigable

Scenario Name
Despedida amigable
Trigger Condition
El paciente cierra la conversación de forma amigable, agradece y se despide sin haber hecho pedido específico.
Examples
"gracias, después te escribo" · "listo, gracias" · "chau" · "nos vemos" · "perfecto, gracias" · "ok, gracias" · "buenísimo, gracias" · "te aviso después"
Final Message
Dale, quedo atenta a cualquier consulta. ¡Que tengas buen día! 🌷
Reactivate Bot Timer
60 minutos
Custom Tag
(vacío — no se usan tags)
#2

No interesado

Scenario Name
No interesado
Trigger Condition
El paciente expresa que ya no le interesa el tratamiento, que era solo curiosidad, que cambió de idea, o pide explícitamente que no le escriban más.
Examples
"no me interesa" · "ya no quiero" · "era solo para preguntar" · "déjenme tranquilo" · "no escriban más" · "lo pensé y no" · "no, gracias, ya no"
Final Message
Listo, ningún problema. Si en algún momento querés consultarnos por algo, escribinos cuando quieras 🌷
Reactivate Bot Timer
24 horas
Custom Tag
(vacío — no se usan tags)

ℹ️ Stop Bot #3 (post-handoff) NO va acá

Cuando ocurre handoff a humana, el bot se desactiva via Update Conversation AI Bot and Status dentro de los WFs (ver WF2-WF5) — no como Bot Action de Stop Bot. Por qué: el Stop Bot tiene timer fijo (5min-24h); el handoff necesita Inactive indefinido hasta que la humana reactive. Workflow action es más controlable.

⚠️ Anti-patrón a evitar

No configurar Stop Bot con condition "pide humano" — eso lo maneja el Trigger Workflow "Handoff Pedido Humano" (WF5) que tiene más prioridad porque ejecuta acciones (mover etapa, asignar usuario) además de detener al bot.

4.5

Información de Contacto · Add Contact Info

4 Bot Actions tipo "Add Contact Info" — uno por cada CF que llena el bot durante la conversación. Cada modal de GHL tiene 4 campos: Action Name, Which contact field, What to update, y Ejemplo de Salida.

#1

Tipo Tratamiento

contact.tipo_tratamiento
1 · Action Name
Actualizar Tipo Tratamiento
2 · Which contact field
Tipo Tratamiento
3 · What to update
Este campo guarda el tipo de tratamiento que motivó la consulta del paciente. Los valores válidos son: "odontología general", "armonización facial", o "implantología". Si el paciente menciona algo más específico, mapealo al más cercano.
4 · Ejemplo de Salida
odontología general armonización facial implantología
#2

Motivo Consulta

contact.motivo_consulta
1 · Action Name
Actualizar Motivo Consulta
2 · Which contact field
Motivo Consulta
3 · What to update
Este campo guarda lo que el paciente está buscando específicamente. Es texto libre, una frase corta de 5-15 palabras que resume su necesidad concreta.
4 · Ejemplo de Salida
Quiere implantes para reemplazar muelas de arriba
Tiene dolor en una muela hace 3 días
Pregunta por blanqueamiento dental
Le interesa armonización facial con ácido hialurónico
#3

Urgencia

contact.urgencia
1 · Action Name
Actualizar Urgencia
2 · Which contact field
Urgencia
3 · What to update
Este campo guarda el nivel de urgencia que expresa el paciente. Solo se llena si el paciente menciona explícitamente algo sobre tiempo o dolor. Los valores válidos son: "urgente" (dolor agudo, hoy, ya), "moderada" (esta semana), "baja" (no tiene apuro), o "no_mencionada" (no dijo nada al respecto).
4 · Ejemplo de Salida
urgente moderada baja no_mencionada
#4

Handoff Motivo

contact.handoff_motivo
1 · Action Name
Actualizar Handoff Motivo
2 · Which contact field
Handoff Motivo
3 · What to update
Este campo guarda el motivo por el cual se transfirió la conversación a Athena humana. Los 4 valores posibles son: "agendar" (paciente quiere sacar turno), "imagen" (envió foto/video), "no_se" (bot no supo responder), "pedido_humano" (pidió hablar con persona).
4 · Ejemplo de Salida
agendar imagen no_se pedido_humano

4.6

Transferencia a Humano

4 condiciones de handoff. Cada una es disparada por el Bot Action correspondiente (§4.3) y ejecutada por el WF correspondiente (§03).

ℹ️ Las 4 condiciones aterrizan en la misma etapa 02 · Lead levanta la mano (etapa plana). El motivo se distingue por el custom field handoff_motivo. No hay sub-etapas físicas ni tags.

1

🎯 Intención de agendar

WF2 →

El paciente expresa que quiere reservar un turno. Athena humana toma la conversación y ofrece fecha + horario concretos.

handoff_motivo = agendar Bot → Inactive
2

📷 Foto / imagen entrante

WF3 →

Imágenes clínicas (radiografías, fotos de muelas) requieren ojo profesional. Bot avisa a Athena, no las interpreta.

handoff_motivo = imagen Bot → Inactive
3

❓ Bot no sabe responder

WF4 →

Prohibido inventar. Si la KB no cubre la pregunta, levanta la mano automáticamente. Filtrar reportes por handoff_motivo = no_se para iterar la KB.

handoff_motivo = no_se Bot → Inactive
4

🙋 Pedido explícito de humano

WF5 →

El paciente pide hablar con persona, expresa frustración, o menciona dolor agudo. Notificación marcada como prioridad si urgencia = urgente.

handoff_motivo = pedido_humano Bot → Inactive

4.7

N/A para AL · referencia futura

Transferencia de Bot · Bot Transfer

GAM Odontología corre con un único bot (Athena). Este action aplica cuando hay arquitectura multi-bot — se documenta acá como template para clientes futuros.

Qué es
Action atómica de GHL V2 para handoff bot→bot. Ejecuta stop del bot actual + activate del bot destino en una sola operación, manteniendo la conversación con el contacto.
Cuándo usar
Sistemas multi-bot. Casos típicos: orquestador que deriva a bots especializados por vertical (compra, alquiler, servicios), o pipeline donde un bot de "qualification" pasa a un bot de "closing" tras chequear criterios.
Cuándo NO usar
Si el handoff es a humano, NO se usa Bot Transfer — se usa el patrón de §4.6 (Trigger Workflow + Update Conversation AI Bot Status = Inactive + Assign User).
Regla de ejemplos
Máximo 5 frases de ejemplo por transfer en el campo "Examples". Más ejemplos no mejoran la detección y aumentan ambigüedad con otros Bot Actions.
Configuración (campos UI)
Action Name Bot Destino Trigger Condition Examples (max 5)
Anti-patrón
Implementar bot→bot con un Workflow que haga Stop bot A + Activate bot B. Funciona pero es más frágil (el WF puede fallar entre los dos pasos, dejando al contacto sin bot activo). Bot Transfer es atómico — preferirlo siempre que esté disponible.

ℹ️ Para GAM Odontología

No aplica hoy — single bot. Si en el futuro se separan los flujos (ej: bot Athena recepción + bot post-consulta para seguimiento de tratamiento), entonces Bot Transfer aparece.

4.8

N/A para AL · referencia futura

Reserva de Cita · Appointment Booking

GAM Odontología no automatiza el booking — Athena humana cierra la cita después del handoff. Este modal se documenta como template replicable para clientes que sí lo necesiten.

Paso 1

Selección de calendario

Elegir si el bot reserva sobre 1 calendario fijo o entre varios.

Calendario único

Utiliza un único calendario para todas las citas reservadas.

Múltiples calendarios

Deja que la IA elija entre varios calendarios al reservar citas.

+ dropdown: Seleccionar calendario (consulta franjas horarias y reserva)

Paso 2

Opciones avanzadas

4 checkboxes para configurar comportamientos adicionales.

☐ 1

No reservar cita (solo enviar el enlace de reserva)

El bot deja de reservar y manda directo el link al contacto.

☐ 2

Pausar las respuestas del bot después de la reserva

Deshabilitar más respuestas del bot tras reservar con éxito.

☐ 3

Activar el flujo de trabajo tras la reserva

Ejecutar workflows específicos cuando se haya completado la reserva.

☐ 4

Transferir a un empleado tras reservar una cita

Asignar a un empleado al completar la reserva.

Toggles independientes

Permitir que el bot anule la cita

Habilita que el bot de IA cancele cualquier cita existente.

Permitir que el bot reprograme la cita

Habilita que el bot de IA reprograme cualquier cita existente.

⚠️ Nota del modal · GHL

"Asegúrese de que su mensaje no incluya instrucciones como «No puedo ayudar con cancelaciones o reprogramación» cuando habilite estas funciones. Si activás los toggles de cancelar/reprogramar, el bot necesita libertad en el prompt para ejecutarlos — no escribir reglas contradictorias en Personality o Objective."

4.9

Seguimiento Automático

Doble entrega: lo que está implementado para AL hoy + estructura del feature nativo del bot como referencia para futuros proyectos.

Implementado en AL

Vía workflow · WF6

→ ver WF6 completo

El seguimiento de Athena para AL se hace con un workflow custom (no con el feature nativo del bot). Trigger Customer Replied + filtro handoff_motivo vacío, dos Wait Steps (2h y 22h), y dos mensajes de re-engagement firmados por Athena.

2 horas → 1er recordatorio 24 horas → 2do recordatorio
Referencia · feature nativo

Modal "Seguimiento automático" del bot

GHL trae un feature nativo dentro del bot para automatizar follow-ups sin necesidad de armar workflow. 3 escenarios pre-configurados, secuencia de hasta 5 seguimientos por escenario.

3 escenarios disponibles

El Contacto Dejó de Responder

Apagado

Re-contacto si hay silencio del lead.

El contacto está [...]

Apagado

Estado custom (ej: pensándolo, evaluando).

Solicitud de [...]

Apagado

Recordatorio de info pendiente del contacto.

Configuración por escenario

Habilitar escenario
Toggle on/off
Nombre del escenario
El Contacto Dejó de Responder
Secuencia de seguimiento
Configurá hasta 5 seguimientos. Cada uno con:
  • Tiempo: número + Minutos / Horas / Días
  • Toggle Permita que la IA envíe el mensaje (deja al bot generar el copy)
  • Toggle Iniciar flujo de trabajo (dispara un WF en lugar de mensaje)
Configuración global
Link en el footer "Configuración de seguimiento" para definir defaults aplicables a los 3 escenarios.

⚖️ Trade-off · WF6 vs feature nativo

WF6 (workflow)

  • Mensajes con copy fijo, controlado
  • If/Else con custom fields
  • Más pasos posibles (notif, update CF, etc.)
  • Más fricción para editar tiempos

Feature nativo

  • Setup rápido en UI del bot
  • IA genera el mensaje (más natural)
  • Hasta 5 seguimientos por escenario
  • Menos lógica condicional disponible

Para AL elegimos WF6 porque necesitábamos filtrar por el custom field handoff_motivo vacío (no disparar follow-up si ya se hizo handoff a humana) — eso lo cubre limpio el workflow. Para clientes con casos más simples, el feature nativo es más ágil.

05 · Knowledge Base

3 KBs vinculadas al bot

3 / 7 KBs por bot · 3 / 15 KBs por location. Margen amplio para crecer. Sin API CRUD pública — toda la carga es manual via UI.

KB 1 · Transversal

Web + Rich Text

Info general — ubicación pública, equipo, FAQs no-técnicas.

Web CrawlerRich Text

KB 2 · Servicios

Tables CSV

15 tratamientos en 3 verticales — general (5) · armonización (5) · implantología (5).

CSV UTF-8Smart Table

KB 3 · Custom Responses

FAQs manuales

Datos críticos — precios fijos, obras sociales, ubicación pública, cláusulas de prohibición.

Custom Bot Responses

Reglas de higiene CSV

UTF-8 (sin BOM) · primera fila = encabezados · sin nulos en id ni tratamiento · sin fórmulas ocultas · sin celdas combinadas · sin precios reales (regla del bot).

06 · WhatsApp Meta

7 plantillas Meta · todas Utility

WhatsApp API oficial con Coexistence — Atena sigue usando su celular en paralelo al CRM. Las 7 plantillas en categoría Utility (más barata · ~$0.025/msg en Argentina).

PLANTILLA · WF1

bienvenida_lead_es

Saludo inicial al entrar lead de campaña Meta Ads.

PLANTILLA · WF2-5

confirmacion_handoff_es

Mensaje al lead post-handoff a Atena.

PLANTILLA · WF6

follow_up_2h_es

Primer recordatorio si no responde.

PLANTILLA · WF6

follow_up_24h_es

Último intento de re-engagement.

PLANTILLA · WF7

recordatorio_turno_24h_es

Recordatorio 24h pre-cita.

PLANTILLA · WF7

recordatorio_turno_2h_es

Recordatorio 2h pre-cita.

PLANTILLA · WF8

confirmacion_sena_es

Confirmación tras pago de seña ($20.000).

DETALLE · plantillas con cuerpo listo

Templates listos · doble bloque Meta + GHL

Formato canónico — primero se carga en Meta Business Manager (aprobación 1–15min), después se mapea en la action del workflow. Patrón validado contra EXPERTO COMERCIAL + BOT / curso-andres / 08-mensajes-sms-vs-whatsapp-api.md.

⚙️ Prerrequisito · 2 Custom Values en GHL

Ambas plantillas usan custom values que hay que crear primero en Settings → Custom Values:

Bot Nombrebot_nombre = Athena
Clínica Nombreclinica_nombre = GAM Odontología
PLANTILLA · WF1

bienvenida_lead_nuevo

Marketing · es_AR 2 vars

Saludo inicial al lead nuevo que entra por WhatsApp (campaña Meta Ads). Dispara dentro del WF1 después del filtro de first_name vacío.

A · Plantilla Meta · Settings → WhatsApp → Plantillas

Nombre: bienvenida_lead_nuevo
Categoría: Marketing
Idioma: Spanish (es_AR; fallback es)
Encabezado: (vacío)
Cuerpo:
  Hola! Soy {{1}} de {{2}}.

  Vi que escribiste para sacar info. Contame qué tratamiento te llama la atención así te oriento mejor:

  – Odontología general
  – Armonización facial
  – Implantología 24h

  Cuál de los tres?

Variables:
  {{1}} = custom_values.bot_nombre        (valor: Athena)
  {{2}} = custom_values.clinica_nombre    (valor: GAM Odontología)

B · Workflow action · WF1 · Lead nuevo entrante + activa bot ia

Action: Send WhatsApp
  Template: bienvenida_lead_nuevo
  Variables:
    {{1}} ← {{custom_values.bot_nombre}}
    {{2}} ← {{custom_values.clinica_nombre}}
PLANTILLA · WF "LEAD NO RESPONDE"

seguimiento_lead_no_responde

Marketing · es_AR 2 vars

Re-engagement cuando el lead no respondió la bienvenida. La misma plantilla se usa en los delays de 2h y 24h dentro del WF 2- LEAD NO RESPONDE.

A · Plantilla Meta · Settings → WhatsApp → Plantillas

Nombre: seguimiento_lead_no_responde
Categoría: Marketing
Idioma: Spanish (es_AR; fallback es)
Encabezado: (vacío)
Cuerpo:
  Hola! Soy {{1}} de {{2}}.

  Te escribí hace un rato y no llegué a hablar con vos. Si tenés alguna duda o querés sacar turno, contame y avanzamos 🙌

Variables:
  {{1}} = custom_values.bot_nombre        (valor: Athena)
  {{2}} = custom_values.clinica_nombre    (valor: GAM Odontología)

B · Workflow action · WF "2- LEAD NO RESPONDE"

Action: Send WhatsApp
  Template: seguimiento_lead_no_responde
  Variables:
    {{1}} ← {{custom_values.bot_nombre}}
    {{2}} ← {{custom_values.clinica_nombre}}

⚠️ Trust Tiering

Primeros 30 días: 250 BIC/24h. Tras 30 días con plantillas alta calidad: auto-upgrade a 1,000 BIC/24h. Si activan Click-to-WhatsApp Ads: 72h gratuitas post-click.

07 · Pricing

Costos al cliente

Estimación mensual recurrente. Reseller pricing — incluye markup sobre costo base GHL/Meta.

GHL plan (a confirmar)~$97 USD/mes
WhatsApp API base (reseller)$20 USD/mes
Mensajes (~300/mes Utility, AR)~$7.50 USD/mes
Total estimado~$124.50 USD/mes

💡 Optimización

Si activan Click-to-WhatsApp Ads en Meta Ads → 72h gratuitas post-click. Aprovechar para nurturing intensivo en primeros 3 días. Ahorro estimado ~30% del costo por mensaje en periodo activo.

08 · Roadmap · 10 fases

Estado del proyecto

7 fases ya completas — solo restan testing pre-launch, go-live y monitoring post-launch. Bot Atena diseñado y los 24 archivos del SETUP listos para cargar en GHL.

10 FASES — estado actual

scroll →

F1

Discovery

✅ Completa

Reunión 1 + transcript Fathom + respuestas estructuradas.

F2

Pipeline

✅ Generado

8 etapas en 3 zonas funcionales.

F3

Custom Fields

✅ Generado

9 CFs · 12 Custom Values · 25 tags.

F4

Workflows

✅ Generado

8 WFs con doble entrega manual + AI Builder.

F5

Bot Atena

✅ v0 listo

Spec V2 con 3 campos prompt + 4 handoffs.

F6

Knowledge Base

✅ Generado

3 KBs: transversal + tabla + FAQs.

F7

WhatsApp Meta

✅ 7 plantillas

Todas Utility · listas para crear en GHL.

F8

Testing

⏳ Pendiente

Smoke tests + /preflight-ghl + /TEST-BOT-GHL.

F9

Go-live

⏳ Pendiente

Coexistence sync 4-6h + Auto Pilot.

F10

Post-launch

⏳ Continuo

Revisión semanal · ajustes KB · v1 prompt.

Completas (7)
Pendientes (3)
Tiempo restante: 6 días + esperas Meta

09 · Riesgos

Riesgos identificados + mitigaciones

6 riesgos clave del proyecto con mitigación documentada. Validar todos en Fase 8 (testing pre-launch).

RiesgoMitigación
tipo_tratamiento como TEXT libreMapeo via tags en WF de routing. Filtros de reporte por tags, no por CFs.
Bot cae a "No Sé" si KB vacíaCargar las 3 KBs ANTES del go-live. Fase 6 obligatoria.
Colisión Stop Bot vs handoff "pedido humano"Validar en testing. Trigger Workflow tiene prioridad si la condition se evalúa antes.
Coexistence sync 4-6hCoordinar ventana con Atena (no en horario pico). App debe quedar abierta.
Pacientes regulares vs nuevosWF1 filtra por frase de campaña. Si NO viene de campaña, va directo a Atena humana.
Trust Tiering 250 BIC/24h primeros 30 díasDistribuir volumen + plantillas Utility de alta calidad para upgrade automático.

10 · Próximos pasos

7 acciones para go-live

Sistema completo en SETUP/ — 24 archivos listos. Plan paso a paso en CHECKLIST-IMPLEMENTACION.md.

01

Cliente · completar pendientes

Stefi/Atena pasan: alias bancario, horarios formales, listado completo de obras sociales, dirección privada, correo de salida.

02

Andrés · /preflight-ghl OK

Ejecutar preflight con PIT + Location ID configurados.

03

Cargar todo en GHL

Seguir CHECKLIST-IMPLEMENTACION.md — pipeline → custom values → CFs → workflows → bot → KBs → plantillas Meta.

04

Meta · aprobación de plantillas

Submit las 7 plantillas — 24-48h de aprobación cada una. En paralelo continuar con otros pasos.

05

Coexistence sync

Coordinar ventana 4-6h con Atena. Su app móvil debe quedar abierta durante el sync.

06

Testing pre-launch

Smoke tests + /TEST-BOT-GHL + 5 conversaciones reales con Atena supervisando.

07

Go-live + monitoring

Bot status Auto Pilot · plan de respuesta primeras 24h · revisión semanal primeras 4 semanas · versionar prompt a v1 post 50 conversaciones reales.

11 · Casos de prueba

Test plan · Bot Athena

21 casos para validar Athena antes de go-live. Progreso sincronizado en vivo entre todos los testers vía Supabase — vos y Flor ven los mismos checkboxes, pasa/falla y notas al instante. localStorage queda como cache offline. Patrón replicable adaptado de propiedades-ecuador/CASOS-PRUEBA-BOTS.html.

Progreso

0/21

Conectando…
·

🔴 Críticos · must pass antes de go-live

Caso 01 🔴 Crítico Pendiente

Saludo + identificación de tratamiento (happy path)

Lead nuevo entra por WhatsApp y el bot dispara la bienvenida con las 3 opciones.

📜 Turn-by-turn

#QuiénMensaje
1LeadHola, info
2WF1(filtra first_name vacío → envía template bienvenida_lead_nuevo → activa bot)
3AthenaHola! Soy Athena de GAM Odontología. Vi que escribiste para sacar info. Contame qué tratamiento te llama la atención... – Odontología general – Armonización facial – Implantología 24h. Cuál de los tres?

✅ Checklist

📝 Notas del tester (opcional)

Caso 02 🔴 Crítico Pendiente

Captura tipo_tratamiento · 3 verticales

Bot identifica la vertical (general / armonización / implantología) y la guarda como string consistente en el CF.

✅ Checklist · 3 sub-tests (mandá 3 leads distintos)

📝 Notas del tester (opcional)

Caso 03 🔴 Crítico Pendiente

Handoff Agendar

Lead manifiesta intención de turno → bot transfiere a Atena humana.

📜 Turn-by-turn

NLeadQuiero sacar turno · Cuándo puedo ir · Agendame
N+1AthenaBuenísimo, te paso con Atena para coordinar la fecha. En un ratito te escribe.
N+2WF1- LEAD QUIERE AGENDAR dispara → bot Inactive · tag agendar · notif Atena

✅ Checklist

📝 Notas del tester (opcional)

Caso 04 🔴 Crítico ⚠️ Regla dura Pendiente

Handoff Imagen · NO interpretar fotos

Lead manda foto/radiografía. El bot NO debe interpretarla bajo ningún concepto.

📜 Turn-by-turn

NLead📷 (manda foto de muela o radiografía)
N+1AthenaRecibí tu foto, Atena la revisa enseguida y te responde.

✅ Checklist

📝 Notas del tester (opcional)

Caso 05 🔴 Crítico Pendiente

Handoff No Sé · KB miss

Lead pregunta algo que el bot no tiene en KB → reconoce miss + handoff.

✅ Checklist

📝 Notas del tester (opcional)

Caso 06 🔴 Crítico Pendiente

Handoff Pedido Humano · prioridad máxima

Lead pide explícitamente hablar con persona → handoff inmediato sin pasos previos.

✅ Checklist

📝 Notas del tester (opcional)

Caso 07 🔴 Crítico ⚠️ Regla dura Pendiente

NO revelar ser IA

Si el lead pregunta si es bot/IA, responde evasivo sin confirmar ni negar categóricamente.

📜 Turn-by-turn

NLeadSos bot? · Sos IA? · Estoy hablando con una máquina?
N+1AthenaSoy Athena, te estoy atendiendo del WhatsApp de la clínica. En qué te ayudo?

✅ Checklist · probá las 3 variantes

📝 Notas del tester (opcional)

Caso 08 🔴 Crítico ⚠️ Regla dura Pendiente

NO dar presupuesto de tratamiento específico

Bot solo puede mencionar $40k consulta y $20k seña. Para todo lo demás: deriva a evaluación con tomografía.

✅ Checklist

📝 Notas del tester (opcional)

Caso 09 🔴 Crítico ⚠️ Regla dura Pendiente

NO dar dirección exacta

Solo "Neuquén, planta alta". La dirección exacta se entrega cuando confirma turno con Atena.

✅ Checklist

📝 Notas del tester (opcional)

Caso 10 🔴 Crítico Pendiente

Stop Bot · despedida natural (60min)

Lead se despide naturalmente. Bot responde corto y se apaga 60min.

✅ Checklist

📝 Notas del tester (opcional)

Caso 11 🔴 Crítico Pendiente

Stop Bot · desinterés (24h)

Lead expresa desinterés. Bot cierra elegante y se apaga 24h.

✅ Checklist

📝 Notas del tester (opcional)

Caso 12 🔴 Crítico Pendiente

Lead no responde · WF dispara seguimiento

Lead no responde la bienvenida → WF "2- LEAD NO RESPONDE" envía template a 2h y 24h.

✅ Checklist

📝 Notas del tester (opcional)

🟡 Importantes · validar pre-launch + monitoring activo

Caso 13 🟡 Importante Pendiente

Filtro Meta Ads vs paciente regular

WF1 filtra por first_name vacío: pacientes existentes deben ir directo a Atena humana sin activar el bot.

✅ Checklist

📝 Notas del tester (opcional)

Caso 14 🟡 Importante Pendiente

Urgencia · dolor agudo

Mensajes de dolor agudo → handoff prioritario + captura urgencia = urgente.

✅ Checklist

📝 Notas del tester (opcional)

Caso 15 🟡 Importante Pendiente

Mensaje ambiguo · pide clarificación

Lead manda algo vago. Bot debe pedir clarificación de manera amable, NO asumir.

✅ Checklist

📝 Notas del tester (opcional)

Caso 16 🟡 Importante Pendiente

Tratamiento NO ofrecido (confirmar con Stefi qué SÍ y qué NO)

Si lead pregunta por algo que GAM no hace (ej. ortodoncia), bot debe ser honesto, no inventar.

✅ Checklist

📝 Notas del tester (opcional)

Caso 17 🟡 Importante Pendiente

Reactivación después de Stop Bot

Lead vuelve a escribir después del cooldown → bot retoma sin pedir saludo de nuevo.

✅ Checklist

📝 Notas del tester (opcional)

🟢 Nice-to-have · KB pendiente, no bloquean go-live

Caso 18 🟢 Nice-to-have Pendiente

Horarios de atención

⚠️ Stefi tiene que pasar los horarios formales. Hasta entonces el bot va a caer en Handoff No Sé.

✅ Checklist

📝 Notas del tester (opcional)

Caso 19 🟢 Nice-to-have Pendiente

Obras sociales activas

⚠️ Stefi tiene que pasar listado de convenios. Es de las preguntas más frecuentes.

✅ Checklist

📝 Notas del tester (opcional)

Caso 20 🟢 Nice-to-have Pendiente

Política de garantía

⚠️ Stefi tiene que definir la política. Es una objeción típica.

✅ Checklist

📝 Notas del tester (opcional)

Caso 21 🟢 Nice-to-have Pendiente

Audio de WhatsApp

⚠️ Definir comportamiento: ¿bot transcribe (Whisper API) o handoff directo? Decisión pendiente.

✅ Checklist

📝 Notas del tester (opcional)

🛠 Cómo correr las pruebas

Manual · usá un número WhatsApp distinto al de Atena/Stefi (sino el filtro first_name vacío no aplica). Llevá la pantalla abierta y andá tildando.

Automatizado · usar la skill /TEST-BOT-GHL con runner Playwright (está armado para AL Odontología — adaptable a GAM ajustando ~3 YAMLs).