Outils
Claude Code, WhatsApp Cloud API, Python
Prix
Kit gratuit ; API Claude, Meta et hébergement à l'usage
Temps
Une demi-journée
Niveau
Intermédiaire

Un restaurant, un artisan, une boutique : les clients écrivent sur WhatsApp à 22h pour demander les horaires, un prix, une disponibilité. Personne ne répond avant le lendemain, et une partie est déjà allée voir ailleurs. J'ai déjà montré comment monter un tel agent avec n8n, un outil d'automatisation visuel, dans cet article. Ici, l'angle est différent : pas d'outil intermédiaire, c'est Claude Code qui écrit le programme, et vous le possédez entièrement.

Comment ça marche

Quand un client écrit, Meta envoie le message à une adresse web à vous, un webhook. Votre serveur vérifie que l'envoi vient bien de Meta, retrouve l'historique de ce client, demande une réponse à Claude par l'API, puis la renvoie par l'API WhatsApp Cloud. Trois règles de la documentation de Meta pèsent sur le code :

  • l'adresse doit être en HTTPS avec un certificat valide (les certificats auto-signés sont refusés) ;
  • chaque envoi porte une signature X-Hub-Signature-256, calculée avec le secret de votre application Meta : votre serveur doit la vérifier ;
  • si votre serveur ne répond pas 200, Meta renvoie le message pendant jusqu'à 7 jours, ce qui peut créer des doublons.

Avant de commencer

  • Une application Meta avec WhatsApp, un jeton d'accès et l'identifiant du numéro : les étapes côté Meta sont détaillées dans mon article sur l'agent WhatsApp, elles ne changent pas.
  • Une clé d'API Anthropic : l'agent en production appelle l'API, facturée à l'usage, distincte de votre abonnement Claude.
  • Python 3.11 ou plus, et un hébergement qui sert votre serveur en HTTPS.

Construire l'agent avec le kit

WhatsApp AgentKit est un kit open source (licence MIT, mis à jour en août 2026) qui ne contient presque pas de code : ce sont des instructions que Claude Code lit pour vous interroger sur votre entreprise, puis écrire le serveur. Le kit gère déjà la vérification de signature et le dédoublonnage. Il est rédigé en espagnol, d'où le premier réglage ci-dessous.

  1. Installer Claude Code (méthode officielle)
    Terminal
    curl -fsSL https://claude.ai/install.sh | bash
  2. Récupérer le kit et lire ses deux fichiers clésOuvrez start.sh et CLAUDE.md avant de lancer quoi que ce soit : le premier vérifie Python et crée le fichier .env, le second décrit ce que Claude va faire.
    Terminal
    git clone https://github.com/Hainrixz/whatsapp-agentkit.git
    cd whatsapp-agentkit
    bash start.sh
  3. Lancer Claude Code et forcer le françaisTapez claude, puis ce message avant la commande /build-agent :
    Prompt à copier
    Réponds-moi en français pendant toute la configuration. L'agent que tu vas construire doit répondre aux clients en français, en vouvoyant, et annoncer dans son premier message qu'il est un assistant IA. Il ne donne jamais de prix ferme ni de date d'intervention : il transmet à un humain. Je choisis la connexion directe à Meta Cloud API. Ne me demande pas mes clés dans la conversation : je les colle moi-même dans le fichier .env.
  4. Répondre à l'entretienTapez /build-agent. Claude vous pose des questions sur votre activité, vos horaires, votre ton, et récupère vos documents (tarifs, FAQ) dans le dossier knowledge/. Il écrit ensuite le serveur, la mémoire par client et les consignes de l'agent.
  5. Tester sans WhatsAppClaude génère aussi un simulateur dans le terminal : jouez le client, posez une question simple, une question hors sujet, une urgence.
    Terminal
    python tests/test_local.py
  6. Brancher MetaDans votre application Meta, onglet WhatsApp puis Configuration : collez l'adresse de votre serveur en ligne, le jeton de vérification choisi dans .env (META_VERIFY_TOKEN), et abonnez-vous au champ messages. Renseignez META_APP_SECRET : d'après le kit lui-même, sans ce secret, le serveur accepte tous les messages sans vérifier la signature.

Sans le kit : le prompt pour partir de zéro

Si vous préférez ne dépendre d'aucun kit, demandez directement à Claude Code, dans un dossier vide :

Prompt à copier
Écris un petit serveur Python (FastAPI) pour un agent WhatsApp, en suivant la documentation officielle de Meta WhatsApp Cloud API et de l'API Claude :
1. GET /webhook : vérifie hub.verify_token et renvoie hub.challenge.
2. POST /webhook : vérifie la signature X-Hub-Signature-256 avec l'App Secret, répond 200 tout de suite, traite le message en arrière-plan.
3. Ignore les doublons grâce à l'identifiant du message, et les notifications qui ne sont pas des messages texte.
4. Garde l'historique de chaque numéro dans SQLite.
5. Appelle claude-sonnet-5-5 avec mes consignes en prompt système, mises en cache.
6. Lis tous les secrets dans .env, jamais dans le code.
Écris aussi un test local qui simule un client, et explique-moi chaque fichier en français.

Limites, coût et garde-fous

  • La fenêtre de 24h : l'agent répond librement dans les 24h qui suivent le dernier message du client. Écrire en premier demande un modèle de message validé par Meta, facturé.
  • Le coût : l'API Claude se paie au jeton, chaque réponse renvoyant les consignes et l'historique ; le cache de prompt et un historique raccourci limitent la note. S'ajoutent l'hébergement et, hors fenêtre de 24h, les messages Meta.
  • Un humain derrière : réclamation, urgence ou demande de devis doivent vous être transmises, pas traitées par l'IA. Relisez les conversations chaque semaine au début.
  • La maintenance : un serveur à vous, c'est aussi des mises à jour à faire. Si personne ne peut s'en occuper, un outil comme n8n est plus simple à reprendre.

Sécurité. Le kit est publié par un particulier, pas par Meta ni Anthropic : lisez ses fichiers avant de les exécuter et relisez le code que Claude écrit. Son fichier .claude/settings.local.json autorise d'avance Claude à écrire des fichiers et à lancer git, docker ou pip install sans vous demander : retirez les lignes qui ne vous conviennent pas avant de démarrer. Le jeton Meta permanent permet d'écrire au nom de votre entreprise et la clé Anthropic engage votre facture : elles vont dans .env, vérifié comme ignoré par git (git check-ignore .env), jamais dans un message ni une capture.

Sources

Vous voulez cet agent sans le monter vous-même, avec les consignes, les garde-fous et le suivi ? C'est ce que je livre dans mes agents IA sur mesure.