Outils MCP — Inbox
Trois outils pour lister les conversations, lire l'historique des messages et envoyer/répondre aux contacts.
L'Inbox est l'endroit où l'agent fait du travail de service client. Trois outils couvrent la boucle : découvrir les conversations, lire l'historique, envoyer le bon message.
| Outil | Annotation | Objectif |
|---|---|---|
list_conversations |
IsReadOnly, IsIdempotent |
Conversations récentes + état de la fenêtre 24 h |
get_conversation |
IsReadOnly, IsIdempotent |
Historique complet des messages pour un contact |
send_message |
IsDestructive(false) |
Envoie un texte ou un template, avec la bonne politique |
list_conversations
List recent conversations (contacts with messages). Ordered by most recent message. Excludes broadcast messages. Each row exposes window_open_until — the deadline of the 24h customer-care window during which free-form text replies are allowed; null if the window is closed (only template messages can be sent).
| Entrée | Type | Notes |
|---|---|---|
unread_only |
boolean | false par défaut |
limit |
integer | 25 par défaut |
Le champ window_open_until est le plus utile pour un agent — il vous indique si vous pouvez répondre avec du texte libre ou si vous devez utiliser un template.
get_conversation
Get messages for a contact conversation in chronological order. Excludes broadcast messages.
| Entrée | Type | Notes |
|---|---|---|
contact_id |
UUID | requis |
limit |
integer | 50 par défaut |
Renvoie les messages du plus ancien au plus récent pour que l'agent puisse lire le fil de haut en bas.
send_message
Send a WhatsApp message to a contact, or reply to one. Two types:
text— free-form, only works inside the 24h customer service window. Standard "answer a customer" action.template— Meta-approved template. Works any time, including outside the 24h window.
| Entrée | Type | Notes |
|---|---|---|
contact_id |
UUID | l'un des deux |
phone |
string | l'un des deux (crée le contact automatiquement) |
type |
string | text ou template |
text |
string | requis quand type=text |
template_id |
UUID | requis quand type=template |
language |
string | optionnel ; auto-fallback si non approuvé |
variables |
object | requis quand le template a des placeholders |
L'agent doit d'abord appeler list_conversations, regarder window_open_until, puis choisir text si la fenêtre est ouverte ou template sinon. Envoyer du texte libre en dehors de la fenêtre renvoie l'erreur Meta 131047 et le message atterrit dans l'inbox avec status: failed.
