La mayoría de los agentes de AI son chatbots glorificados. Chex ganó un hackathon creando tres agentes especializados que realmente agendan citas con terapeutas.
No sugieren. No recomiendan. Las agendan de verdad , con invitaciones de calendario y confirmaciones por correo.
Aquí está el patrón que descubrieron y que puedes aplicar en tus propios sistemas de agentes.
*¿Quieres ir directo al código?* *Revisa*Quickstart o obtén tu API key de Arcade.dev*para construir agentes autenticados en minutos.*
El problema: los agentes individuales chocan con sus límites
Los asistentes de AI tradicionales intentan hacerlo todo en una sola conversación. Inevitablemente fallan cuando las tareas requieren:
- Múltiples fuentes de datos (calendario, notas, búsquedas web)
- Diferentes modos de interacción (voz, texto, procesamiento en segundo plano)
- Acciones con retraso de tiempo (investigar y luego agendar)
Chex resolvió esto dividiendo su asistente de salud mental en tres agentes especializados, cada uno con sus propias herramientas y responsabilidades.
La arquitectura de 3 agentes
Agente 1: el agente de seguimiento
Rol: Monitoreo proactivo de bienestar y triaje inicial
Herramientas utilizadas:
- Google Calendar (vía Arcade.dev): escanear eventos próximos que generen estrés
- Notion (vía Arcade.dev): revisar notas personales y listas de tareas
- Vapipara manejar interacciones de voz cálidas y conversacionales
Lo que hace:
# Simplified flow
def check_in_agent():
# 1. Scan user's calendar for high-stress events
events = arcade.tools.google_calendar.get_upcoming_events(
user_auth=user.oauth_token,
)
# 2. Check Notion for related stress indicators
notes = arcade.tools.notion.search_pages(
query="urgent|important|tired|stressed|overwhelmed",
auth=user.notion_token
)
# 3. Initiate proactive check-in call
if stress_indicators_found(events, notes):
vapi.initiate_call(
script=generate_check_in_script(events, notes),
tone="warm_supportive"
)
Durante la demo, este agente detectó una presentación de hackathon próxima e inició una llamada de apoyo. El estudiante mencionó tener falta de sueño y necesitar un terapeuta, lo que activó al siguiente agente.
Agente 2: el buscador de recursos
Rol: Motor de investigación y recomendaciones con contexto
Herramientas utilizadas:
- Bright Data MCP, para web scraping de directorios de terapeutas
- Google Search (vía Arcade.dev): encontrar consultorios de terapia locales
- Firecrawl (vía Arcade.dev): extraer información de contacto de terapeutas
Lo que hace:
Aquí fue donde Chex se puso creativo. Construyeron una herramienta dedicada a recopilar datos de terapeutas usando Google Search y el toolkit de Firecrawl de Arcade.dev:
// Simplified flow
const therapistTool = new Tool({
id: 'therapist-finder',
name: 'Searches for therapist practices and extracts their contact information',
execute: async ({ location }) => {
// 1. Search Google Maps for therapy practices
const searchResults = await arcade.tools.execute({
tool_name: 'GoogleSearch.Search',
query: `therapists in ${location}`,
});
// 2. Extract structured data from each result
for (const practice of searchResults) {
// Get basic info from Google Maps
const mapData = {
name: practice.name,
address: practice.address,
phone: practice.phone,
rating: practice.rating,
};
// 3. Build Therapist profile with AI
mapData.profile = llm.invoke(summarize_profile_prompt, practice.text_result);
}
return therapists;
},
});
El agente encontró recursos de bienestar específicos de Penn y terapeutas locales, creando una lista personalizada con números de teléfono validados (formato XXX-XXX-XXXX) y correos electrónicos.
Agente 3: el agente de programación
Rol: Contacto automatizado y reserva de citas
Herramientas utilizadas:
- Vapipara realizar llamadas a consultorios de terapeutas
- Google Calendar (vía Arcade.dev): verificar disponibilidad y crear eventos
- Gmail (vía Arcade.dev): enviar correos de confirmación
Lo que hace:
# Simplified flow
def scheduling_agent(therapist_list, patient_availability):
for therapist in therapist_list:
# 1. Call therapist office
call_result = vapi.make_call(
to=therapist.phone,
script=f"Calling on behalf of {patient.name},
a student at UPenn seeking therapy..."
)
if appointment_confirmed(call_result):
# 2. Add to both calendars
arcade.tools.execute({
tool_name: "GoogleCalendar.CreateEvent",
user_id=patient.id,
input={
"title":"Therapy Session",
"time":appointment_time,
"location":therapist.address
}
})
# 3. Send confirmations
arcade.tools.execute({
tool_name: "GoogleCalendar.CreateEvent",
user_id=patient.id,
input={
"subject":"Appointment Confirmed",
"body":appointment_details,
"recipient":therapist.email
}
})
break # Stop after first successful booking
En la demo en vivo, este agente llamó exitosamente a un terapeuta, negoció una cita para el lunes a las 11 AM y creó automáticamente eventos de calendario para ambas partes.
Por qué funciona este patrón
1. Separación de responsabilidades
Cada agente tiene una función específica con herramientas concretas. El agente de seguimiento no necesita capacidades de web scraping. El agente de programación no necesita acceso a Notion.
2. La autenticación de herramientas se mantiene limpia
En lugar de un mega-agente con acceso a todo, cada agente solo se autentica en los servicios que necesita. Esto sigue el principio de mínimo privilegio.
3. Handoffs asíncronos
Los agentes pueden trabajar de forma independiente. El buscador de recursos puede investigar mientras el usuario sigue con su día. El agente de programación puede hacer múltiples llamadas sin bloquear otras operaciones.
4. Interfaces especializadas
Voz para los seguimientos (la empatía importa), texto para las listas de recursos (escaneables), segundo plano para la programación (no intrusiva).
Construye tu propio sistema multi-agente
Aquí hay una plantilla de inicio usando Arcade.dev y Mastra (el framework que usó Chex):
El hallazgo clave
Chex no construyó un chatbot de salud mental. Construyó tres trabajadores especializados que usan AI.
Este patrón, descomponer flujos complejos en agentes enfocados con herramientas autenticadas, es cómo se construye AI que realmente llega a producción.
Los jueces del hackathon lo entendieron de inmediato. Cuando el agente de programación agendó exitosamente una cita real durante la demo en vivo, se sintió el cambio en la sala. Esto no era otra demo de “la AI te sugiere llamar a tu terapeuta”.
Esto era AI haciendo el trabajo de verdad.
¿Qué sigue?
El patrón de 3 agentes funciona más allá de la salud mental:
- Ventas: Monitorea el CRM → Investiga prospectos → Agenda reuniones
- DevOps: Monitorea logs → Diagnostica problemas → Despliega soluciones
- Reclutamiento: Escanea aplicaciones → Investiga candidatos → Agenda entrevistas
La clave es darle a cada agente:
- Límites claros (qué le corresponde)
- Herramientas autenticadas (vía Arcade.dev)
- Protocolos de handoff (cómo se comunican los agentes)
Empieza a construir tu sistema multi-agente
¿Listo para construir agentes que realmente hagan cosas? Así puedes empezar:
- Obtén tu API key (toma 30 segundos)
- Instala el toolkit: bash
npm install @arcadeai/arcadejs
P.S. Revisa el repo de Chex para ver exactamente cómo lo hicieron.

