zoho_campaigns_ add_ contact_ to_ do_ not_ mailPut a contact on the account's Do-Not-Mail registry, so no campaign reaches them from any list.
See how your last campaigns did, add people to the right list, draft and schedule campaigns and check who opened or bounced, from the AI client you already use.
PopMCPZoho Campaigns
Every endpoint in Zoho's Campaigns and Email API references on one connection, from mailing lists and segments to campaign reports, sending domains and webhooks, plus the events PopMCP can watch.
93 tools in the full catalog: 45 read and 48 write. 41 load by default, and the rest are found with tool search.
zoho_campaigns_ add_ contact_ to_ do_ not_ mailPut a contact on the account's Do-Not-Mail registry, so no campaign reaches them from any list.
zoho_campaigns_ add_ contacts_ to_ listAdd up to 10 email addresses to a mailing list in one call.
zoho_campaigns_ count_ list_ contactsCount the contacts on a mailing list, for one status if you name it.
zoho_campaigns_ create_ list_ with_ contactsCreate a mailing list with its first contacts.
zoho_campaigns_ get_ list_ advanced_ detailsGet a mailing list's statistics: contact status counts, the campaigns sent to it, and contacts' countries, browsers, devices and email clients.
zoho_campaigns_ get_ segment_ contactsList the contacts in a segment with email, name, company, phone and when they were added.
zoho_campaigns_ list_ contact_ fieldsList every contact field, custom fields included, with its display name.
zoho_campaigns_ list_ contactsList the contacts on one mailing list with email, name, company and phone.
zoho_campaigns_ list_ mailing_ listsList the mailing lists with listkey, name, owner, contact, unsubscribe and bounce counts, and their segments (each with a cvid).
zoho_campaigns_ subscribe_ contactAdd one contact to a mailing list, or update the fields of one already there.
zoho_campaigns_ unsubscribe_ contactUnsubscribe one contact from a mailing list, so they stop getting that list's campaigns.
zoho_campaigns_ update_ mailing_ listRename a mailing list and set its signup form.
zoho_campaigns_ clone_ campaignCopy a campaign into a new draft with a new name and subject.
zoho_campaigns_ create_ campaignCreate a draft email campaign.
zoho_campaigns_ get_ campaign_ detailsGet one campaign in full: status, subject, sender, the mailing lists it goes to, and its report numbers once sent.
zoho_campaigns_ get_ campaign_ recipientsList who a sent campaign reached, by what they did: who opened, clicked, bounced, unsubscribed, marked it as spam, or did not open.
zoho_campaigns_ get_ campaign_ reportGet a sent campaign's report: delivered, opens, clicks, bounces, unsubscribes, spam and forwards with percentages, plus reach and opens by location.
zoho_campaigns_ get_ last_ campaign_ reportGet the report of the last campaign this account sent, with no key needed: delivered, opens, clicks, bounces, unsubscribes and spam with percentages.
zoho_campaigns_ list_ recent_ campaignsList the campaigns made in this Zoho Campaigns account, newest activity first by default, with key, name, status and created date.
zoho_campaigns_ list_ recently_ sent_ campaignsList the campaigns sent most recently, with key, name and sent time.
zoho_campaigns_ schedule_ campaignSchedules a campaign to SEND to everyone on its lists at a set time.
zoho_campaigns_ send_ campaignSENDS a campaign to everyone on its lists right away, and it cannot be recalled.
zoho_campaigns_ list_ email_ sending_ domainsList the domains the Email API can send from, with their DNS records and whether they are verified.
zoho_campaigns_ add_ contact_ to_ listAdd one person to a mailing list, or update them if they are already there, using plain field names.
zoho_campaigns_ check_ email_ suppressionsCheck whether addresses are on the Email API's suppression list, so a send to them would be held back.
zoho_campaigns_ compare_ recent_ campaignsCompare how the most recently sent campaigns did, side by side: sent, delivered, opens, clicks, bounces, unsubscribes and spam for each.
zoho_campaigns_ find_ contact_ in_ listCheck whether an email address is on a mailing list, and get that contact.
zoho_campaigns_ find_ mailing_ listFind mailing lists by name (any part of it, ignoring case).
zoho_campaigns_ get_ account_ overviewA first look at this Zoho Campaigns account in one call: its mailing lists with contact counts, the latest campaigns with their status, and the last sent campaign's numbers.
zoho_campaigns_ send_ emailSENDS one email through the Email API to the addresses given, at once unless schedule_at is set, and uses Email API credits.
zoho_campaigns_ get_ email_ delivery_ summaryGet Email API totals and a timeline for a period: sent, delivered, opened, clicked, bounced and spam.
zoho_campaigns_ list_ email_ bounce_ eventsList the Email API emails that bounced in a period, with address, type and reason.
zoho_campaigns_ create_ tagCreate a tag.
zoho_campaigns_ list_ email_ templatesList the Email API's saved templates with id and name.
zoho_campaigns_ list_ tagsList every tag with its id, name, description, colour, owner and how many contacts carry it.
zoho_campaigns_ tag_ contactPut an existing tag on a contact, by tag name and email address.
zoho_campaigns_ untag_ contactTake a tag off a contact, by tag name and email address.
zoho_campaigns_ get_ email_ transmissionGet one Email API send: subject, sender, status, sent time and tracking options.
zoho_campaigns_ list_ topicsList the topics with topicId and name.
zoho_campaigns_ list_ open_ workflowsList the open custom workflows contacts can be added to, with workflow_key and triggerkey for zoho_campaigns_trigger_workflow_contacts.
zoho_campaigns_ trigger_ workflow_ contactsAdd contacts to a custom workflow, which starts whatever emails it holds.
zoho_campaigns_ create_ custom_ fieldCreate a custom contact field.
zoho_campaigns_ delete_ mailing_ listDelete a mailing list.
zoho_campaigns_ get_ segment_ detailsGet the rules that define a segment of a mailing list.
zoho_campaigns_ change_ coupon_ statusMark a coupon code as used.
zoho_campaigns_ create_ merge_ tagCreate a merge tag for personalising campaign content.
zoho_campaigns_ delete_ campaignDelete a campaign, and its report with it.
zoho_campaigns_ get_ coupon_ detailsLook up a coupon code from a coupon campaign: recipient, campaign, sent date, expiry and status.
zoho_campaigns_ add_ email_ sending_ domainAdd a domain to send from.
zoho_campaigns_ add_ email_ tracking_ domainAdd a tracking domain.
zoho_campaigns_ delete_ email_ sending_ domainRemove a sending domain.
zoho_campaigns_ delete_ email_ tracking_ domainRemove a tracking domain.
zoho_campaigns_ get_ email_ sending_ domainGet one sending domain with its DNS records and verification state.
zoho_campaigns_ get_ email_ tracking_ domainGet one tracking domain with its DNS record and verification state.
zoho_campaigns_ list_ email_ tracking_ domainsList the domains used for tracking links, with DNS records, verification state and which is the default.
zoho_campaigns_ set_ default_ email_ tracking_ domainMake a verified tracking domain the default for new sends.
zoho_campaigns_ verify_ email_ sending_ domainAsk Zoho to check a sending domain's DNS records.
zoho_campaigns_ verify_ email_ tracking_ domainAsk Zoho to check a tracking domain's DNS record.
zoho_campaigns_ activate_ email_ userGive a person on the Email API account access again.
zoho_campaigns_ add_ email_ suppressionsStop the Email API sending to these addresses.
zoho_campaigns_ add_ email_ userInvite a person to the Email API account.
zoho_campaigns_ create_ email_ recipient_ listSave a recipient list for Email API sends.
zoho_campaigns_ deactivate_ email_ userTake away a person's access to the Email API account, without deleting them.
zoho_campaigns_ delete_ email_ recipient_ listDelete a saved recipient list.
zoho_campaigns_ delete_ email_ userRemove a person from the Email API account.
zoho_campaigns_ get_ current_ email_ userGet the person this connection acts as: email, name, status, admin flag and time zone.
zoho_campaigns_ get_ email_ licenseGet the Email API plan: its name and type, credits left or used, and expiry.
zoho_campaigns_ get_ email_ recipient_ listGet a saved recipient list with its recipients.
zoho_campaigns_ get_ email_ userGet one person on the Email API account by email address.
zoho_campaigns_ list_ email_ recipient_ listsList the Email API's saved recipient lists with id, name and description.
zoho_campaigns_ list_ email_ suppressionsList the addresses the Email API will not send to, with type, reason and time.
zoho_campaigns_ list_ email_ usersList the people on the Email API account with email, name, status and admin flag.
zoho_campaigns_ remove_ email_ suppressionsLet the Email API send to these addresses again.
zoho_campaigns_ update_ email_ recipient_ listREPLACES a saved recipient list.
zoho_campaigns_ list_ email_ click_ eventsList who clicked which link in Email API sends in a period.
zoho_campaigns_ list_ email_ open_ eventsList who opened Email API sends in a period, with address, send and time.
zoho_campaigns_ list_ email_ spam_ eventsList who marked Email API sends as spam in a period.
zoho_campaigns_ list_ email_ unsubscribe_ eventsList who unsubscribed from Email API sends in a period.
zoho_campaigns_ create_ email_ templateSave a template for Email API sends.
zoho_campaigns_ create_ email_ webhookHave Zoho call a URL when Email API events happen.
zoho_campaigns_ delete_ email_ templateDelete a saved template.
zoho_campaigns_ delete_ email_ webhookDelete a webhook, so Zoho stops calling its URL.
zoho_campaigns_ delete_ tagDelete a tag.
zoho_campaigns_ get_ email_ templateGet a saved template with its content.
zoho_campaigns_ get_ email_ webhookGet one webhook with its events and settings.
zoho_campaigns_ list_ email_ webhooksList the Email API's webhooks with id, name, URL and whether each is active.
zoho_campaigns_ update_ email_ templateChange a saved template.
zoho_campaigns_ update_ email_ webhookChange a webhook.
zoho_campaigns_ cancel_ email_ transmissionCancel a scheduled Email API send before it goes out.
zoho_campaigns_ create_ email_ transmissionSENDS an email through Zoho Campaigns' Email API, at once unless options.schedule_at is set, and uses Email API credits.
zoho_campaigns_ reschedule_ email_ transmissionChange when a scheduled Email API send goes out.
zoho_campaigns_ create_ topicCreate a topic contacts can subscribe to.
zoho_campaigns_ list_ productsList the products topics can belong to, with product_id and name.
Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the Zoho Campaigns side.
Create a Server-based Application at api-console.zoho.com with PopMCP's callback as the Authorized Redirect URI, paste its Client ID and Client secret, then click Sign in with Zoho and accept the permissions.
1000.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX••••••••••••3f7aLeave empty for zoho.comsend_campaign, schedule_campaign and send_email reach real people the moment the AI calls them, and subscribe_contact and delete_mailing_list change your lists at once. Connections start read-only; tick Zoho Campaigns on the PopMCP consent screen only for clients that should write. The Zoho user's permissions still apply.
Drop the PopMCP URL into Claude, ChatGPT, Claude Code, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Zoho Campaigns 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.
How is my email marketing doing? Show my mailing lists and how my last campaign performed
zoho_campaigns_get_account_overviewok
Then just ask for the work
“How is my email marketing doing? Show my mailing lists and how my last campaign performed”
“Compare my last five campaigns by open rate, clicks and unsubscribes”
“Who opened last week's newsletter but did not click anything?”
“Add pat@example.com to the Newsletter list with the first name Pat”
“Copy October's newsletter into a new draft called November, and don't send it”
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 Zoho Campaigns behind an AI client.
A Server-based Application in the Zoho API Console, because Zoho Campaigns has no API key for lists and campaigns. At api-console.zoho.com choose Server-based Applications, give it any homepage URL, paste https://app.popmcp.com/api/providers/zoho-campaigns/callback as the Authorized Redirect URI, then copy the Client ID and Client Secret into PopMCP. Zoho does not review the app first. Clicking Sign in with Zoho sends you to Zoho's own consent page, so your password is never shared.
Yes. After sign-in PopMCP reads the data center Zoho names and sends every call to that data center's Zoho Campaigns address, such as campaigns.zoho.eu. If you created your app outside zoho.com, type its data center into the Zoho data center field under More options, or turn on Multi-DC on the app's Settings tab.
Connections start read-only, so nothing can be sent until you allow it. With writes on, send_campaign, schedule_campaign and send_email say first that they reach real people and ask the AI to check with you. create_campaign and clone_campaign only make drafts. Zoho also reviews a new campaign's content, so a campaign still under review does not go out.
It is the part of Zoho Campaigns for one-off emails sent by software, with its own templates, recipient lists, sending domains and credits. PopMCP reaches it with your Zoho sign-in. If you prefer a key, make one under API Keys on the Email API page in Zoho Campaigns and paste it into Email API key under More options. Lists and campaigns always use the sign-in.
Zoho counts calls per API. Most allow 500 calls in 5 minutes, and passing that locks that one API for 30 minutes while the others keep working. PopMCP reads larger pages to stay well below it, and a tool that hits the limit says so and when to try again.
Zoho has no search by email, so find_contact_in_list reads through a list and stops after a set number of contacts. The API cannot design a campaign's content either: a campaign takes its HTML from a public web page. Sending through SMTP is not included, because it is not an API call.
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 Zoho Campaigns 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 Zoho Campaigns on the consent screen. The Zoho Campaigns tools are then available in that session, and no Zoho Campaigns credential is stored on your machine.
Loading 93 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 41-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 93 here. A trigger is something PopMCP watches for you: 11 Zoho Campaigns 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 Zoho Campaigns.
Launch a hosted MCP endpoint for Zoho Campaigns, keep tool access under control, and start testing real workflow prompts right away.