MCP tool reference

ZOLLO exposes a remote MCP endpoint at https://mcp.zollo.run/mcp. A compatible MCP client (Claude, Codex, or another MCP-aware agent) authenticates through the standard ZOLLO account OAuth flow, the user selects an organization, and the client receives the organization-scoped tools below. Every tool that writes data returns the created or updated record; tools marked confirm required refuse to act until called a second time with confirm: true, after the caller has shown the user what will happen (for campaign sends, this means showing the preflight_campaign recipient count first).

Campaigns

ToolParametersEffect
list_campaignssearch? (string)Read-only.
get_campaignid (string)Read-only.
preflight_campaignid (string)Read-only. Returns recipient count and warnings.
create_campaigncampaign fields, providerId?, segmentId?, listId?Creates a campaign in DRAFT status.
update_campaignid (string), any campaign fieldUpdates an existing campaign, including sender and audience.
schedule_campaign
confirm required
id (string), confirm (boolean)Schedules the campaign to send at scheduledAt. Call preflight_campaign first and show the recipient count before confirming.
send_campaign
confirm required
id (string), confirm (boolean)Sends the campaign immediately to its recipients. Irreversible. Call preflight_campaign first and show the recipient count before confirming.
pause_campaign
confirm required
id (string), confirm (boolean)Pauses a currently sending campaign.

Contacts

ToolParametersEffect
list_contactsnoneRead-only.
create_contactemail (required), plus optional name, company, tags, customFields, consentStatus, source, leadScore, statusCreates a contact.
update_contactid (string), any editable contact fieldUpdates a contact.
add_suppressionemail (string), reason? (string)Suppresses an address from future campaigns.

Segments

ToolParametersEffect
list_segmentsnoneRead-only. Returns each segment id and filter; use the id as segmentId on a campaign.
create_segmentname (string), filter (rule or rule group)Creates a dynamic contact segment.
update_segmentid (string), name?, filter?Updates a segment's name or filter.
preview_segmentfilter (rule or rule group)Read-only. Returns the estimated matching-contact count and a small sample.

Templates

ToolParametersEffect
list_templatessearch? (string)Read-only.
get_templateid (string)Read-only.
create_templatename, category, subject, previewText?, companyAddress?, blocks? (array), html?, mjml?, isReusable?Creates an editable template. Raw HTML or MJML is automatically imported into the block editor; native blocks are preferred.
update_templateid (string), any template fieldUpdates an existing template.

Automations

ToolParametersEffect
list_automationsnoneRead-only.
create_automationname (string), status? (string), definition (workflow graph: { id, name, nodes: [{ id, type: 'trigger'|'condition'|'action'|'wait'|'end', ... }] })Creates an automation workflow.
update_automationid (string), name?, status?, definition?Updates a workflow's name, status, or definition.
run_automation
confirm required
id (string), event (string), audienceType ('contact'|'list'|'segment'), contactId?/listId?/segmentId?, confirm (boolean)Enrolls a contact, list, or segment into the automation. Sends live emails/actions to real recipients.
list_automation_runsid (string)Read-only. Lists recent runs of a workflow.

Providers

ToolParametersEffect
list_email_providersnoneRead-only. Returns provider ids, sender addresses, default status, health, and sending limits; use an id as providerId.

Authorization scope

Every tool call is scoped to the single organization selected during authorization. Requested permissions are shown to the user at connection time. An agent cannot read or write data belonging to an organization the user did not explicitly select.