Créer un bot Grok pour WhatsApp
Les bots Grok ont le vent en poupe. Voici comment en mettre un sur WhatsApp, là où sont déjà vos clients : il lit chaque message entrant, demande à Grok une réponse dans le ton de votre entreprise et répond depuis votre propre numéro.
Ce qu’il vous faut
- Un numéro Flow API lié à WhatsApp (essai gratuit de 7 jours)
- Une clé d’API xAI sur console.x.ai
- n8n, ou un petit serveur capable de recevoir un webhook
Le plus rapide : la réponse automatique IA intégrée
Ni n8n ni serveur. Dans la console Flow API, ouvrez votre numéro → Réponse automatique IA, choisissez Grok, collez votre clé xAI, écrivez vos instructions et activez. Chaque message entrant réveille le bot : il lit la conversation récente, affiche « en train d’écrire… » et répond. Quand vous répondez vous-même dans une discussion, le bot s’y tait pendant 30 minutes.
Option A : sans code, avec n8n
- 1Ajoutez un Flow API Trigger (nœud communautaire n8n-nodes-flowapi) en mode Incoming Message. L’activation du workflow configure le webhook automatiquement.
- 2Ajoutez un nœud AI Agent avec le modèle xAI Grok Chat Model et votre clé xAI.
- 3Dans le message système de l’agent, décrivez votre activité, vos horaires et votre ton, et indiquez quand passer la main à une personne.
- 4Ajoutez un nœud Flow API : Send Text Message vers {{ $json.chatId }} avec la réponse de l’agent.
- 5Activez, puis écrivez à votre numéro depuis un autre téléphone.
Option B : 30 lignes de Python
Dans la console Flow API, indiquez comme Webhook URL de votre numéro l’adresse /whatsapp de ce serveur, puis lancez :
import os, requests
from flask import Flask, request
app = Flask(__name__)
SEND = "https://flowapi.pro/waInstance{idInstance}/sendMessage/{apiTokenInstance}"
PROMPT = "You are the WhatsApp assistant of Bright Dental Clinic. Answer briefly and kindly."
@app.post("/whatsapp")
def whatsapp():
n = request.get_json()
if n.get("typeWebhook") != "incomingMessageReceived":
return "ok"
chat = n["senderData"]["chatId"]
text = n["messageData"].get("textMessageData", {}).get("textMessage", "")
if not text or chat.endswith("@g.us"):
return "ok"
r = requests.post("https://api.x.ai/v1/responses",
headers={"Authorization": f"Bearer {os.environ['XAI_API_KEY']}"},
json={"model": "grok-4.3", "input": [
{"role": "system", "content": PROMPT},
{"role": "user", "content": text}]}, timeout=60).json()
reply = next(c["text"] for o in r["output"] if o["type"] == "message"
for c in o["content"] if c["type"] == "output_text")
requests.post(SEND, json={"chatId": chat, "message": reply}, timeout=30)
return "ok"Pour que ça sonne humain
- Appelez sendTyping avant de répondre pour que le client voie « en train d’écrire… ».
- Des réponses de quelques lignes : WhatsApp, c’est une discussion.
- Donnez au bot une porte de sortie claire : « Un membre de l’équipe vous répond très vite » quand il n’est pas sûr.
Laissez Grok agir, pas seulement répondre
Au lieu d’une réponse fixe, donnez à Grok le lien MCP de Flow API comme outil MCP distant. Il peut alors lire l’historique de la conversation, envoyer votre grille tarifaire en PDF ou créer un groupe avec votre équipe, tout seul.
Questions
Le bot a-t-il besoin d’une validation de Meta ou de modèles de messages ?
Non. Flow API lie votre numéro WhatsApp actuel comme appareil, donc le bot répond avec des messages normaux.
Combien ça coûte ?
Flow API coûte 10 $ par numéro et par mois. L’utilisation de Grok est facturée par xAI au token.
7 days free, no credit card. Then $10 per number per month.