[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Weekly Campaign Monitor campaign report in your chat

> Get open rate, click rate, unsubscribes and spam complaints of last week's Campaign Monitor campaigns in one Monday message, best one named.

Source: https://cotlet.dev/integrations/campaign-monitor-api-mcp-server/weekly-campaign-report

Every Monday someone opens the Sent campaigns, clicks into each report and copies Opened, Clicked and Unsubscribes into a spreadsheet or a Slack message.

Cotlet does it in your own Campaign Monitor account with list\_campaigns, get\_campaign\_report and list\_campaign\_activity, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=campaign-monitor) [All Campaign Monitor tools](https://cotlet.dev/integrations/campaign-monitor-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Campaign Monitor do this on its own?

Campaign Monitor shows these numbers in each campaign report and in Insights, and exports Insights as a CSV (checked 22 Oct 2026). You read them in the app or download the file. Its Zapier triggers fire once per open, click or bounce, not once per campaign summary.

## How you do it in Campaign Monitor today

1. Go to Campaigns > Sent, click a campaign and read its Snapshot: Opened, Clicked, Delivered, Bounced, Unsubscribes, Marked as Spam and Shares. You need the reports permission.
2. Repeat for each campaign sent that week, because every campaign has its own report.
3. For a comparison, click Insights, set the date range in the date box and open Regular and A/B campaigns. Campaign Monitor compares the range with the previous period of equal length.
4. Some fields, such as subject line and total opens, are only in the CSV that the down arrow at the top right of Insights downloads.
5. Insights data goes back at most 15 months, so a year-on-year view means exporting and keeping the files yourself.

## How to weekly Campaign Monitor campaign report in your chat

Prompt

```
Every Monday, report the open rate, click rate, unsubscribes and spam complaints of each campaign I sent last week, name the best one and list the links people clicked.
```

1. 01  
### Find last week's sends  
list\_campaigns with status sent and sent\_from set to Monday returns the campaigns of the week. With none, the agent says so and stops, so a quiet week is not reported as zero.
2. 02  
### Read each Snapshot  
get\_campaign\_report runs once per campaign. Opened and Clicked come back as percentages of Delivered, the way the Snapshot shows them, and the agent turns them into counts only when you ask for counts.
3. 03  
### Flag the outliers  
Marked as Spam above 0.2% is flagged, because Campaign Monitor says it should stay below that. A bounce or unsubscribe rate far above the other campaigns of the week is flagged as well.
4. 04  
### Name the winner and its links  
For the campaign with the best click rate, list\_campaign\_activity with type clicked reads Recipient activity. Its Clicks column names the links people viewed, so the report says what they clicked, not only how many.
5. 05  
### Mark opens as estimates  
The agent labels open rates as estimates in every report, since Apple Mail Privacy Protection can inflate them, and puts clicks first when it ranks campaigns.

### What you get back

Example data

```
Campaigns sent 12-18 Oct: 2
October newsletter: delivered 12,310, opened 41.2%, clicked 4.8%, unsubscribes 0.2%, spam 0.01%
Welcome back offer: delivered 3,120, opened 38.6%, clicked 6.3%, unsubscribes 0.1%
Best by clicks: Welcome back offer. Top link: /autumn-menu (212 clicks)
Flagged: none above 0.2% spam
```

### Other ways to ask

- On the first of each month, compare last month's campaigns with the month before and list the three with the lowest click rate.
- After every campaign I send, report the Snapshot 24 hours later and the Not opened count.
- List the people who clicked the link in last Thursday's campaign and did not open the one before it.

## What Campaign Monitor allows, and what to know first

- The Snapshot counts Opened as opens divided by delivered emails, and Delivered is any email that did not bounce.
- Campaign Monitor filters non-human clicks out of campaign reports, so click counts can drop after the first hours.
- Plain text campaigns get bounce, social sharing, unsubscribe and spam numbers, but no open or click stats.
- Insights refreshes campaign and journey data every hour, and subscriber details every 24 hours.
- In Opens and clicks over time, the hour and minute views become available one day after sending.

Every tool here only reads, so it can run weekly from n8n, Make, Zapier or cron without waiting for your OK.

Sources: [Campaign Monitor Help: Email campaign reports](https://help.campaignmonitor.com/articles/Knowledge/terms-used-campaign-reports) · [Campaign Monitor Help: Insights](https://help.campaignmonitor.com/insights) · [Campaign Monitor Help: Open and click rates](https://help.campaignmonitor.com/articles/Knowledge/open-click-rates) · [Zapier Help: Get started with Campaign Monitor on Zapier](https://help.zapier.com/hc/en-us/articles/8495917875725-How-to-get-started-with-Campaign-Monitor-on-Zapier)

## Call get\_campaign\_report from a script

curl

```
curl https://cotlet.dev/api/v1/campaign-monitor/campaigns/a41f7c9e2d8b4e60b3a1c5d7e9f20814/report \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

Example response

```
{
"campaign_id": "a41f7c9e2d8b4e60b3a1c5d7e9f20814",
"name": "October newsletter",
"sent": 12480,
"delivered": 12310,
"bounced": 170,
"opened_pct": 41.2,
"clicked_pct": 4.8,
"unsubscribes_pct": 0.2,
"spam_pct": 0.01,
"shares": 38
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is campaign\_monitor\_read → get\_campaign\_report. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/campaign-monitor-api-mcp-server.md#automations)

## Campaign Monitor tools this automation uses

__Cotlet Campaign Monitor tools used to weekly Campaign Monitor campaign report in your chat__
| Tool | Parameters |
| ------------------------ | ------------------------------------------- |
| list\_campaigns | status, sent\_from, sent\_to, cursor, limit |
| get\_campaign\_report | campaign\_id |
| list\_campaign\_activity | campaign\_id, type, cursor, limit |

[All 13 Campaign Monitor tools with descriptions](https://cotlet.dev/integrations/campaign-monitor-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Campaign Monitor to Cotlet?

Yes. You sign in to Campaign Monitor yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Campaign Monitor once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Campaign Monitor automations

- [Re-send a Campaign Monitor campaign to people who did not open it](https://cotlet.dev/integrations/campaign-monitor-api-mcp-server/re-engage-non-openers.md)
- [Turn Campaign Monitor journeys on and off with an AI agent](https://cotlet.dev/integrations/campaign-monitor-api-mcp-server/turn-journeys-on-and-off.md)
- [Campaign Monitor API and MCP server: every tool](https://cotlet.dev/integrations/campaign-monitor-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Campaign Monitor.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Campaign Monitor.

[Sign up free](https://cotlet.dev/app/signup?app=campaign-monitor)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
