aisensy_create_ api_ campaignCreate API Campaign
Send WhatsApp template campaigns, validate a number before you message it, submit templates for Meta approval, and pull campaign analytics — all from the client you already work in.
PopMCPAiSensy
Every campaign, contact, template, message, Flow, catalog and webhook call the connection exposes, plus the events your agent can watch for.
aisensy_create_ api_ campaignCreate API Campaign
aisensy_get_ api_ campaign_ detailsGet API Campaign details
aisensy_get_ campaign_ analyticsGet Campaign Analytics POST but read-only (analytics query).
aisensy_get_ campaign_ audienceGet Campaign Audience
aisensy_get_ campaignsList/Get Campaigns (filtered by type) POST but read-only (paginated list).
aisensy_get_ catalogGet catalogue
aisensy_get_ catalog_ productsGet catalogue products catalogId is a required query param.
aisensy_get_ project_ campaign_ apiGet a Project's API Campaign(s)
aisensy_send_ api_ campaignSend an API Campaign to a contact (project-apis equivalent of the legacy backend campaign API) template_params length must equal the campaign template's variable count; tags/attributes must pre-exist.
aisensy_send_ campaignSend a WhatsApp template campaign to a single contact.
aisensy_get_ mediaGet Media by ID POST but read-only retrieval of a media object by its id.
aisensy_create_ contactCreate Contact mobile_number with country code.
aisensy_get_ contactGet Contact by Id
aisensy_get_ contact_ by_ mobileGet Contact by Mobile Number Required query: action=FetchContact & mobile_number=<number>.
aisensy_update_ contactUpdate Contact
aisensy_validate_ contactValidate Contact (check if number is on WhatsApp) Same base path as get_contact_by_mobile but action=ValidateContact.
aisensy_get_ business_ profileGet Business Profile by Id
aisensy_get_ message_ detailsGet Message Details
aisensy_get_ projectGet Project by Id
aisensy_send_ messageSend a WhatsApp message (text/image/document/template etc.); mirrors Meta WhatsApp Cloud API message object to = full phone w/ country code.
aisensy_delete_ wa_ templateDelete WA Template
aisensy_delete_ webhookDelete Webhook Subscription
aisensy_get_ wa_ templateGet WA Template by Id
aisensy_get_ webhookGet Webhook Details
aisensy_list_ wa_ templatesList WA Template Messages Trailing slash is present in the spec path.
aisensy_list_ webhooksList Webhooks
aisensy_submit_ wa_ templateSubmit WhatsApp Template Message for approval
aisensy_regenerate_ jwt_ bearer_ token_ directRegenerate JWT bearer token to access Direct APIs.
aisensy_create_ flow_ directCreate a WhatsApp Flow.
aisensy_delete_ flow_ directDelete a Flow.
aisensy_deprecate_ flow_ directDeprecate a Flow.
aisensy_get_ flow_ assets_ directRetrieve a Flow's list of assets.
aisensy_get_ flow_ details_ directGet a Flow's details.
aisensy_get_ flow_ web_ preview_ directGet a web-preview-based screens visualisation of the Flow.
aisensy_get_ flows_ directList WhatsApp Flows.
aisensy_publish_ flow_ directPublish a Flow.
aisensy_update_ flow_ json_ directUpdate a Flow's Flow JSON (upload asset).
aisensy_update_ flow_ metadata_ directUpdate a Flow's metadata.
aisensy_connect_ meta_ catalogConnect meta catalogue
aisensy_create_ catalogCreate catalogue
aisensy_create_ productCreate catalogue product
aisensy_disconnect_ meta_ catalogDisconnect meta catalogue
aisensy_send_ campaign_ v1_ legacyLegacy v1 of the campaign send endpoint (no /v2 suffix).
aisensy_show_ hide_ catalogue_ on_ whatsappShow/hide catalogue on the WhatsApp business profile
aisensy_sync_ catalogSync catalogue GET that triggers a sync (side-effecting despite GET).
aisensy_sync_ catalog_ productsSync catalogue products GET that triggers a sync (side-effecting despite GET).
aisensy_compare_ template_ directCompare template performance over a time window.
aisensy_create_ upload_ session_ directCreate a resumable upload session.
aisensy_delete_ media_ by_ id_ directDelete a media object by id.
aisensy_delete_ wa_ template_ by_ id_ directDelete a WA template by name + HSM id.
aisensy_delete_ wa_ template_ by_ name_ directDelete a WA template by name.
aisensy_edit_ template_ directEdit an existing template's category/components.
aisensy_get_ all_ templates_ directGet all message templates (paginated).
aisensy_get_ billing_ records_ partnerGet billing/transaction records for a project.
aisensy_get_ template_ by_ id_ directGet a single template by id.
aisensy_get_ upload_ session_ directGet upload session details/status.
aisensy_reactivate_ project_ billing_ partnerReactivate billing/subscription on a previously stopped project.
aisensy_retrieve_ media_ by_ id_ directRetrieve/download a media object by its id.
aisensy_stop_ project_ billing_ partnerStop billing/subscription for a project.
aisensy_submit_ whatsapp_ template_ directSubmit (create) a WhatsApp message template for approval.
aisensy_update_ active_ plan_ partnerChange the active subscription plan on a project (assign a plan from a plan family).
aisensy_update_ active_ wcc_ plan_ partnerSet which WCC (WhatsApp conversation cost) plan is active on a project.
aisensy_update_ pwc_ credit_ partnerAdd or deduct PWC (partner/wallet) credit on a project.
aisensy_update_ wcc_ credit_ partnerAdd or deduct WhatsApp Conversation Credit (WCC) on a project.
aisensy_upload_ media_ directUpload a media file; returns a media id usable in messages.
aisensy_upload_ media_ to_ session_ directUpload the file bytes to a previously created upload session.
aisensy_connect_ catalog_ directConnect a catalog to the WABA.
aisensy_create_ catalog_ directCreate a product catalog.
aisensy_create_ contact_ partnerCreate a contact in a client project.
aisensy_create_ product_ directCreate a product in a catalog.
aisensy_disconnect_ catalog_ directDisconnect a catalog from the WABA.
aisensy_get_ product_ catalogs_ directGet product catalogs.
aisensy_get_ products_ directGet products in a catalog.
aisensy_create_ business_ profile_ partnerCreate a new client business profile under the partner (white-label onboarding of a reseller client).
aisensy_create_ custom_ appCreate Custom App Found in Stoplight node graph (authored without leading slash as 'project/{project_id}/custom_app'); not in exported default-branch spec, so body unconfirmed.
aisensy_create_ project_ partnerCreate a new project (one project = one WhatsApp number) under a client business.
aisensy_get_ all_ business_ profiles_ partnerList all client business profiles belonging to the partner.
aisensy_get_ all_ business_ projects_ partnerList all projects under a given client business.
aisensy_get_ business_ profile_ by_ id_ partnerGet a single client business profile by id.
aisensy_get_ project_ by_ id_ partnerGet a single project by id (returns plan, MAU quota/usage, credit, WA number, WABA/display-name/FB status, business profile).
aisensy_mark_ message_ as_ read_ directMark an inbound message as read.
aisensy_send_ marketing_ lite_ message_ directSend a Marketing-Lite message (same Cloud-API body shape as /messages).
aisensy_send_ message_ directSend any WhatsApp message (text, image, video, audio, document, sticker, location, interactive quick-reply buttons, interactive list, interactive product/flow, or template).
aisensy_update_ business_ details_ partnerUpdate a client business profile (display name, company, contact, etc.).
aisensy_create_ payment_ configuration_ directCreate a payment configuration.
aisensy_create_ wcc_ plan_ partnerCreate a WCC (WhatsApp Conversation Cost) plan: per-country business-initiated (and user-initiated) conversation prices in INR/USD.
aisensy_generate_ payment_ configuration_ oauth_ link_ directGenerate an OAuth link for a payment configuration.
aisensy_get_ all_ wcc_ plans_ partnerList all WCC plans for the partner.
aisensy_get_ fb_ verification_ status_ directGet Facebook business verification status.
aisensy_get_ payment_ configuration_ directGet a specific payment configuration by name.
aisensy_get_ payment_ configurations_ directGet all payment configurations.
aisensy_get_ waba_ analytics_ directGet WABA messaging or conversation analytics.
aisensy_get_ waba_ information_ directGet WABA (WhatsApp Business Account) information.
aisensy_get_ wcc_ usage_ analytics_ partnerGet WhatsApp conversation credit usage analytics for a project.
aisensy_messaging_ health_ status_ directGet messaging health status for a node (phone/WABA/business).
aisensy_update_ wcc_ plan_ partnerUpdate an existing WCC plan's per-country conversation prices.
aisensy_update_ webhookUpdate Webhook Subscription Operation present in Stoplight node graph but not in exported default-branch spec; body unconfirmed.
aisensy_create_ plan_ family_ partnerCreate a plan family (a named set of subscription plans with per-currency prices) for the partner.
aisensy_create_ qr_ code_ directCreate a QR code / short link with a prefilled message.
aisensy_get_ all_ phone_ numbers_ directGet all phone numbers on the WABA.
aisensy_get_ all_ plan_ families_ partnerList all plan families defined by the partner.
aisensy_get_ business_ profile_ directGet business profile details.
aisensy_get_ display_ name_ status_ directGet the display name approval status.
aisensy_get_ qr_ codes_ directGet all QR codes and short links.
aisensy_get_ single_ phone_ number_ directGet a single phone number's details.
aisensy_request_ otp_ for_ migration_ partnerRequest an OTP (sms/voice) to begin migrating an existing WABA/number under the partner (TSP/partner migration).
aisensy_start_ migration_ partnerStart the migration of an existing WhatsApp number into the partner by submitting the FB access token and target details.
aisensy_update_ business_ profile_ directUpdate business profile details.
aisensy_update_ business_ profile_ picture_ directUpdate business profile picture.
aisensy_update_ plan_ family_ partnerUpdate an existing plan family (rename, change default plan, edit plan prices/durations).
aisensy_update_ qr_ code_ directUpdate an existing QR code / short link.
aisensy_validate_ otp_ for_ migration_ partnerVerify the OTP received to authorize partner/TSP migration.
aisensy_generate_ embedded_ signup_ url_ partnerGenerate a Meta embedded-signup URL to onboard a client's WhatsApp Business Account into a project, optionally prefilling business + phone setup.
aisensy_get_ business_ public_ key_ directGet the business public key.
aisensy_get_ business_ verification_ status_ partnerGet the Facebook/Meta business verification (KYC) status for a project.
aisensy_get_ commerce_ settings_ directGet WhatsApp commerce settings.
aisensy_get_ kyc_ submission_ status_ partnerGet the KYC submission status for a project.
aisensy_get_ message_ details_ partnerGet details/status of a sent or received message.
aisensy_get_ partner_ webhook_ partnerGet the currently configured partner webhook details (webhook url, shared secret).
aisensy_get_ webhook_ config_ directGet current webhook configuration details.
aisensy_send_ message_ partnerSend a WhatsApp message (text/template/media/interactive) on behalf of a client project.
aisensy_set_ business_ public_ key_ directSet the business public key (for WhatsApp Flows / encryption).
aisensy_set_ commerce_ settings_ directShow/hide catalog and cart (commerce settings).
aisensy_set_ partner_ webhook_ url_ partnerSet/update the partner-level webhook URL that receives partner webhook topic events.
aisensy_submit_ waba_ app_ id_ partnerComplete WABA procurement by submitting the WABA App ID obtained from the access token after the client finishes embedded signup.
aisensy_update_ webhook_ subscription_ directUpdate (set) the webhook subscription URL for inbound/outbound message callbacks.
aisensy_call_ actions_ directWhatsApp calling actions: initiate (connect), pre-accept, accept, reject, terminate a call.
aisensy_generate_ catalog_ connect_ link_ partnerGenerate an embedded URL for the client to connect a Facebook commerce catalog to the project.
aisensy_generate_ ctwa_ dashboard_ url_ partnerGenerate a Click-to-WhatsApp Ads (CTWA) Ads Manager dashboard URL for a client project.
aisensy_get_ partnerGet the authenticated partner's details (brand name, currency, central balance, webhook url, branding URLs).
Credentials off one AiSensy screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
Paste your API key from the dashboard under Manage → API Key. No OAuth app or redirect URL. Add the optional App Password and Project ID for contacts, templates, webhooks and catalog. Locked to your AiSensy account.
••••••••••••3f7a••••••••••••3f7aYour AiSensy project idPick read-only for reporting, or full access with approval required on writes so campaign sends, template deletions and webhook removals wait for your yes. Turn on the full tool catalog when you need the rarer modules.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your AiSensy credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
Show me how last week's Diwali offer campaign performed and who it went to
aisensy_get_campaignsok
Then just ask for the work
“Show me how last week's Diwali offer campaign performed and who it went to”
“Check these 40 numbers are on WhatsApp and tag the ones already in our contacts”
“Draft a re-order reminder template, submit it to Meta, then build an API campaign on it”
“Which products in our WhatsApp catalog have never been used in a campaign?”
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 Settings → 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 AiSensy behind an AI client.
The API key from your dashboard under Manage → API Key is enough to start sending WhatsApp template campaigns immediately. Adding the optional App Password and Project ID opens the rest of the project surface: direct messaging, contacts, template authoring, API campaigns, webhooks, catalog and media. There are also optional Business ID, Direct API token, and Partner API key and Partner ID fields for people who need those advanced surfaces. There is no OAuth app, client secret or redirect URL anywhere in the flow.
The connection covers 130 operations across 33 API modules, split 56 read and 74 write, spanning campaigns, contacts, messages, WhatsApp templates, Flows, catalog, media, webhooks, business profiles and project billing. 28 tools load into your client by default so the list stays readable, and the rest stay searchable and load when a request needs them. The Flows module is the largest, but its calls sit on the Direct API surface, so you need to paste the optional Direct API token to use them.
send_api_campaign is strict about two things. The template_params you pass must be exactly as long as the campaign template's variable count — one short or one extra and the call fails. Any tags or attributes you reference have to already exist on the project; the send won't create them for you. Having the agent read the campaign with get_api_campaign_details first usually settles both.
Yes. submit_wa_template sends a template for approval, and list_wa_templates, get_wa_template and delete_wa_template cover the rest of the lifecycle. Approval is Meta's call rather than AiSensy's, so PopMCP watches for the outcome with Template submitted for review, Template approved and Template rejected. That lets an agent hold a campaign until the template it depends on has actually cleared.
Number quality rating changed fires when the quality rating or status of one of your WhatsApp numbers moves. Sending blocked fires when messaging health reports that your number, WABA or business can no longer send. There is also a Message volume dropped threshold for when sends over the last period fall below a level you choose, plus delivered, read and failed-to-send events on individual messages.
No. A few AiSensy endpoints are POST requests but are purely read operations — get_campaign_analytics is an analytics query, get_campaigns returns a paginated list, and get_media retrieves a media object by its ID. PopMCP classifies them as reads rather than writes, so a read-only connection keeps reporting intact while nothing can send, edit or delete.
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, 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.
Loading 130 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 28-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.
A tool is something your AI calls — there are 130 here. A trigger is something PopMCP watches for you: 16 AiSensy 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 AiSensy.
Launch a hosted MCP endpoint for AiSensy, keep tool access under control, and start testing real workflow prompts right away.