Crea un bot de Grok para WhatsApp
Los bots de Grok están de moda. Así pones uno en WhatsApp, donde ya están tus clientes: lee cada mensaje entrante, le pide a Grok una respuesta con el tono de tu negocio y contesta desde tu propio número.
Qué necesitas
- Un número de Flow API vinculado a WhatsApp (prueba gratis de 7 días)
- Una clave de API de xAI desde console.x.ai
- n8n, o un pequeño servidor que pueda recibir un webhook
Lo más rápido: respuesta automática con IA integrada
Sin n8n y sin servidor. En la consola de Flow API abre tu número → Respuesta automática con IA, elige Grok, pega tu clave de xAI, escribe tus instrucciones y actívala. Cada mensaje entrante despierta al bot: lee la conversación reciente, muestra «escribiendo…» y responde. Cuando respondes tú en un chat, el bot se queda callado ahí durante 30 minutos.
Opción A: sin código, con n8n
- 1Añade un Flow API Trigger (nodo comunitario n8n-nodes-flowapi) en modo Incoming Message. Al activar el flujo, el webhook se configura solo.
- 2Añade un nodo AI Agent con el modelo xAI Grok Chat Model y tu clave de xAI.
- 3En el mensaje de sistema del agente describe tu negocio, horarios y tono, e indica cuándo pasar la conversación a una persona.
- 4Añade un nodo Flow API: Send Text Message a {{ $json.chatId }} con la respuesta del agente.
- 5Activa el flujo y escribe a tu número desde otro teléfono.
Opción B: 30 líneas de Python
En la consola de Flow API pon como Webhook URL de tu número la dirección /whatsapp de este servidor y ejecuta:
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"Que parezca humano
- Llama a sendTyping antes de responder para que el cliente vea «escribiendo…».
- Respuestas de pocas líneas: WhatsApp es un chat.
- Dale al bot una salida clara: «Un miembro del equipo te responderá en breve» cuando no esté seguro.
Que Grok actúe, no solo responda
En lugar de una respuesta fija, dale a Grok el enlace MCP de Flow API como herramienta MCP remota. Así puede leer el historial de la conversación, enviar tu lista de precios en PDF o crear un grupo con tu equipo, por su cuenta.
Questions
¿El bot necesita aprobación de Meta o plantillas?
No. Flow API vincula tu número de WhatsApp actual como dispositivo, así que el bot responde con mensajes normales.
¿Cuánto cuesta?
Flow API cuesta $10 por número al mes. El uso de Grok lo factura xAI por tokens.
7 days free, no credit card. Then $10 per number per month.