100+ integrations are ready to connect to your AI.Connect your first MCP

Zoho Campaigns MCP server for your AI

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

How is my email marketing doing? Show my mailing lists and how my last campaign performed

Supported Zoho Campaigns tools

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_mail

Put a contact on the account's Do-Not-Mail registry, so no campaign reaches them from any list.

zoho_campaigns_add_contacts_to_list

Add up to 10 email addresses to a mailing list in one call.

zoho_campaigns_count_list_contacts

Count the contacts on a mailing list, for one status if you name it.

zoho_campaigns_create_list_with_contacts

Create a mailing list with its first contacts.

zoho_campaigns_get_list_advanced_details

Get 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_contacts

List the contacts in a segment with email, name, company, phone and when they were added.

zoho_campaigns_list_contact_fields

List every contact field, custom fields included, with its display name.

zoho_campaigns_list_contacts

List the contacts on one mailing list with email, name, company and phone.

zoho_campaigns_list_mailing_lists

List the mailing lists with listkey, name, owner, contact, unsubscribe and bounce counts, and their segments (each with a cvid).

zoho_campaigns_subscribe_contact

Add one contact to a mailing list, or update the fields of one already there.

zoho_campaigns_unsubscribe_contact

Unsubscribe one contact from a mailing list, so they stop getting that list's campaigns.

zoho_campaigns_update_mailing_list

Rename a mailing list and set its signup form.

zoho_campaigns_clone_campaign

Copy a campaign into a new draft with a new name and subject.

zoho_campaigns_create_campaign

Create a draft email campaign.

zoho_campaigns_get_campaign_details

Get one campaign in full: status, subject, sender, the mailing lists it goes to, and its report numbers once sent.

zoho_campaigns_get_campaign_recipients

List 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_report

Get 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_report

Get 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_campaigns

List 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_campaigns

List the campaigns sent most recently, with key, name and sent time.

zoho_campaigns_schedule_campaign

Schedules a campaign to SEND to everyone on its lists at a set time.

zoho_campaigns_send_campaign

SENDS a campaign to everyone on its lists right away, and it cannot be recalled.

zoho_campaigns_list_email_sending_domains

List the domains the Email API can send from, with their DNS records and whether they are verified.

zoho_campaigns_add_contact_to_list

Add one person to a mailing list, or update them if they are already there, using plain field names.

zoho_campaigns_check_email_suppressions

Check whether addresses are on the Email API's suppression list, so a send to them would be held back.

zoho_campaigns_compare_recent_campaigns

Compare 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_list

Check whether an email address is on a mailing list, and get that contact.

zoho_campaigns_find_mailing_list

Find mailing lists by name (any part of it, ignoring case).

zoho_campaigns_get_account_overview

A 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_email

SENDS 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_summary

Get Email API totals and a timeline for a period: sent, delivered, opened, clicked, bounced and spam.

zoho_campaigns_list_email_bounce_events

List the Email API emails that bounced in a period, with address, type and reason.

zoho_campaigns_create_tag

Create a tag.

zoho_campaigns_list_email_templates

List the Email API's saved templates with id and name.

zoho_campaigns_list_tags

List every tag with its id, name, description, colour, owner and how many contacts carry it.

zoho_campaigns_tag_contact

Put an existing tag on a contact, by tag name and email address.

zoho_campaigns_untag_contact

Take a tag off a contact, by tag name and email address.

zoho_campaigns_get_email_transmission

Get one Email API send: subject, sender, status, sent time and tracking options.

zoho_campaigns_list_topics

List the topics with topicId and name.

zoho_campaigns_list_open_workflows

List the open custom workflows contacts can be added to, with workflow_key and triggerkey for zoho_campaigns_trigger_workflow_contacts.

zoho_campaigns_trigger_workflow_contacts

Add contacts to a custom workflow, which starts whatever emails it holds.

zoho_campaigns_create_custom_field

Create a custom contact field.

zoho_campaigns_delete_mailing_list

Delete a mailing list.

zoho_campaigns_get_segment_details

Get the rules that define a segment of a mailing list.

zoho_campaigns_change_coupon_status

Mark a coupon code as used.

zoho_campaigns_create_merge_tag

Create a merge tag for personalising campaign content.

zoho_campaigns_delete_campaign

Delete a campaign, and its report with it.

zoho_campaigns_get_coupon_details

Look up a coupon code from a coupon campaign: recipient, campaign, sent date, expiry and status.

zoho_campaigns_add_email_sending_domain

Add a domain to send from.

zoho_campaigns_add_email_tracking_domain

Add a tracking domain.

zoho_campaigns_delete_email_sending_domain

Remove a sending domain.

zoho_campaigns_delete_email_tracking_domain

Remove a tracking domain.

zoho_campaigns_get_email_sending_domain

Get one sending domain with its DNS records and verification state.

zoho_campaigns_get_email_tracking_domain

Get one tracking domain with its DNS record and verification state.

zoho_campaigns_list_email_tracking_domains

List the domains used for tracking links, with DNS records, verification state and which is the default.

zoho_campaigns_set_default_email_tracking_domain

Make a verified tracking domain the default for new sends.

zoho_campaigns_verify_email_sending_domain

Ask Zoho to check a sending domain's DNS records.

zoho_campaigns_verify_email_tracking_domain

Ask Zoho to check a tracking domain's DNS record.

zoho_campaigns_activate_email_user

Give a person on the Email API account access again.

zoho_campaigns_add_email_suppressions

Stop the Email API sending to these addresses.

zoho_campaigns_add_email_user

Invite a person to the Email API account.

zoho_campaigns_create_email_recipient_list

Save a recipient list for Email API sends.

zoho_campaigns_deactivate_email_user

Take away a person's access to the Email API account, without deleting them.

zoho_campaigns_delete_email_recipient_list

Delete a saved recipient list.

zoho_campaigns_delete_email_user

Remove a person from the Email API account.

zoho_campaigns_get_current_email_user

Get the person this connection acts as: email, name, status, admin flag and time zone.

zoho_campaigns_get_email_license

Get the Email API plan: its name and type, credits left or used, and expiry.

zoho_campaigns_get_email_recipient_list

Get a saved recipient list with its recipients.

zoho_campaigns_get_email_user

Get one person on the Email API account by email address.

zoho_campaigns_list_email_recipient_lists

List the Email API's saved recipient lists with id, name and description.

zoho_campaigns_list_email_suppressions

List the addresses the Email API will not send to, with type, reason and time.

zoho_campaigns_list_email_users

List the people on the Email API account with email, name, status and admin flag.

zoho_campaigns_remove_email_suppressions

Let the Email API send to these addresses again.

zoho_campaigns_update_email_recipient_list

REPLACES a saved recipient list.

zoho_campaigns_list_email_click_events

List who clicked which link in Email API sends in a period.

zoho_campaigns_list_email_open_events

List who opened Email API sends in a period, with address, send and time.

zoho_campaigns_list_email_spam_events

List who marked Email API sends as spam in a period.

zoho_campaigns_list_email_unsubscribe_events

List who unsubscribed from Email API sends in a period.

zoho_campaigns_create_email_template

Save a template for Email API sends.

zoho_campaigns_create_email_webhook

Have Zoho call a URL when Email API events happen.

zoho_campaigns_delete_email_template

Delete a saved template.

zoho_campaigns_delete_email_webhook

Delete a webhook, so Zoho stops calling its URL.

zoho_campaigns_delete_tag

Delete a tag.

zoho_campaigns_get_email_template

Get a saved template with its content.

zoho_campaigns_get_email_webhook

Get one webhook with its events and settings.

zoho_campaigns_list_email_webhooks

List the Email API's webhooks with id, name, URL and whether each is active.

zoho_campaigns_update_email_template

Change a saved template.

zoho_campaigns_update_email_webhook

Change a webhook.

zoho_campaigns_cancel_email_transmission

Cancel a scheduled Email API send before it goes out.

zoho_campaigns_create_email_transmission

SENDS an email through Zoho Campaigns' Email API, at once unless options.schedule_at is set, and uses Email API credits.

zoho_campaigns_reschedule_email_transmission

Change when a scheduled Email API send goes out.

zoho_campaigns_create_topic

Create a topic contacts can subscribe to.

zoho_campaigns_list_products

List the products topics can belong to, with product_id and name.

Connect Zoho Campaigns to Claude, ChatGPT and Claude Code

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.

Client ID1000.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Client secret••••••••••••3f7a
Zoho data centerLeave empty for zoho.com
Authorize PopMCP on Zoho CampaignsAuthorize

Then just ask for the work

  • “How is my email marketing doing? Show my mailing lists and how my last campaign performed”

    • get_account_overview
  • “Compare my last five campaigns by open rate, clicks and unsubscribes”

    • compare_recent_campaigns
  • “Who opened last week's newsletter but did not click anything?”

    • list_recently_sent_campaigns
    • get_campaign_recipients
  • “Add pat@example.com to the Newsletter list with the first name Pat”

    • add_contact_to_list
  • “Copy October's newsletter into a new draft called November, and don't send it”

    • list_recent_campaigns
    • clone_campaign

Use Zoho Campaigns from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Zoho Campaigns MCP server questions

What teams ask before putting Zoho Campaigns behind an AI client.

What do I need from Zoho to connect the Zoho Campaigns MCP server?

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.

Does it work with Zoho accounts in the EU, India, Australia or other data centers?

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.

Can the AI send a campaign by accident?

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.

What is the Email API, and do I need a separate key for it?

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.

How do Zoho's API limits affect what the AI can do?

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.

What can it not do?

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.

Do I have to run or host the Zoho Campaigns MCP server myself?

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.

Which AI clients can use this MCP server?

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.

How do I connect Zoho Campaigns to Claude Code?

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.

Why do only 41 of the 93 tools load by default?

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.

What is the difference between a tool and a trigger?

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.

Connect Zoho Campaigns to your AI in minutes

Launch a hosted MCP endpoint for Zoho Campaigns, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP