Your customers live on WhatsApp. Your best thinking happens in Claude or ChatGPT. Kapso is the bridge between the two, and the basic connection takes minutes, not weeks. This guide walks you through five ways to wire them together, from asking Claude “which customers are still waiting on a reply?” to a no-code AI agent that answers order questions at 2 a.m. You will also learn the one Meta rule that decides what you are actually allowed to build.
Quick context first. Kapso calls itself WhatsApp for developers. It runs on Meta’s official WhatsApp Business Platform, it is a Meta Business Partner, and it says more than 40,000 developers use it. The company started in Chile and raised a $1.4 million seed round to grow the platform.
Why should you care? Connecting WhatsApp to an AI model the hard way means creating a Meta app, verifying a business, wiring webhooks and juggling access tokens. Kapso handles that plumbing and hands you a number, an API key and an MCP server. You bring the AI.
Read This First: The Meta Rule That Shapes Everything
Since January 15, 2026, Meta’s WhatsApp Business Solution Terms stop AI companies from using the Business API to distribute general purpose chatbots. That is why 1-800-ChatGPT no longer works on WhatsApp, and why Meta AI is now the only open-ended assistant inside the app.
Here’s the thing, though. Business use of AI is still allowed. A support bot, a booking assistant or an order tracker powered by Claude or GPT is fine, because the AI serves your business rather than being the product itself.
What this really means for you:
- Build this: Acme Bakery’s order assistant, running on Claude.
- Not this: a public “ask me anything” ChatGPT clone on a WhatsApp number.
- Also note: the same terms say you cannot let WhatsApp business data train AI models, except to fine-tune a model used only by you.
Keep your AI scoped to your business and you are on the right side of the line.
Two Directions. Pick Yours.
People mean two very different things when they say “connect WhatsApp to Claude.” Sometimes they want the AI to work on their WhatsApp account. Other times they want it to talk to their customers. Kapso does both.
| What you want | Example | Kapso route | Skill level |
|---|---|---|---|
| Your AI assistant reads and acts on your WhatsApp | “Summarize today’s unanswered chats” | MCP server in Claude, ChatGPT, Cursor or Codex | Beginner |
| An AI agent replies to customers, no code | Order tracking bot on Claude or GPT | Workflows with an Agent node | Beginner to intermediate |
| Your own app with any LLM | Support bot on Gemini, Mistral or a local model | Webhook plus the Kapso API | Developer |
| A personal agent you message from your phone | “Remind me to call the bank at 9” | Hermes Agent plugin | Developer |
Step 0: Get a WhatsApp Number Into Kapso
Every route below starts here. It takes a few minutes and costs nothing.
- Sign up. Create a free account at app.kapso.ai. The free plan needs no credit card.
- Choose your number. Kapso offers three options. A Kapso number is a US number that is ready on signup with no SIM card. Your own SIM works for any number in any country after a one-time verification. Or you can link the WhatsApp Business app you already use, and messages sync into Kapso without a migration.
- Not ready to commit? Use the sandbox. Every plan includes a shared sandbox number. Add the phone you will test from, then send the code Kapso shows you to the sandbox number. The code expires after 15 minutes.
- Create an API key. In your Kapso dashboard, open API keys and create a project key. Treat it like a password. Never paste it into a public repo or a shared doc.
Got your number and key? Pick your route.
Route 1: Connect Claude
Option A: Claude Code (the officially documented path)
Kapso has a dedicated Claude Code guide. It takes about a minute in your terminal.
- Store your key as an environment variable.
export KAPSO_API_KEY="your_project_api_key" - Register the Kapso MCP server.
claude mcp add --transport http kapso \ https://api.kapso.ai/mcp \ --header "Authorization: Bearer $KAPSO_API_KEY" - Check it connected. Run
claude mcp get kapsoand look for a Connected status. - Restart the session. MCP tools load when a session starts, so run
claude --continue. - Ask something harmless first. Try: List my WhatsApp numbers and their quality rating.
Want Claude to learn Kapso properly too? Install the Kapso plugin inside Claude Code. It bundles the MCP server with three agent skills for integrating, automating and debugging WhatsApp:
/plugin marketplace add gokapso/agent-plugins/plugin install kapso@kapso
Other agents that support the open Agent Skills format can grab the skills alone with npx skills add gokapso/agent-skills. If plugins are new to you, my roundup of Claude Code plugins and skills explains how they work.
Option B: The Claude app on web, desktop or mobile
Claude’s custom connectors accept any remote MCP server URL, and they are available on every plan. Free accounts get one custom connector. Kapso’s server supports browser sign-in through OAuth, so this should work without pasting a key. One honest caveat: Kapso’s own guides cover Claude Code, not the Claude app, so treat this as a quick test rather than a documented setup.
- In Claude, open Customize, then Connectors. Click +, then Add custom connector.
- Name it Kapso and paste
https://api.kapso.ai/mcpas the URL. - Click Add, sign in to Kapso when prompted and pick your project.
- In a new chat, click +, choose Connectors and switch Kapso on.
- Run a read-only question first, like Which of my WhatsApp chats are still open?
On Team and Enterprise plans, an Owner has to add the connector for the organization before members can switch it on.
Route 2: Connect ChatGPT
Kapso works inside ChatGPT as a plugin built on a custom MCP server. Kapso’s ChatGPT guide also covers OpenAI dots, which can then check your numbers and handle failed sends from ChatGPT, Slack or Teams.
- Open ChatGPT on the web, go to Plugins, click +, then Add custom MCP server.
- Enter these details:
Name Kapso Server URL https://api.kapso.ai/mcp Auth OAuth - Select I understand and want to continue, then Create as a plugin. Open it in your plugins and click + to install it.
- Sign in to Kapso and choose a project. No API key goes into the chat.
- Test it: List our WhatsApp numbers and their quality rating.
Now the catch. Kapso says this needs ChatGPT Business Premium, Enterprise or Edu. On Pro, ChatGPT only allows read-only tools from custom plugins, and Kapso’s WhatsApp tools are not available that way yet. On Business Premium and Enterprise, a workspace admin with Developer mode on adds the plugin for everyone.
One more tip. Set a Custom Rule so your dot asks before sending any message. An AI that can text your customers deserves a leash.
Route 3: Cursor, Codex or Any MCP Client
Any app that supports remote MCP servers over HTTP can use the same endpoint. In Cursor, add this to .cursor/mcp.json:
{ "mcpServers": { "kapso": { "url": "https://api.kapso.ai/mcp", "headers": { "Authorization": "Bearer ${env:KAPSO_API_KEY}" } } }}
Codex has its own setup page. Whichever client you use, the Kapso MCP server exposes the same tools: status, numbers, conversations, messages, templates, webhooks, customers, setup links and log search.
Prefer the lazy option? Paste this into your agent. It follows Kapso’s setup steps and asks before creating any keys.
Set up WhatsApp for this project with Kapso. Follow the steps atkapso.com/whatsapp-mcp-server and ask me before creating any keys.
Route 4: Build a Customer-Facing AI Agent Without Code
This is the route most small businesses want. Kapso Workflows is a visual canvas where an Agent node holds the conversation. You choose the model per node from Anthropic, OpenAI or OpenRouter. OpenRouter matters because it opens the door to dozens of other models beyond Claude and GPT.
- Create a workflow and set the trigger to an inbound WhatsApp message.
- Add a greeting with a Send Text step. Kapso can drop in the contact’s name.
- Add an AI Agent node and write a tight system prompt. Use the template below.
- Pick your model, for example a Claude model from Anthropic or a GPT model from OpenAI.
- Give it tools. The agent can call your deployed functions, any HTTP API through webhook tools, other MCP servers such as a store’s order system, and 2,700+ connected apps.
- Add a human handoff. When a run hands off, automated messages stop and a teammate takes over in the shared inbox.
- Test before going live. Chat as a fake customer from the dashboard. You see every step that ran and what each AI call cost in tokens.
- Activate it and message your number from your own phone.
Here is a system prompt you can adapt in two minutes:
You are the WhatsApp assistant for [Business Name].Only help with: order status, delivery times, opening hours and returns.Look up the order before answering any order question.Keep replies under 60 words. Use the customer's language.If a question is outside this list, or the customer is upset,say a team member will reply and hand off to a human.
Not in the mood to drag boxes around? Describe what you want to Kapso Agent, the built-in assistant, and it builds the workflow for you. Either way, AI usage runs on your project credits, which Kapso says carry no markup beyond a payment processing fee.
Route 5: Plug In Any LLM With a Few Lines of Code
Want Gemini, Mistral or a model running on your own server? Skip the canvas. The loop is simple: Kapso sends each incoming message to your webhook, your code asks the LLM, and your code sends the answer back through Kapso.
- Create the server. Save the code below as
server.js, runnpm install express, and add"type": "module"to yourpackage.json. - Set three environment variables:
KAPSO_API_KEY,PHONE_NUMBER_ID(shown in Kapso next to your number) and your LLM key. - Make it reachable. Run it on a server or use a tunnel so it has a public HTTPS URL.
- Add a webhook in Kapso for the
whatsapp.message.receivedevent, pointing tohttps://your-url/webhook. - Send your number a message. The reply should arrive within seconds.
// server.js (Node 18+)import express from "express";const app = express();app.use(express.json());const KAPSO_URL = "https://api.kapso.ai/meta/whatsapp/v24.0";const SYSTEM_PROMPT = "You are the WhatsApp assistant for Acme Bakery. Only answer questions about " + "orders, opening hours and delivery. If unsure, say a team member will reply.";async function askLLM(userText) { // Swap this block for OpenAI, Gemini, OpenRouter or a local model. const res = await fetch("https://api.anthropic.com/v1/messages", { method: "POST", headers: { "x-api-key": process.env.ANTHROPIC_API_KEY, "anthropic-version": "2023-06-01", "content-type": "application/json", }, body: JSON.stringify({ model: "claude-sonnet-5-5", max_tokens: 400, system: SYSTEM_PROMPT, messages: [{ role: "user", content: userText }], }), }); const data = await res.json(); return data.content?.[0]?.text ?? "Thanks! A team member will reply shortly.";}app.post("/webhook", async (req, res) => { res.sendStatus(200); // answer fast so Kapso does not retry if (req.get("X-Webhook-Event") !== "whatsapp.message.received") return; const msg = req.body?.message; const text = msg?.kapso?.content || msg?.text?.body; if (!text || !msg?.from) return; const reply = await askLLM(text); await fetch(`${KAPSO_URL}/${process.env.PHONE_NUMBER_ID}/messages`, { method: "POST", headers: { "X-API-Key": process.env.KAPSO_API_KEY, "Content-Type": "application/json", }, body: JSON.stringify({ messaging_product: "whatsapp", to: msg.from, type: "text", text: { body: reply }, }), });});app.listen(3000, () => console.log("Listening on port 3000"));
Let’s break down what to change before real customers touch it. Verify the X-Webhook-Signature header so only Kapso can call your endpoint. Store past messages so the LLM remembers the conversation. And if you switch on message buffering, Kapso sends batches, so loop through them. Kapso’s message events docs show the full payload. Prefer typed code? Kapso also ships a TypeScript client, @kapso/whatsapp-cloud-api.
Bonus: a personal agent on your phone
If you run the open source Hermes Agent, Kapso has a plugin that gives it a WhatsApp number. It handles text, photos, documents and voice notes. You install it with hermes plugins install gokapso/hermes-agent-plugin --enable, expose port 8648 over HTTPS, then run hermes kapso setup. Lock it to your own number with the allowed users setting. A private agent only you can message is a different thing from offering one to the public, but Meta’s terms give it wide discretion, so keep that in mind.
Five Prompts to Try Once You’re Connected
These work in Claude, ChatGPT, Cursor or any MCP client with Kapso switched on. Start with the read-only ones.
- Morning triage. Which WhatsApp chats are still waiting for a reply? Oldest first, with a one-line summary of each.
- Draft, don’t send. Draft replies to the three oldest unanswered chats. Show me every draft before sending anything.
- Failure detective. Why did yesterday’s messages fail? Check the logs and explain the error codes in plain English.
- Health check. Which of my numbers has a low quality rating, and what changed this week?
- Template picker. List my approved templates and tell me which one fits a delivery delay notice.
Prompt two is the habit worth building. Let the AI write, and keep the send button for yourself until you trust it.
What It Costs
Here is the current lineup from Kapso’s pricing page:
| Plan | Price | Messages per month | Connected numbers |
|---|---|---|---|
| Free | $0, plus a $2 welcome credit | 2,000 | 1, plus the sandbox |
| Pro | $25/month | 100,000, then $0.002 each | 3, then $10 per number |
| Platform | $299/month | 1,000,000, then $0.001 each | 50, then $5 per number |
| Enterprise | Custom | Custom | Custom |
Three costs sit outside these plans. Meta charges its own message fees, which Kapso passes through at cost. AI usage is billed with no markup, plus a 4.4% + $0.30 payment processing fee. And your Claude or ChatGPT plan has its own price. Every plan includes the MCP server, CLI, skills and unlimited AI agents and workflows.
Honest Limitations
- No public chatbot clones. Meta’s 2026 terms rule out general purpose assistants. Scope your bot to your business.
- The 24 hour rule. WhatsApp only lets you send free-form messages within the 24 hour customer service window after a customer’s last message. After that, you need an approved template. Your AI cannot cold-message people with whatever it likes.
- The sandbox is a playground. It only reaches phones with an active test session and cannot send templates. Real customers need your own connected number.
- ChatGPT is plan gated. Write access needs Business Premium, Enterprise or Edu. Pro users are out for now.
- The Claude app route is untested by Kapso. It relies on standard MCP and OAuth, but Kapso only documents Claude Code.
- MCP tools can act, not just read. They can send messages and change webhooks. Claude Code asks permission before running a tool, so read each request before you approve it.
- Some parts are early. Kapso labels its agent skills as alpha and the agent’s remote sandbox as beta.
- LLMs still make things up. Give the agent real tools to look up orders, cap the scope, and always keep a human handoff.
- Instant numbers are US only. Pre-verified numbers are American. Elsewhere, bring your own SIM or use local number pools, which are a paid add-on that needs your own Twilio account.
- Hermes needs uptime. Kapso does not host it. Your machine and its public URL must stay online.
If you set up Meta’s own tooling before, my walkthrough of Meta’s WhatsApp Business Tools MCP is a useful comparison. The same rule from my Wispr Flow MCP guide applies here too: connect one tool, start read-only, then widen access.
Who Should Set This Up Today
Small business owners: try Route 4 in the sandbox this afternoon. Build the order assistant, chat with it from your own phone, and only connect your real number once the answers feel right.
Support and ops leads: Route 1 or 2 gives you a morning triage habit. Ask Claude or ChatGPT what needs attention before you open the inbox.
Developers: Route 5 is about 60 lines and works with any model. Start there if you want full control.
Whichever route you pick, the free plan covers the testing. The worst case is an hour spent and a bot you decide not to launch.
Know a shop owner who still answers the same “are you open today?” message 40 times a week? Send them this post. Their evenings will thank you.
Sources and further reading
- Kapso, WhatsApp for developers.
- Kapso, Pricing.
- Kapso, WhatsApp MCP server for AI agents.
- Kapso, Use Claude Code with WhatsApp.
- Kapso, Use OpenAI Dots with WhatsApp.
- Kapso, Agent skills for WhatsApp.
- Kapso, WhatsApp Workflows.
- Kapso, WhatsApp API sandbox.
- Kapso, Connect Hermes to WhatsApp.
- Kapso Docs, Message events.
- Claude Help Center, Get started with custom connectors using remote MCP.
- WhatsApp, WhatsApp Business Solution Terms.
- Meta for Developers, Send messages: customer service windows.
- Eric Hal Schwartz, TechRadar, Meta will ban rival AI chatbots from WhatsApp.
- Dealroom, Kapso raises $1.4M seed to build WhatsApp infrastructure for LatAm developers.

Leave a Reply