Campaign Monitor integration | Zervanor
← All connectors

Campaign Monitor

Also an agent tool
marketing

Email marketing platform (createsend API v3.3): manage clients, lists, subscribers, campaigns, segments, templates, transactional email, and journeys (automation). HTTP Basic auth (API key as username). Real push webhooks for subscriber lifecycle events (Subscribe/Update/Deactivate); webhooks are unsigned.

117 actions · 4 triggers

The Campaign Monitor integration lets you connect Campaign Monitor to your automations with 117 actions and 4 triggers — and every action is also a tool an AI agent can call. Examples: List Clients, Get Billing Details, List Countries, List Timezones, Get System Date. No blank-canvas wiring — connect it and use it in your workflows.

Every action below is also a tool an AI agent can call — the same pack powers your workflows and your agents.

Triggers 4

Events in Campaign Monitor that can start a workflow.

webhook

Subscriber Subscribed

Fires when a subscriber subscribes to a list (Campaign Monitor Subscribe webhook event).

webhook

Subscriber Updated

Fires when a subscriber's details change on a list (Campaign Monitor Update webhook event).

webhook

Subscriber Deactivated

Fires when a subscriber unsubscribes, bounces, or is marked spam (Campaign Monitor Deactivate webhook event).

polling

New active subscribers on this list (polled, webhook-free fallback)

Only used when webhooks cannot be registered; v1 uses the Subscribe webhook trigger instead.

Actions 117

What Zervanor can do in Campaign Monitor.

Clients30

GET

Get Client

Get full client details including API key and billing (GET /clients/{clientid}.json).

DELETE

Delete Client

Delete a client (DELETE /clients/{clientid}.json).

GET

List Client Lists

Get all subscriber lists for the client (GET /clients/{clientid}/lists.json).

GET

List Lists For Email

Get the lists a given email is subscribed to, within a client (GET /clients/{clientid}/listsforemail.json?email={email}).

GET

List Client Segments

Get all segments across the client's lists (GET /clients/{clientid}/segments.json).

GET

List Suppression List

Get the client's paginated suppression list (GET /clients/{clientid}/suppressionlist.json).

POST

Suppress Emails

Add email addresses to the client's suppression list (POST /clients/{clientid}/suppress.json).

PUT

Unsuppress Email

Remove an email from the suppression list (PUT /clients/{clientid}/unsuppress.json?email={email}).

GET

List Client Templates

List the client's templates (GET /clients/{clientid}/templates.json).

PUT

Update Client Basics

Update client name, country, timezone (PUT /clients/{clientid}/setbasics.json).

PUT

Set Pay-As-You-Go Billing

Configure pay-as-you-go billing for the client (PUT /clients/{clientid}/setpaygbilling.json).

PUT

Set Monthly Billing

Configure a monthly billing plan for the client (PUT /clients/{clientid}/setmonthlybilling.json).

POST

Transfer Client Credits

Transfer credits to or from the client (POST /clients/{clientid}/credits.json).

GET

List Client People

List active/invited people for the client (GET /clients/{clientid}/people.json).

GET

Get Client Person

Get a single person's details for the client (GET /clients/{clientid}/people.json?email={email}).

POST

Add Client Person

Add a new person to the client (POST /clients/{clientid}/people.json).

PUT

Update Client Person

Update a person's details/permissions for the client (PUT /clients/{clientid}/people.json?email={email}).

DELETE

Delete Client Person

Set a person to deleted, revoking their client access (DELETE /clients/{clientid}/people.json?email={email}).

GET

Get Client Primary Contact

Get the client's primary-contact email (GET /clients/{clientid}/primarycontact.json).

PUT

Set Client Primary Contact

Set a person as the client primary contact (PUT /clients/{clientid}/primarycontact.json?email={email}).

GET

List Client Tags

Get campaign tags with occurrence counts for the client (GET /clients/{clientid}/tags.json).

GET

List Client Campaigns

Get sent campaigns for the client, paginated and filterable (GET /clients/{clientid}/campaigns.json).

GET

List Scheduled Campaigns

Get currently scheduled campaigns for the client (GET /clients/{clientid}/scheduled.json).

GET

List Draft Campaigns

Get draft campaigns for the client (GET /clients/{clientid}/drafts.json).

GET

List Sending Domains

Get sending domains and their authentication status for the client (GET /clients/{clientid}/sendingdomains.json).

POST

Add Sending Domain

Add a sending domain (DKIM config) to the client (POST /clients/{clientid}/sendingdomains.json).

DELETE

Remove Sending Domain

Remove a sending domain from the client (DELETE /clients/{clientid}/sendingdomains.json?domain={domain}).

POST

Copy Sending Domain

Copy a verified sending domain to another client (POST /clients/{clientid}/sendingdomains/copy.json).

PUT

Authenticate Sending Domain

Verify a sending domain's DNS records for the client (PUT /clients/{clientid}/sendingdomains/authenticate.json).

GET

List Client Journeys

Get all journeys (automations) for a client (GET /clients/{clientid}/journeys.json).

Lists22

POST

Create List

Create a new subscriber list for the client (POST /lists/{clientid}.json). Returns the new ListID as a bare string.

GET

Get List

Get a list's configuration/settings (GET /lists/{listid}.json).

PUT

Update List

Update a list's name, type, opt-in/unsubscribe settings (PUT /lists/{listid}.json).

DELETE

Delete List

Delete a list (DELETE /lists/{listid}.json).

GET

Get List Stats

Get summary statistics for a list (GET /lists/{listid}/stats.json).

GET

List Custom Fields

Get all custom fields for the list (GET /lists/{listid}/customfields.json).

POST

Create Custom Field

Create a custom field for the list (POST /lists/{listid}/customfields.json).

PUT

Update Custom Field

Update a custom field's name/visibility (PUT /lists/{listid}/customfields/{customfieldkey}.json).

PUT

Update Custom Field Options

Update options for a multi-valued custom field (PUT /lists/{listid}/customfields/{customfieldkey}/options.json).

DELETE

Delete Custom Field

Delete a custom field (DELETE /lists/{listid}/customfields/{customfieldkey}.json).

GET

List Segments For List

Get all segments created for this list (GET /lists/{listid}/segments.json).

GET

List Active Subscribers

Get active subscribers for the list, paginated (GET /lists/{listid}/active.json).

GET

List Unconfirmed Subscribers

Get subscribers awaiting opt-in confirmation, paginated (GET /lists/{listid}/unconfirmed.json).

GET

List Unsubscribed Subscribers

Get unsubscribed subscribers, paginated (GET /lists/{listid}/unsubscribed.json).

GET

List Bounced Subscribers

Get bounced subscribers, paginated (GET /lists/{listid}/bounced.json).

GET

List Deleted Subscribers

Get deleted subscribers, paginated (GET /lists/{listid}/deleted.json).

GET

List Webhooks

Get all webhooks created for this list (GET /lists/{listid}/webhooks.json).

POST

Create Webhook

Create a webhook on this list for Subscribe/Update/Deactivate events (POST /lists/{listid}/webhooks.json). Returns the new WebhookID as a bare string.

GET

Test Webhook

Send a test payload to the webhook URL (GET /lists/{listid}/webhooks/{webhookid}/test.json). A 2xx response is required before the webhook can be activated.

PUT

Activate Webhook

Activate a webhook (PUT /lists/{listid}/webhooks/{webhookid}/activate.json).

PUT

Deactivate Webhook

Deactivate a webhook (PUT /lists/{listid}/webhooks/{webhookid}/deactivate.json). Campaign Monitor also auto-deactivates webhooks on repeated delivery failure — see campaign-monitor-03.

DELETE

Delete Webhook

Delete a webhook (DELETE /lists/{listid}/webhooks/{webhookid}.json).

Campaigns15

POST

Create Campaign

Create a draft campaign with HTML content and recipient lists (POST /campaigns/{clientid}.json). Returns the new CampaignID as a bare string.

POST

Create Campaign From Template

Create a draft campaign from a template (POST /campaigns/{clientid}/fromtemplate.json). Returns the new CampaignID as a bare string.

POST

Send Campaign

Send a draft campaign now or at a scheduled time (POST /campaigns/{campaignid}/send.json).

POST

Send Campaign Preview

Send a preview of a draft campaign to specified addresses (POST /campaigns/{campaignid}/sendpreview.json).

POST

Unschedule Campaign

Cancel a scheduled campaign, returning it to draft (POST /campaigns/{campaignid}/unschedule.json).

DELETE

Delete Campaign

Delete a campaign (DELETE /campaigns/{campaignid}.json).

GET

Get Campaign Summary

Get a campaign's performance summary (GET /campaigns/{campaignid}/summary.json).

GET

Get Campaign Email Client Usage

Get the email clients used to open the campaign (GET /campaigns/{campaignid}/emailclientusage.json).

GET

Get Campaign Opens

Get subscribers who opened the campaign, with timestamps and geo (GET /campaigns/{campaignid}/opens.json).

GET

Get Campaign Clicks

Get link clicks for the campaign, with URLs, IP, and geo (GET /campaigns/{campaignid}/clicks.json).

GET

Get Campaign Bounces

Get bounce events for the campaign, with type and reason (GET /campaigns/{campaignid}/bounces.json).

GET

Get Campaign Unsubscribes

Get unsubscribe events for the campaign, with timestamps and IP (GET /campaigns/{campaignid}/unsubscribes.json).

GET

Get Campaign Spam Complaints

Get spam complaints for the campaign, with dates and list ids (GET /campaigns/{campaignid}/spam.json).

GET

Get Campaign Recipients

Get the campaign's paginated recipient list (GET /campaigns/{campaignid}/recipients.json).

GET

Get Campaign Lists And Segments

Get the lists/segments a campaign was sent to (GET /campaigns/{campaignid}/listsandsegments.json).

Transactional9

GET

List Smart Emails

List smart transactional emails by status (GET /transactional/smartEmail.json). JSON-only, rate-limited.

GET

Get Smart Email

Get smart email details (GET /transactional/smartEmail/{smartEmailID}.json). JSON-only, rate-limited.

POST

Send Smart Email

Send a smart email with template variables and recipients (POST /transactional/smartEmail/{smartEmailID}/send.json). JSON-only, rate-limited.

POST

Send Classic Email

Send a classic transactional email with full content specified at request time (POST /transactional/classicEmail/send.json). JSON-only, rate-limited.

GET

List Classic Email Groups

List classic email groups (GET /transactional/classicEmail/groups.json). JSON-only, rate-limited.

GET

Get Transactional Statistics

Get delivery/engagement metrics by group or smart email (GET /transactional/statistics.json). JSON-only, rate-limited.

GET

List Transactional Messages

Get sent transactional message history, filterable and paginated (GET /transactional/messages.json). JSON-only, rate-limited.

GET

Get Transactional Message

Get a message's status, content, and analytics (GET /transactional/messages/{messageID}.json). JSON-only, rate-limited.

POST

Resend Transactional Message

Resend a previously sent transactional message (POST /transactional/messages/{messageID}/resend.json). JSON-only, rate-limited.

Journeys7

GET

Get Journey

Get a journey summary with per-email statistics (GET /journeys/{journeyid}.json).

GET

Get Journey Email Recipients

Get subscribers who received a journey email (GET /journeys/email/{emailId}/recipients.json).

GET

Get Journey Email Opens

Get journey email opens with geo and timing (GET /journeys/email/{emailId}/opens.json).

GET

Get Journey Email Clicks

Get journey email clicks with URLs and location (GET /journeys/email/{emailId}/clicks.json).

GET

Get Journey Email Bounces

Get journey email bounces with type and reason (GET /journeys/email/{emailId}/bounces.json).

GET

Get Journey Email Unsubscribes

Get journey email unsubscribes with IP and timestamp (GET /journeys/email/{emailId}/unsubscribes.json).

POST

Copy Journey

Copy a journey to another client/list (POST /journeys/{journeyid}/copy.json).

Segments7

POST

Create Segment

Create a segment for a list (POST /segments/{listid}.json).

GET

Get Segment

Get segment details including rules and subscriber count (GET /segments/{segmentid}.json).

PUT

Update Segment

Update a segment's name (optionally replacing its rules) (PUT /segments/{segmentid}.json).

POST

Add Segment Rules

Add a rulegroup to a segment (POST /segments/{segmentid}/rules.json).

DELETE

Clear Segment Rules

Clear all rules/rulegroups from a segment (DELETE /segments/{segmentid}/rules.json).

GET

List Segment Active Subscribers

Get active subscribers matching the segment, paginated (GET /segments/{segmentid}/active.json).

DELETE

Delete Segment

Delete a segment (DELETE /segments/{segmentid}.json).

Subscribers7

POST

Add Subscriber

Add a single subscriber to a list (POST /subscribers/{listid}.json). Returns the EmailAddress string.

PUT

Update Subscriber

Update an existing subscriber (PUT /subscribers/{listid}.json?email={email}).

POST

Import Subscribers

Import up to 1000 subscribers in a batch (POST /subscribers/{listid}/import.json).

GET

Get Subscriber

Get a subscriber's current details (GET /subscribers/{listid}.json?email={email}).

GET

Get Subscriber History

Get a subscriber's campaign activity history (GET /subscribers/{listid}/history.json?email={email}).

POST

Unsubscribe Subscriber

Set a subscriber to unsubscribed (POST /subscribers/{listid}/unsubscribe.json).

DELETE

Delete Subscriber

Set a subscriber to deleted (DELETE /subscribers/{listid}.json?email={email}). Used as the cleanup for the add_subscriber write test.

Admins.Json5

GET

List Administrators

List all (active or invited) administrators (GET /admins.json).

GET

Get Administrator

Get a single administrator's details (GET /admins.json?email={email}).

POST

Add Administrator

Add a new administrator to the account (POST /admins.json).

PUT

Update Administrator

Update an administrator's email/name (PUT /admins.json?email={email}).

DELETE

Remove Administrator

Remove administrator access (DELETE /admins.json?email={email}).

Templates5

POST

Create Template

Create a template from a name and HTML/zip URLs (POST /templates/{clientid}.json). Returns the new TemplateID as a bare string.

GET

Get Template

Get template details including preview/screenshot URLs (GET /templates/{templateid}.json).

PUT

Update Template

Update a template's name/file URLs (PUT /templates/{templateid}.json).

DELETE

Delete Template

Delete a template (DELETE /templates/{templateid}.json).

POST

Copy Template

Copy a 'My templates' template to a client (POST /templates/{templateid}/copy.json). Returns the new TemplateID as a bare string.

Clients.Json2

GET

List Clients

List all clients in the account (GET /clients.json).

POST

Create Client

Create a new client (POST /clients.json). Returns the new ClientID as a bare string.

Primarycontact.Json2

GET

Get Primary Contact

Get the account primary-contact email (GET /primarycontact.json).

PUT

Set Primary Contact

Set an administrator as the account primary contact (PUT /primarycontact.json?email={email}).

Billingdetails.Json1

GET

Get Billing Details

Get account credits and billing information (GET /billingdetails.json).

Countries.Json1

GET

List Countries

List valid country names accepted as input (GET /countries.json).

Events1

POST

Publish Journey Event

Trigger a Subscriber Activity journey with custom event data (POST /events/publish/{clientId}).

Externalsession.Json1

PUT

Initiate External Session

Initiate a single-sign-on login session for a member (PUT /externalsession.json).

Systemdate.Json1

GET

Get System Date

Get the current date/time in the account's timezone. Safe, no side effects, requires only valid credentials — connectivity/identity check.

Timezones.Json1

GET

List Timezones

List valid timezone names accepted as input (GET /timezones.json).

Automations using Campaign Monitor

Build your own automation with Campaign Monitor in the visual builder.

Frequently asked questions

What can I automate with Campaign Monitor?

117 actions are available — for example: List Clients, Get Billing Details, List Countries, List Timezones, Get System Date, and more.

Which Campaign Monitor events can start a workflow?

4 triggers — for example: Subscriber Subscribed, Subscriber Updated, Subscriber Deactivated, New active subscribers on this list (polled, webhook-free fallback).

Can Campaign Monitor be used as an AI agent tool?

Yes. Every Campaign Monitor action automatically becomes a tool an AI agent can call — the same pack powers both your workflows and your agents.

How is the Campaign Monitor integration modelled?

Campaign Monitor is modelled as a versioned connector pack, and the steps that need reasoning fall to first-party agents hosted in the same runtime as the workflows.