whatsapp_browse_ template_ libraryBrowse the Template Library.
Send order updates and reminders as approved templates, reply inside the customer service window with text, photos, documents and buttons, submit new templates for review, and break spend down by category and country, all from the number you already run on WhatsApp.
PopMCPWhatsApp Business
Every call Meta documents for running a business's own WhatsApp number is here: messages, templates, media, phone numbers, the business profile, analytics, groups, Flows, calling and QR codes, with the everyday tools loaded and the rest one search away.
155 tools in the full catalog: 70 read and 85 write. 31 load by default, and the rest are found with tool search.
whatsapp_browse_ template_ libraryBrowse the Template Library.
whatsapp_delete_ templateDelete a template permanently: by name (every language of it), one language version with name plus hsm_id (the template id), or up to 100 templates with hsm_ids.
whatsapp_get_ templateOne template by id: components, status, category, quality score, rejection reason and click-tracking setting.
whatsapp_list_ templatesList this WhatsApp Business account's message templates with status, category, language, parameter format and components, so you know each template's variables before sending it.
whatsapp_get_ health_ statusCheck whether this number can send messages (health status).
whatsapp_get_ phone_ numberThis connection's phone number: display number, verified name, status (CONNECTED, PENDING, ...), quality rating (GREEN, YELLOW, RED), display name review, platform, test or live mode, throughput and the business portfolio's messaging limit (unique users per 24 hours outside service windows).
whatsapp_list_ phone_ numbersPhone numbers of this WhatsApp Business account with verified name, status, quality, throughput and test or live mode.
whatsapp_list_ flowsWhatsApp Flows of this account: id, name, status (DRAFT, PUBLISHED, DEPRECATED, BLOCKED, THROTTLED), categories and validation errors.
whatsapp_check_ tokenCheck this connection's access token and number in one call: whether the token is valid, its type, expiry and permissions, which app it belongs to, and the phone number's status and quality.
whatsapp_create_ message_ templateCreate a message template from plain inputs and submit it for review (usually minutes, up to 24 hours).
whatsapp_download_ mediaFetch a media file someone sent you (the image, document, audio or video id in a received message) or one you uploaded: images come back as an image you can look at (up to 4 MB), text files as text, anything else as its type, size and sha256.
whatsapp_mark_ as_ readMark a received message as read (the user sees blue ticks), optionally showing a typing indicator while you prepare the answer (it disappears when you reply, or after 25 seconds).
whatsapp_send_ interactive_ messageSend an interactive message: kind "buttons" (up to 3 reply buttons, titles up to 20 characters), "list" (a menu of up to 10 rows in up to 10 sections, opened by list_button_label), "cta_url" (one link button) or "location_request" (asks the user to share their location).
whatsapp_send_ media_ messageSend an image, video, audio file, document or sticker from a public https link or a media id.
whatsapp_send_ reactionReact to a message with an emoji (e.g. "👍"), or remove your reaction with an empty emoji.
whatsapp_send_ template_ messageSend an approved message template by name: the only way to message someone outside the 24-hour window (order updates, reminders, offers, codes).
whatsapp_send_ text_ messageSend a text message on WhatsApp from this connection's number.
whatsapp_get_ messaging_ analyticsGet messaging analytics.
whatsapp_get_ pricing_ analyticsGet pricing analytics (per-message cost and volume).
whatsapp_get_ template_ analyticsGet template analytics.
whatsapp_get_ whatsapp_ business_ accountThis connection's WhatsApp Business account (now called the Messaging account: templates, billing, webhooks): name, status, currency, time zone, template namespace, review and verification status, owning business, and primary_funding_id (missing means no payment method, so paid messages fail).
whatsapp_create_ or_ update_ qr_ codeCreate a QR code and wa.me link that opens a chat with this number with prefilled_message typed in, or change an existing one's message by passing its code.
whatsapp_get_ business_ profileThe business profile WhatsApp users see: about, address, description, email, websites, vertical (industry) and profile_picture_url.
whatsapp_list_ message_ historyDelivery history of messages sent from this number.
whatsapp_list_ qr_ codesQR codes and wa.me links of this number with their prefilled messages and image links.
whatsapp_send_ messageSend any WhatsApp message from this connection's number: text, image, video, audio, document, sticker, location, contacts, reaction, interactive (button, list, cta_url, flow, location_request, address_message, product, product_list, carousel), template, or a read receipt.
whatsapp_update_ business_ profileUpdate the business profile: about (up to 139 characters), address, description (up to 512), email, websites (up to 2 URLs), vertical.
whatsapp_block_ usersBlock WhatsApp users from messaging this number.
whatsapp_get_ mediaDetails of an uploaded or received media file: url (works only with this connection's token, for 5 minutes), mime_type, sha256 and file_size.
whatsapp_list_ blocked_ usersUsers this number has blocked (paged with after).
whatsapp_upload_ mediaUpload a file to WhatsApp and get a media id to send in messages (ids last 30 days and are faster than links for repeated sends).
whatsapp_archive_ templatesArchive templates.
whatsapp_compare_ templatesCompare two templates.
whatsapp_create_ templateCreate a message template and submit it for review (minutes, up to 24 hours; at most 100 new templates an hour).
whatsapp_create_ template_ groupCreate a template group.
whatsapp_delete_ template_ groupDelete a template group.
whatsapp_edit_ templateEdit a template's components, category, time to live or max price.
whatsapp_get_ template_ groupGet a template group.
whatsapp_list_ template_ groupsList template groups.
whatsapp_migrate_ templatesCopy templates from another WhatsApp Business account into this one.
whatsapp_preview_ authentication_ templatesPreview authentication template text.
whatsapp_unarchive_ templatesUnarchive templates.
whatsapp_update_ template_ groupUpdate a template group.
whatsapp_upsert_ authentication_ templatesCreate or update authentication templates in several languages.
whatsapp_add_ phone_ numberAdd a new phone number to this WhatsApp Business account: cc (country calling code, e.g. 1), phone_number (the national number) and verified_name (display name).
whatsapp_deregister_ phone_ numberDeregister this phone number from Cloud API: it stops sending and receiving until registered again.
whatsapp_get_ phone_ number_ settingsThis number's calling, Local Storage, identity-change check and payload encryption settings.
whatsapp_get_ whatsapp_ account_ numberGet WhatsApp Account Number Details.
whatsapp_register_ phone_ numberRegister this phone number for Cloud API messaging: needed once after adding and verifying a number, and after deregistering.
whatsapp_request_ display_ name_ changeRequest a new display name.
whatsapp_request_ verification_ codeSend a verification code to the business phone number by SMS or VOICE in a language (e.g. en_US), to prove ownership before registering it.
whatsapp_set_ two_ step_ verification_ pinSet or change the two-step verification PIN.
whatsapp_update_ phone_ numberChange this phone number's settings in one call: two-step PIN (pin), new display name (new_display_name), webhook override (webhook_configuration) or search visibility.
whatsapp_update_ phone_ number_ settingsChange this number's settings: calling (status ENABLED or DISABLED, call hours, callback permission, SIP), storage_configuration (Local Storage region), user_identity_change (enable_identity_key_check) or payload_encryption.
whatsapp_verify_ phone_ number_ codeSubmit the code received by SMS or voice call for this business phone number.
whatsapp_create_ flowCreate a WhatsApp Flow: name and categories (SIGN_UP, SIGN_IN, APPOINTMENT_BOOKING, LEAD_GENERATION, CONTACT_US, CUSTOMER_SUPPORT, SURVEY, OTHER); optionally flow_json (the Flow JSON, object or string) with publish true to publish at once, clone_flow_id to copy a Flow, endpoint_uri for a data endpoint.
whatsapp_delete_ flowDelete a DRAFT Flow (published Flows can only be deprecated).
whatsapp_deprecate_ flowDeprecate a published Flow so it can no longer be sent.
whatsapp_get_ business_ public_ keyGet Business Encryption Public Key.
whatsapp_get_ flowOne Flow with status, categories, validation errors, JSON version, data endpoint and health.
whatsapp_get_ flow_ preview_ urlGet a Flow's web preview link.
whatsapp_list_ flow_ assetsList Assets (Get Flow JSON URL).
whatsapp_migrate_ flowsCopy Flows by name from another WhatsApp Business account of the same business into this one.
whatsapp_publish_ flowPublish a DRAFT Flow so it can be sent.
whatsapp_set_ business_ public_ keySet Business Encryption Public Key.
whatsapp_update_ flowRename a Flow or change its categories or data endpoint.
whatsapp_upload_ flow_ jsonReplace a DRAFT Flow's Flow JSON: pass flow_json (object or string) and PopMCP sends it as the flow.json asset.
whatsapp_add_ group_ participantsAdd Group Participants.
whatsapp_approve_ group_ join_ requestsApprove Join Requests.
whatsapp_create_ groupCreate a WhatsApp group owned by this number (Groups API): subject, optional description and join_approval_mode.
whatsapp_create_ group_ invite_ linkCreate Group Invite Link.
whatsapp_delete_ groupDelete Group.
whatsapp_delete_ group_ invite_ linkDelete Group Invite Link.
whatsapp_get_ groupGet Group Info.
whatsapp_list_ group_ join_ requestsGet Join Requests.
whatsapp_list_ groupsGet Active Groups.
whatsapp_reject_ group_ join_ requestsReject Join Requests.
whatsapp_remove_ group_ participantsRemove Group Participants.
whatsapp_update_ groupUpdate Group Settings.
whatsapp_create_ messaging_ customer_ baseCreate a messaging customer base.
whatsapp_create_ signupCreate an In-App Signup.
whatsapp_enable_ template_ analyticsSwitch on template analytics.
whatsapp_get_ call_ analyticsGet call analytics.
whatsapp_get_ default_ messaging_ customer_ baseGet the default messaging customer base.
whatsapp_get_ group_ analyticsGet group analytics.
whatsapp_get_ signupGet an In-App Signup.
whatsapp_get_ template_ group_ analyticsGet template group analytics.
whatsapp_list_ messaging_ customer_ basesList messaging customer bases.
whatsapp_list_ signupsList In-App Signups.
whatsapp_set_ default_ messaging_ customer_ baseSet the default messaging customer base.
whatsapp_set_ template_ click_ trackingTurn button click tracking on or off for one template.
whatsapp_update_ signupUpdate or disable an In-App Signup.
whatsapp_check_ contact_ bookCheck whether an user's phone number is in the contact book.
whatsapp_create_ payment_ configurationCreate a payment configuration (India).
whatsapp_delete_ contact_ book_ entryDelete an user from the contact book.
whatsapp_delete_ payment_ configurationDelete a payment configuration (India).
whatsapp_delete_ usernameDelete the business username.
whatsapp_get_ parent_ bsuid_ accountGet the parent BSUID account.
whatsapp_get_ payment_ configurationGet a payment configuration (India).
whatsapp_get_ usernameGet the business username.
whatsapp_list_ payment_ configurationsList payment configurations (India).
whatsapp_list_ reserved_ usernamesList usernames reserved for this business.
whatsapp_lookup_ paymentLook up a payment (WhatsApp Payments, India).
whatsapp_regenerate_ payment_ configuration_ linkGet a new payment gateway linking link (India).
whatsapp_set_ usernameAdopt or change the business username.
whatsapp_update_ payment_ configurationUpdate a payment configuration (India).
whatsapp_create_ scheduleCreate WhatsApp Business Account Schedule.
whatsapp_list_ account_ activitiesGet WhatsApp Business Account Activities.
whatsapp_list_ partner_ solutionsList Multi-Partner Solutions for WABA.
whatsapp_list_ schedulesGet WhatsApp Business Account Schedules.
whatsapp_update_ whatsapp_ business_ accountRename this WhatsApp Business account or change its time zone.
whatsapp_add_ assigned_ userGive a business user or system user access to this WhatsApp Business account with tasks.
whatsapp_estimate_ marketing_ reachEstimate marketing reach and cost at different max prices.
whatsapp_get_ marketing_ messages_ statusCheck Marketing Messages API onboarding status.
whatsapp_list_ assigned_ usersPeople and system users with access to this WhatsApp Business account and their tasks.
whatsapp_list_ assigned_ whatsapp_ business_ accountsGet Assigned WhatsApp Business Accounts.
whatsapp_list_ max_ price_ agreementsList max price agreements.
whatsapp_list_ system_ usersList system users with access to this account.
whatsapp_remove_ assigned_ userRemove an user's access to this WhatsApp Business account.
whatsapp_send_ marketing_ messageSend a MARKETING template through the Marketing Messages API for WhatsApp (optimized delivery, conversion and click reporting, optional max price).
whatsapp_sign_ max_ price_ agreementSign the max price agreement.
whatsapp_delete_ qr_ codeDelete Individual Message QR Code.
whatsapp_get_ billing_ currency_ migrationGet a billing currency migration.
whatsapp_get_ business_ compliance_ infoGet Business Compliance Information.
whatsapp_get_ business_ profile_ by_ idGet WhatsApp Business Profile Details.
whatsapp_get_ official_ business_ account_ statusGet Official Business Account Status.
whatsapp_get_ qr_ codeGet Individual Message QR Code.
whatsapp_list_ credit_ linesCredit lines (extended credit) of this connection's business portfolio, with their ids for whatsapp_request_billing_currency_change.
whatsapp_list_ message_ history_ eventsAll delivery status events of one message history entry (id from whatsapp_list_message_history), with error details.
whatsapp_list_ subscribed_ appsApps subscribed to this WhatsApp Business account's webhooks, with any override callback URL.
whatsapp_request_ billing_ currency_ changeStart moving this account to another billing currency.
whatsapp_request_ official_ business_ accountUpdate Official Business Account Status.
whatsapp_resume_ billing_ currency_ migrationResume a paused billing currency migration.
whatsapp_send_ encrypted_ messageSend a message whose payload your own system already encrypted (payload encryption, set up in phone number settings).
whatsapp_set_ phone_ number_ webhook_ overrideSend this phone number's webhooks to another URL.
whatsapp_subscribe_ app_ to_ webhooksSubscribe the token's app to this account's webhooks (incoming messages, statuses, template updates), or send them to another HTTPS callback with override_callback_uri and verify_token (it must answer Meta's verification challenge).
whatsapp_unsubscribe_ app_ from_ webhooksStop the token's app receiving this account's webhooks: incoming messages and statuses then reach no app of yours.
whatsapp_update_ business_ compliance_ infoUpdate Business Compliance Information.
whatsapp_update_ business_ profile_ by_ idUpdate WhatsApp Business Profile.
whatsapp_configure_ conversational_ automationSet the chat's conversational components: enable_welcome_message, up to 4 ice breakers (prompts) and up to 30 commands.
whatsapp_delete_ mediaDelete an uploaded media file.
whatsapp_delete_ welcome_ message_ sequenceDelete a welcome message sequence.
whatsapp_get_ business_ botGet WhatsApp Business Bot Details.
whatsapp_get_ business_ portfolioThis connection's business portfolio (the Meta business that owns the WhatsApp Business account).
whatsapp_get_ conversational_ automationGet the welcome message, ice breakers and commands.
whatsapp_list_ client_ whatsapp_ business_ accountsWhatsApp Business accounts that clients shared with this business portfolio.
whatsapp_list_ owned_ whatsapp_ business_ accountsWhatsApp Business accounts owned by this connection's business portfolio.
whatsapp_list_ welcome_ message_ sequencesList welcome message sequences (Click to WhatsApp ads).
whatsapp_save_ welcome_ message_ sequenceCreate or update a welcome message sequence.
whatsapp_unblock_ usersUnblock WhatsApp users so they can message this number again.
whatsapp_get_ call_ permissionsWhether you may call a WhatsApp user now (user_wa_id) and which call actions are available.
whatsapp_get_ commerce_ settingsWhether this number shows its product catalog and lets customers use the cart in WhatsApp.
whatsapp_manage_ callControl a WhatsApp voice call (Calling API): connect (call an user who granted call permission), pre_accept, accept, reject or terminate, with the WebRTC SDP in session.
whatsapp_update_ commerce_ settingsTurn the shopping cart (is_cart_enabled) and catalog visibility (is_catalog_visible) on or off for this number.
whatsapp_sync_ business_ app_ dataSync WhatsApp Business app contacts or chat history.
Credentials off one WhatsApp Business screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
In Meta Business Settings, open System users, assign a system user your Meta app and your WhatsApp account with full control, and generate a token that never expires with the whatsapp_business_messaging and whatsapp_business_management permissions. Paste it, then pick the phone number this connection uses and the workspace it belongs in.
••••••••••••3f7a••••••••••••3f7aSending messages, deleting templates, blocking users and changing the number's registration, PIN or webhooks wait until an owner or admin allows write actions; new connections start read-only. Every call is locked to the number you picked, so the AI cannot send from another one.
Drop the PopMCP URL into Claude, ChatGPT, Claude Code, Codex or any other supported client. It signs in through PopMCP with OAuth, so your WhatsApp Business credential never leaves the server.
app.popmcp.com/mcpAsk for something harmless before the agent changes anything. Writes run as soon as it calls them, so confirm it reads the right account first.
Send the order_shipped template to +1 650 555 0134 with her first name and order number
whatsapp_send_template_messageok
Then just ask for the work
“Send the order_shipped template to +1 650 555 0134 with her first name and order number”
“What did we spend on WhatsApp last month, split by marketing, utility and authentication?”
“Which of our templates were rejected or paused, and what does Meta say is wrong with each?”
“Create a utility template that reminds customers about tomorrow's appointment, with a button to reschedule”
“Show me the photo the customer just sent and answer with three options as buttons”
“How healthy is our number: quality rating, messaging limit and anything blocking sends?”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting WhatsApp Business behind an AI client.
A permanent System User access token from your own Meta business portfolio, for a Meta app with the Connect with customers through WhatsApp use case and a phone number on the WhatsApp Business Platform. In Business Settings, open System users, assign the system user your app and your WhatsApp account with full control, then generate a token with expiry Never and the whatsapp_business_messaging and whatsapp_business_management permissions. PopMCP finds the WhatsApp accounts and numbers the token reaches and you pick one. Your own business needs no App Review.
WhatsApp delivers free-form messages (text, media, buttons) only within 24 hours of the customer's last message to you, the customer service window. Outside it only an approved template can reach them, and Meta refuses a free-form send with error 131047. send_template_message reads the template first and checks every variable before sending, and list_templates shows which templates are approved.
Not as an inbox. WhatsApp delivers incoming messages only to the webhook on your Meta app, and the API keeps no conversation history to read back. The AI can check whether messages you sent were delivered or read with list_message_history, open a photo or document a customer sent when it has the media id with download_media, mark a message as read and react to it. Keep your existing webhook or inbox for incoming chats.
Meta bills your WhatsApp account, not PopMCP. Template messages are charged per delivered message by category (marketing, utility, authentication) and the recipient's country. Since October 1, 2026 replies inside the customer service window are charged too, after the first 1,000 service messages each month per number, so keep a payment method on the account. Messages in a free entry point window after a Click to WhatsApp ad are free. get_pricing_analytics shows volume and cost by category, country and day.
Yes. create_message_template takes plain inputs (name, language, category, a body with {{1}} or {{first_name}} variables and their examples, an optional header, footer and buttons), uploads a header image, video or PDF sample for you and submits the template for review, which usually takes minutes and at most 24 hours. Templates can also be edited, deleted, archived, compared and copied from Meta's template library.
One connection is one phone number: every call is locked to the number you pick, with its WhatsApp account and business portfolio. To use another number, connect WhatsApp Business again with the same token and pick that number, in the same workspace or a different one. Marketing templates are not delivered to WhatsApp users in the United States, whichever number sends them.
Templates submitted, approved, rejected, paused or moved to another category, new phone numbers, changes to a number's quality rating, status or display name review, account activity, people given access, blocked users, new QR codes, Flows and groups, plus thresholds on spend, message volume, delivery rate, template read rate and a sending block. Incoming messages and delivery receipts reach only your app's webhook, so they are not triggers here.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Connect WhatsApp Business in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking WhatsApp Business on the consent screen. The WhatsApp Business tools are then available in that session, and no WhatsApp Business credential is stored on your machine.
Loading 155 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 31-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.
A tool is something your AI calls, and there are 155 here. A trigger is something PopMCP watches for you: 19 WhatsApp Business events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into WhatsApp Business.
Launch a hosted MCP endpoint for WhatsApp Business, keep tool access under control, and start testing real workflow prompts right away.