Cas d’usageVos clients prennent rendez-vous sur WhatsApp, et votre agenda se remplit.
Un client écrit qu’il veut un rendez-vous. L’agent IA lui demande le motif et la ville, votre application lui propose trois créneaux libres de votre agenda, puis réserve celui qu’il choisit et le lui confirme.
La demande, les créneaux, la réservation : 38 secondes.
De la demande dans Claude Code au rendez-vous réservé, sur une vraie conversation WhatsApp.
Comment ça circule.
Pas à pas, avec le vrai.
- 1
Les deux actions de l’agent
Claude Code les pose par
set_agent_action: « Appointment request », qui note le motif et la ville, et « Slot choice », qui note le créneau choisi. L’agent les déclenche de lui-même, au fil de la conversation. - 2
La demande arrive, signée
Votre route, déclarée par
create_webhook_endpoint, reçoitagent.action(décoché par défaut, on le coche exprès) et vérifie sa signature : une requête sans signature est refusée. - 3
Trois créneaux libres
Votre application lit votre agenda près de la ville donnée et répond au client par
POST /v1/messages/whatsapp: il vient d’écrire, la fenêtre de 24 heures est ouverte, aucun modèle n’est nécessaire. - 4
Le créneau réservé
Le client en choisit un ; l’agent déclenche « Slot choice », et votre application réserve une seule fois par demande, puis confirme sur WhatsApp.
Ce que vous tapez dans Claude Code
Le plugin installé, une phrase suffit : Claude Code règle l’agent, écrit la route et votre lien à l’agenda, et teste.
quand un client demande un rdv sur whatsapp, l’agent IA récupère le motif et la ville, mon app (route /api/webhooks/messagingme) lui propose 3 créneaux libres de l’agenda (lib/agenda.ts), et quand il en choisit un on le réserve et on confirme sur whatsapp
La route, telle que Claude Code l’écrit
import { verifyWebhook, WebhookVerificationError } from '@messagingme/sdk';
import { messagingme } from '../../../../lib/messagingme';
import { book, offerSlots } from '../../../../lib/calendar';
// Subscribed to agent.action: the AI agent’s two actions, Appointment request (fields reason and city) and Slot
// choice (field slot). The type is unchecked by default on a webhook address.
export async function POST(req: Request) {
// The RAW body: the signature covers its bytes.
const body = await req.text();
let event;
try {
event = await verifyWebhook({ secret: process.env.MESSAGINGME_WEBHOOK_SECRET!, headers: req.headers, body });
} catch (e) {
if (e instanceof WebhookVerificationError) return new Response(null, { status: 401 });
throw e;
}
if (event.type !== 'agent.action' || !event.data.contact) return new Response(null, { status: 204 });
const { action, fields, contact } = event.data;
let text: string | null = null;
if (action.name === 'Appointment request') text = await offerSlots(String(fields.city ?? ''), 3);
if (action.name === 'Slot choice' && fields.slot !== undefined) text = await book(event.id, String(fields.slot));
if (text) await messagingme.POST('/v1/messages/whatsapp', { body: { contactId: contact.id, text } });
// Answer fast (under 10 s): a slow job runs after, otherwise the webhook is retried.
return new Response(null, { status: 204 });
}
app/api/webhooks/messagingme/route.ts · tout le code dans le guide
Ce que vous payez.
- L’offre Free suffit pour démarrer : 100 contacts, l’API et le serveur MCP compris ; au-delà, le Pro.
- L’agent IA se paie sur le crédit IA prépayé, à la réponse.
- Meta facture directement chaque réponse envoyée dans la fenêtre de 24 heures à votre entreprise, selon sa grille et le pays du client.
Questions fréquentes.
Faut-il un modèle approuvé par Meta ?
Non : le client écrit le premier, et votre application lui répond dans la fenêtre de 24 heures que son message ouvre.
Le même créneau peut-il être réservé deux fois ?
Non : la réservation se fait une seule fois par demande (le même événement reçu deux fois ne réserve qu’une fois), et c’est votre agenda qui dit ce qui est libre.
Et si le client redemande le même jour ?
Chaque action part une fois par jour au plus, par client et par action : une seconde demande le même jour n’atteint pas votre application, l’agent répond seul.
Combien ça coûte ?
La Free inclut l’API et le serveur MCP. L’agent IA se paie sur le crédit IA prépayé, et Meta facture chaque réponse envoyée dans la fenêtre de 24 heures, selon sa grille et le pays du client.
Ouvrez la prise de rendez-vous aujourd’hui.
Le plugin en deux commandes, puis la phrase ci-dessus dans Claude Code. Aucun compte à créer.
Démarrer avec Claude Code · Les tarifs · Tous les cas d’usage