Connector guide8-minute read14 MCP tools7 languages

Connect WhatsApp Business to Microsoft Copilot via MCP

Send WhatsApp messages, templates, media and buttons from Copilot through Meta's official Cloud API.

HCBy HelpCode teamUpdated 8 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

WhatsApp Business Cloud API

WhatsApp Business Cloud API

Send WhatsApp messages (text, templates, images, audio/voice notes, video, documents, location, interactive buttons) from a WhatsApp Business account using Meta's Cloud API. Free tier of 1000 service conversations per month per business account.

tools

14

Region

INTL

Category

Messaging

Authentication

Bearer Token

Required env vars

WHATSAPP_ACCESS_TOKENWHATSAPP_BUSINESS_ACCOUNT_ID
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Summary

Send WhatsApp messages, templates, media and buttons from Copilot through Meta's official Cloud API.

Guided setup

Connect WhatsApp Business Cloud API to Microsoft Copilot in 2 minutes

Start a free trial on AnythingMCP Cloud, connect WhatsApp Business Cloud API in the guided setup, then add your MCP URL to Microsoft Copilot. No code and no server to run.

No credit card · 7-day trial · Self-host alternative available

Try asking

Example prompts for WhatsApp Business Cloud API

Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.

WhatsApp Business Cloud API · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → WhatsApp Business, paste your permanent System User access token + WhatsApp Business Account ID, then connect Copilot — done. No Docker, no git clone, no local server to run. You can skip the local-install steps below and jump straight to the client-wiring section.

Connect WhatsApp Business to Copilot

WhatsApp Business Cloud API is Meta's hosted gateway for sending WhatsApp messages programmatically — text, templates, media, voice notes, interactive buttons, location pins. With AnythingMCP you drive all of it from Microsoft Copilot in plain English. No SDK to glue, no JSON-by-hand for every message type.

What you can ask Copilot

  • "Send 'Your order has shipped — track it at https://acme.com/t/12345' to +49 151 5123 4567." Uses whatsapp_send_text_message (only inside the 24-hour window, see below).
  • "Send the order_confirmation template (en_US) to +1 555 123 4567, fill in 'John' and 'ORD-9912'." Uses whatsapp_send_template_message.
  • "Send the invoice PDF at https://acme.com/inv/9912.pdf to my customer with caption 'Invoice 9912'." Uses whatsapp_send_document.
  • "List the approved templates on my WABA, then send the welcome one in Italian to this new lead." Uses whatsapp_list_message_templates, then whatsapp_send_template_message.
  • "Ask the customer to pick a delivery slot: morning, afternoon or evening." Uses whatsapp_send_interactive_buttons (up to three reply buttons).
  • "Update our WhatsApp business profile: new address and opening hours in the description." Uses whatsapp_update_business_profile.

What you need

  • A WhatsApp Business Account (WABA) with at least one verified sending number. Meta's test number works for trying things out, but only sends to numbers you have added as testers.
  • A permanent System User access token with whatsapp_business_messaging + whatsapp_business_management permissions (the temporary 24h dev token works for testing but expires).
  • Approved message templates for anything you send outside the 24-hour window. You create them in Meta Business Suite; Meta has to approve them before they can be sent.
  • AnythingMCP running locally or on cloud.anythingmcp.com (3-minute setup).
  • A work account with access to Copilot Studio (to add the connector to Microsoft Copilot).

Meta charges for WhatsApp Business messages according to its own price list, separately from AnythingMCP; see Meta's WhatsApp pricing page for your countries.

Step 1 — Get your WhatsApp Business credentials

  1. Open https://developers.facebook.com/ → your App → WhatsApp → API Setup. Note the WhatsApp Business Account ID (WABA ID).
  2. Go to Meta Business Suite → Business Settings → System Users, create a System User, assign your WABA, and Generate a New Token with both whatsapp_business_messaging and whatsapp_business_management permissions. Copy it — you can't see it again.
  3. Make sure your sending phone number is verified in API Setup (the test number works out of the box; for production, add and verify your own).

Step 2 — Install the WhatsApp Business adapter

curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d

Open http://localhost:3000/connectors/store, click WhatsApp Business, and fill in:

FieldValue
WHATSAPP_ACCESS_TOKENthe permanent System User token
WHATSAPP_BUSINESS_ACCOUNT_IDyour WABA ID (e.g. 123456789012345)

Click Install — the adapter is now in your catalog with 14 tools.

Step 3 — Find your phoneNumberId once

Ask Copilot to call whatsapp_list_phone_numbers. It reads the numbers on the WABA you configured and returns the id of each sending number — pin that value, every send tool needs it as phoneNumberId. The connector does not pick a default number for you.

Recipients go in the to field in international format, country code first and without the +: 4915151234567 for a German mobile, 15551234567 for the US.

Step 4 — Add the connector in Microsoft Copilot

Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide shows YOUR_SERVER_ID.

Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.

  1. In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
  2. Enter a Server name (for example AnythingMCP), a Server description that says what the connector does, and the Server URL https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server.
  3. Under authentication, choose API key, set Type to Header and the header name to X-API-Key, then select Create.
  4. In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
  5. Try it in the agent's Test pane: ask for something that needs the WhatsApp Business tools.
  6. Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.

Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.

Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.

Available tools (14 total)

GroupTools
Discoverywhatsapp_list_phone_numbers, whatsapp_list_message_templates, whatsapp_get_message_template
Text & templatewhatsapp_send_text_message, whatsapp_send_template_message
Media (URL or media ID)whatsapp_send_image, whatsapp_send_audio, whatsapp_send_video, whatsapp_send_document
Interactive & locationwhatsapp_send_location, whatsapp_send_interactive_buttons
Read receipts & profilewhatsapp_mark_message_as_read, whatsapp_get_business_profile, whatsapp_update_business_profile

The 24-hour window — what your agent needs to know

WhatsApp only lets you send free-form messages (text, media, interactive, location) inside the 24 hours following the user's last inbound message to your number. Outside that window the only allowed sends are pre-approved templates — call whatsapp_send_template_message with the template name and language.

The adapter's instructions block tells Copilot this rule, so when you ask "send a follow-up to that customer" days after their last reply, Copilot will reach for whatsapp_send_template_message instead of free-form text.

Voice notes

Use whatsapp_send_audio with link pointing to an OGG-Opus file hosted on a public HTTPS URL. WhatsApp renders OGG-Opus as a true voice message (waveform + play button). MP3 and AMR also work but render as plain audio attachments.

Troubleshooting

  • Everything worked yesterday, now every call is refused. You are probably still on the temporary access token from API Setup, which expires after 24 hours. Generate a permanent System User token and replace WHATSAPP_ACCESS_TOKEN.
  • Sending fails, reading templates works. The System User token lacks whatsapp_business_messaging, or the System User is not assigned to this WABA. Both permissions are needed: whatsapp_business_management for templates and numbers, whatsapp_business_messaging for sending.
  • A template send is rejected. The template is not yet APPROVED, or the name or language code doesn't match exactly. Have Copilot check with whatsapp_list_message_templates first.
  • An image or document never arrives. The link has to be a public HTTPS URL that Meta's servers can download, within WhatsApp's size limits (image 5 MB, audio and video 16 MB, document 100 MB).
  • The recipient number is rejected. Use the international format without +, spaces or a leading zero, for example 4915151234567.

FAQ

Does this work without a verified business number? Meta's test number works for testing (only sends to numbers you've added as testers). For production sends to any recipient, your sending number must be verified and registered to your WABA.

What happens if I send free-form text outside the 24h window? Meta returns error code 131047 ("Re-engagement message"). Use whatsapp_send_template_message instead.

Can the adapter receive inbound messages? Not directly — Meta uses webhooks for inbound, and the AnythingMCP REST engine is outbound-only. Host a small webhook receiver next to AnythingMCP and use this connector for outbound + whatsapp_mark_message_as_read for receipts.

Is it free? AnythingMCP is open source under AGPL-3.0, so self-hosting is free, including commercial use inside your own company; AnythingMCP Cloud comes with a 7-day free trial. WhatsApp messages themselves are billed by Meta according to its pricing.

Is my data stored by AnythingMCP? Your Meta access token is stored encrypted (AES-256-GCM) in your workspace and is never shown to Copilot. AnythingMCP passes each send request to Meta and the response back to Copilot, and every call is recorded in your workspace's audit log. Inbound messages never reach AnythingMCP; they go to your own webhook.

Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.

What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.

The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.

Next steps

Was this guide helpful?

Connect WhatsApp Business Cloud API to Microsoft Copilot in 2 minutes

Start a free trial on AnythingMCP Cloud, connect WhatsApp Business Cloud API in the guided setup, then add your MCP URL to Microsoft Copilot. No code and no server to run.

Related guides