La plupart des agents IA ne sont que des chatbots améliorés. Chex vient de remporter un hackathon en créant trois agents spécialisés qui réservent vraiment des rendez-vous chez le thérapeute.
Pas « suggèrent ». Pas « recommandent ». Qui réservent vraiment invitation agenda et confirmation par email à la clé.
Voici le pattern qu’ils ont découvert et que vous pouvez réutiliser pour vos propres systèmes d’agents.
*Envie de passer directement au code ? Consultez notre*Quickstart ou obtenez votre clé API Arcade.dev*pour créer des agents authentifiés en quelques minutes.*
Le problème : les agents uniques atteignent leurs limites
Les assistants IA traditionnels essaient de tout gérer dans une seule conversation. Ils échouent inévitablement quand les tâches nécessitent :
- Plusieurs sources de données (agenda, notes, recherches web)
- Différents modes d’interaction (voix, texte, traitement en arrière-plan)
- Actions différées (rechercher puis planifier)
Chex a résolu ce problème en divisant leur assistant santé mentale en trois agents spécialisés, chacun avec ses propres outils et responsabilités.
L’architecture à 3 agents
Agent 1 : l’agent de suivi
Rôle : Surveillance proactive du bien-être et triage initial
Outils utilisés :
- Google Calendar (via Arcade.dev) : analyse des événements stressants à venir
- Notion (via Arcade.dev) : consultation des notes personnelles et listes de tâches
- Vapipour gérer des interactions vocales chaleureuses et conversationnelles
Ce qu’il fait :
# 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"
)
Pendant la démo, cet agent a repéré une présentation de hackathon imminente et a initié un appel de soutien. L’étudiant a mentionné manquer de sommeil et avoir besoin d’un thérapeute, ce qui a déclenché l’agent suivant.
Agent 2 : le chercheur de ressources
Rôle : Moteur de recherche et de recommandation contextuel
Outils utilisés :
- Bright Data MCP : scraping web pour les annuaires de thérapeutes
- Google Search (via Arcade.dev) : trouver des cabinets thérapeutiques locaux
- Firecrawl (via Arcade.dev) : extraire les coordonnées des thérapeutes
Ce qu’il fait :
C’est là que Chex a été malin. Ils ont créé un outil dédié à la collecte de données sur les thérapeutes via Google Search et le toolkit Firecrawl d’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 IA
mapData.profile = llm.invoke(summarize_profile_prompt, practice.text_result);
}
return therapists;
},
});
L’agent a trouvé des ressources bien-être spécifiques à Penn et des thérapeutes locaux, en constituant une liste personnalisée avec numéros de téléphone validés (format XXX-XXX-XXXX) et adresses email.
Agent 3 : l’agent de planification
Rôle : Prise de contact automatisée et réservation de rendez-vous
Outils utilisés :
- Vapipour appeler les cabinets de thérapeutes
- Google Calendar (via Arcade.dev) : vérification des disponibilités et création d’événements
- Gmail (via Arcade.dev) : envoi des emails de confirmation
Ce qu’il fait :
# 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
Lors de la démo en direct, cet agent a appelé un thérapeute, négocié un rendez-vous le lundi à 11h et créé automatiquement les événements agenda pour les deux parties.
Pourquoi ce pattern fonctionne
1. Séparation des responsabilités
Chaque agent a un rôle précis avec des outils spécifiques. L’agent de suivi n’a pas besoin de capacités de scraping. L’agent de planification n’a pas besoin d’accéder à Notion.
2. Une authentification propre par outil
Plutôt qu’un agent monolithique avec accès à tout, chaque agent s’authentifie uniquement aux services dont il a besoin. C’est le principe du moindre privilège.
3. Transferts asynchrones
Les agents fonctionnent de façon indépendante. Le chercheur de ressources peut faire ses recherches pendant que l’utilisateur continue sa journée. L’agent de planification peut passer plusieurs appels sans bloquer les autres opérations.
4. Interfaces spécialisées
Voix pour les suivis (l’empathie compte), texte pour les listes de ressources (facile à parcourir), arrière-plan pour la planification (non intrusif).
Construisez votre propre système multi-agents
Voici un starter templateutilisant Arcade.dev et Mastra (le framework utilisé par Chex) :
L’insight clé
Chex n’a pas créé un chatbot santé mentale. Ils ont créé trois travailleurs spécialisés qui utilisent l’IA.
Ce pattern (décomposer des workflows complexes en agents ciblés avec des outils authentifiés), c’est comme ça qu’on crée une IA qui passe vraiment en production.
Les juges du hackathon l’ont compris immédiatement. Quand l’agent de planification a réservé un vrai rendez-vous pendant la démo en direct, on a senti la salle changer d’atmosphère. Ce n’était pas une énième démo “l’IA vous suggère d’appeler votre thérapeute”.
C’était l’IA qui faisait vraiment le travail.
Et maintenant ?
Le pattern à 3 agents s’applique bien au-delà de la santé mentale :
- Sales(ventes) : surveiller le CRM → rechercher des prospects → réserver des réunions
- DevOps : surveiller les logs → diagnostiquer les problèmes → déployer les correctifs
- Recrutement : analyser les candidatures → étudier les profils → planifier les entretiens
Pour chaque agent, l’essentiel est de définir :
- Des périmètres clairs (ce dont il est responsable)
- Des outils authentifiés (via Arcade.dev)
- Des protocoles de transfert (comment les agents communiquent)
Commencez à construire votre système multi-agents
Prêt à créer des agents qui font vraiment des choses ? Voici comment démarrer :
- Obtenez votre clé API (30 secondes suffisent)
- Installez le toolkit : bash
npm install @arcadeai/arcadejs
P.S. Consultez le dépôt Chex repo pour voir exactement comment c’est fait.

