ClawLink

How to connect WhatsApp Business to OpenClaw

Connect WhatsApp Business to OpenClaw with ClawLink: no permanent access token, no app secret, no phone-number-ID plumbing. 17 WhatsApp tools your agent can call from chat. Requires a WhatsApp Business Account with Cloud API access.

Get started for free
OpenClaw
OpenClaw
ClawLink
ClawLink
WhatsApp Business
WhatsApp Business
WhatsApp BusinessOAUTH2MCP

Send messages and manage conversations through the WhatsApp Business API. Requires a Meta developer account and verified business.. Once connected, OpenClaw can read and act on WhatsApp Business from chat — pairing, token refresh, and tool wiring handled for you.

17 tools

The usual route to WhatsApp Business access for OpenClaw is an MCP server you configure and keep running, plus your own OAuth app or API keys. ClawLink gives OpenClaw a more practical WhatsApp Business setup: install one ClawHub skill, connect WhatsApp Business in the browser, and OpenClaw can call real WhatsApp Business actions from any chat surface with no auth, token refresh, or tool wiring to build yourself.

Copy this prompt into OpenClaw, or open the WhatsApp Business skill on ClawHub.

Prompt for OpenClaw
Before installing anything, inspect the ClawHub skill metadata and setup requirements.
If the skill asks you to install a third-party package or CLI, verify its source, maintainer, and package contents before running the install command.
Install the skill "WhatsApp Business" (hith3sh/whatsapp-messaging) from ClawHub only after those checks pass.
Skill page: https://clawhub.ai/hith3sh/whatsapp-messaging
Keep the work scoped to this skill only.
After install, help me finish setup from verified skill metadata.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Setup

It takes three steps to connect OpenClaw to WhatsApp Business.

  1. 1

    Install the plugin

    Paste the setup prompt into OpenClaw, or install from the terminal and ask OpenClaw to pair:

    openclaw plugins install clawhub:clawlink-plugin
  2. 2

    Connect WhatsApp Business

    One-click OAuth in the dashboard.

  3. 3

    Use it from chat

    Ask OpenClaw: "What can you do with WhatsApp Business?"

Install by command

The setup prompt above does all of this in one paste. By hand, it is one install command plus a browser approval:

openclaw plugins install clawhub:clawlink-plugin

Then ask OpenClaw to set up ClawLink. It starts browser pairing and prints an approval link — open it, approve the device, return to the chat, and say done. Finally, connect WhatsApp Business in the ClawLink dashboard — a one-click OAuth approval, no API keys.

Verify the connection by asking OpenClaw:

Use whatsapp_get_phone_numbers to pick the right sending number, then reply to <customer number> with whatsapp_send_message answering their last question. Show me the text before sending.

Using a different agent?

The OpenClaw plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

npx -y @useclawlink/cli login

login opens the same browser approval and stores a credential locally. Once WhatsApp Business is connected in the dashboard, that agent calls the same 17 WhatsApp Business tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

WhatsApp Business MCP for OpenClaw

Looking for a WhatsApp Business MCP server for OpenClaw? ClawLink connects WhatsApp Business to OpenClaw and exposes 17 WhatsApp Business tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using Hermes instead? The Hermes WhatsApp Business integration works the same way.

One thing to get straight before you start, because most guides blur it: this integration needs a WhatsApp Business Account with Cloud API access already set up on Meta's side. That part is Meta's onboarding and nobody can remove it for you. What ClawLink removes is everything after it — the permanent access token, the app secret, and the business-account and phone-number ids you would otherwise be copying between Meta's dashboard and a config file. You connect once in the browser and OpenClaw can call the 17 WhatsApp tools below. This is also not the consumer WhatsApp app: there is no QR-code pairing here, and anything you read about openclaw channels add with a phone scan is describing a different setup that drives your personal account rather than the Business API.

What the OpenClaw WhatsApp Business integration can do

17 WhatsApp Business tools are ready for OpenClaw once the account is connected. The 16 below are the ones people reach for most; your agent can call all 17.

16 of 17 WhatsApp Business tools for OpenClaw

ToolWhat it does
Create message template whatsapp_create_message_templateCreate a new message template for the WhatsApp Business Account. Templates must be approved by WhatsApp before they can be used.
Get business profile whatsapp_get_business_profileGet the business profile information for a WhatsApp Business phone number. This includes business details like description, address, website, and contact info.
Get media info whatsapp_get_media_infoGet metadata and download URL for uploaded WhatsApp media. Returns media ID, download URL (valid for 5 minutes), MIME type, SHA256 hash, and file size.
Get message templates whatsapp_get_message_templatesGet all message templates for the WhatsApp Business Account. Templates are required for sending messages outside the 24-hour window and for marketing/utility messages.
Get phone number whatsapp_get_phone_numberRetrieve detailed information about a specific WhatsApp Business phone number.
Get phone numbers whatsapp_get_phone_numbersRetrieve all phone numbers registered to your WhatsApp Business Account. Returns phone number IDs, display numbers, verification status, quality ratings, and messaging throughput limits.
Get template status whatsapp_get_template_statusGet the status and details of a specific message template. This is useful for checking if a template has been approved, rejected, or is still pending review.
Send contacts whatsapp_send_contactsSend contacts WhatsApp number. Note: The message will be delivered to the recipient only if they have initiated a conversation first.
Send interactive buttons whatsapp_send_interactive_buttonsSend an interactive button message with up to 3 reply buttons to a WhatsApp user. Interactive button messages allow recipients to quickly respond by tapping predefined buttons.
Send interactive list whatsapp_send_interactive_listSend an interactive list message to a WhatsApp number. List messages display a menu of options organized into sections. Users tap a button to view the list and select one option.
Send location whatsapp_send_locationSend a location message with coordinates, name, and address to a WhatsApp user. This action allows you to share location information through WhatsApp Business API.
Send media whatsapp_send_mediaSend a media message to a WhatsApp number
Send media by ID whatsapp_send_media_by_idSend media using a media ID from previously uploaded media
Send message whatsapp_send_messageSend a text message to a WhatsApp user
Send template message whatsapp_send_template_messageSend a template message to a WhatsApp number
Upload media whatsapp_upload_mediaUpload media files (images, videos, audio, documents, stickers) to WhatsApp servers

Try it: find the WhatsApp Business tool you need

Browse the 16 WhatsApp Business tools

Click any tool to see exactly what OpenClaw can do and copy a ready-to-use prompt.

Example prompts

Use whatsapp_get_phone_numbers to pick the right sending number, then reply to <customer number> with whatsapp_send_message answering their last question. Show me the text before sending.

List approved templates with whatsapp_get_message_templates, pick the one named <template>, and send it to <number> with whatsapp_send_template_message filling the variables from the details above. Confirm which template you used.

Send <number> an interactive message with whatsapp_send_interactive_buttons offering "Confirm", "Reschedule", and "Cancel". Only do this if they messaged us in the last 24 hours — check first and tell me if they did not.

Use whatsapp_get_template_status for the template named <template> and tell me whether it is approved, pending, or rejected, and the reason if it was rejected.

How the WhatsApp tools behave

Rules that come from Meta rather than from ClawLink, and that decide whether a message actually leaves.

  • The 24-hour customer service window governs everything. Free-form sends work only within 24 hours of the contact's last message. Outside it, only approved templates go out, and the tools return 131047 to tell you so.
  • Sending is addressed by phone number id, not the display number. whatsapp_get_phone_numbers returns the ids, along with verification status, quality rating, and throughput limits, which is also the quickest health check on a connection.
  • Templates need approval before use. whatsapp_create_message_template submits, whatsapp_get_template_status reports, whatsapp_get_message_templates lists what is usable now. Draft them before you need them.
  • Template deletion is irreversible and wider than it looks. Deleting by name removes every language version, and the name is unusable for 30 days afterwards.
  • Media is upload-then-send, and download URLs expire in 5 minutes. Use whatsapp_upload_media followed by whatsapp_send_media_by_id, and treat the URL from whatsapp_get_media_info as immediately-use-only.
  • Interactive messages have hard limits. Buttons cap at three per message with 20-character titles; lists allow up to 10 sections of 10 items. Both still require the recipient to have messaged first.

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want WhatsApp Business working from chat.

ManualClawLink
Connection flowRegister a WhatsApp Business app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift.Users connect WhatsApp Business through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for WhatsApp Business.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right WhatsApp Business actions to the runtime in a format your agent can reliably use.17 tools for WhatsApp Business are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes WhatsApp Business to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for OpenClaw users instead. You install the plugin once, connect WhatsApp Business in the browser, and the 17 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

OpenClaw installed the WhatsApp Business skill but can't call the tools

The ClawHub skill teaches OpenClaw about WhatsApp Business, but the calls run through the ClawLink plugin and your connected account. Make sure WhatsApp Business is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.

Connection succeeds but no tools appear

Reconnect WhatsApp Business from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

"Tool schema not loaded yet" error when calling WhatsApp Business tools

WhatsApp Business tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every WhatsApp Business call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

WhatsApp Business returns 403 or "permission denied" on one action while others work

Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

WhatsApp returns error 131047 "Re-engagement message"

This is the 24-hour window, and it is the most common WhatsApp failure by a wide margin. The recipient has not messaged your business in the last 24 hours, so Meta refuses free-form content and requires an approved template instead. Nothing about the connection is wrong and reconnecting will not help. Have the agent list what is available with whatsapp_get_message_templates and send with whatsapp_send_template_message, or, if no suitable template exists, submit one with whatsapp_create_message_template and wait for approval before retrying. The same rule is why interactive buttons and list messages also fail on cold contacts.

Ask the agent to diagnose it:

Call whatsapp_get_message_templates and show me every approved template with its name and language. Do not try to send anything else until I pick one.
WhatsApp returns error 133010 or 131026 on a number that looks correct

These are two different rejections and they need different responses. 133010 means the number does not have a WhatsApp account at all, so no amount of retrying or reformatting will deliver it — verify the number with the customer. 131026 means the message is undeliverable, and the usual cause is that the recipient blocked your business number or the number is unable to receive at that moment. Before assuming either, confirm the sending side is right: WhatsApp tools address a specific business number by its phone number id, not by the display number, so run whatsapp_get_phone_numbers first and use the id from that result.

Ask the agent to diagnose it:

Run whatsapp_get_phone_numbers and tell me which phone number ids this connection can send from, along with each one's verification status and quality rating.
WhatsApp media fails to send or the download link has stopped working

Media has its own two-step shape and a short expiry that catches people out. To send a file you upload it first with whatsapp_upload_media and then send it by id with whatsapp_send_media_by_id, or send by URL with whatsapp_send_media. Going the other way, whatsapp_get_media_info returns a download URL that is valid for five minutes only, so an agent that fetches metadata, does something else, and then tries to download will find a dead link. Ask it to fetch and download in the same step rather than storing the URL for later.

OAuth finished in the browser but the account is still missing

Try reconnecting WhatsApp Business and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.

FAQ

Is there a OpenClaw WhatsApp Business integration?

Yes. ClawLink is the fastest way to connect OpenClaw to WhatsApp Business: link your WhatsApp Business account once in the browser and OpenClaw can call the WhatsApp Business API through 17 ready-made tools — no custom code or token handling.

How do I add WhatsApp Business to OpenClaw with ClawLink?

Paste the setup prompt from this page into OpenClaw. It installs the ClawLink WhatsApp Business skill from ClawHub, then you click Connect in the dashboard to authorize WhatsApp Business. OpenClaw calls the tools from the next message — no config files or API keys to manage.

How long does it take to connect WhatsApp Business to OpenClaw?

About two minutes. Sign in, click Connect next to WhatsApp Business in the dashboard, authenticate, and OpenClaw can use it from the next chat message.

Why use ClawLink instead of wiring WhatsApp Business up myself?

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want WhatsApp Business working from chat.

Do I need a WhatsApp Business Account and Meta setup?

Yes. A WhatsApp Business Account with Cloud API access is a prerequisite, and the dashboard flags this integration as needing Meta setup for exactly that reason. What you do not need is the part that usually goes wrong: generating a permanent access token, storing an app secret, and keeping the business-account id and phone-number id in sync in a config file. If you do not have Cloud API access yet, set that up with Meta first — connecting here before that exists will not work, and it is the most common reason a first attempt fails.

Is this the WhatsApp app on my phone or the Business API?

The Business API. That distinction matters because most OpenClaw WhatsApp content describes the other thing — pairing your personal WhatsApp by scanning a QR code so the agent reads and sends from your own account. That approach drives the consumer app, is not what Meta supports for automation, and can get a number blocked. This integration talks to WhatsApp Business Cloud API through your business phone number, with templates, approvals, and the 24-hour messaging window that Meta requires of business senders.

Why can the agent only reply to people who messaged first?

That is Meta's customer service window and it applies to everyone using the Business API, not something ClawLink imposes. You can send free-form messages only within 24 hours of the customer's last message. Outside that window you must send an approved message template instead, which is why the toolset includes template creation, listing, and status checks alongside the send tools. An agent that tries a normal message to a cold contact gets error 131047, which means exactly this: use a template.

Can the agent create its own message templates?

It can submit them, but WhatsApp has to approve them before they can be used, and approval is not instant. whatsapp_create_message_template submits a template and whatsapp_get_template_status tells you where it stands, so a sensible workflow is to have the agent draft and submit templates ahead of time rather than at the moment you want to send. One irreversible detail worth knowing: deleting a template removes every language version under that name, and the name cannot be reused for 30 days.

OpenClaw installed the WhatsApp Business skill but can't call the tools

The ClawHub skill teaches OpenClaw about WhatsApp Business, but the calls run through the ClawLink plugin and your connected account. Make sure WhatsApp Business is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.