[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 Agile CRM campaign report with AI

> Read the opens, clicks, bounces and unsubscribes of every Agile CRM campaign each Monday and flag the ones that need a look. Runs weekly.

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

Every Monday someone opens each Agile CRM campaign, clicks its reporting icon and copies opens, clicks, bounces and unsubscribes into a message for the team.

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

[Sign up free](https://cotlet.dev/app/signup?app=agile-crm) [All Agile CRM tools](https://cotlet.dev/integrations/agile-crm-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Agile CRM do this on its own?

Agile CRM shows campaign metrics in the app and can email scheduled reports (checked 22 Oct 2026). Its REST API lists campaigns with GET dev/api/workflows and enrolls or unsubscribes contacts, but the reference has no endpoint that returns opens, clicks, bounces or unsubscribes. There is no official MCP server.

## How you do it in Agile CRM today

1. Open Campaigns in Agile CRM, where campaigns are created with + Add Campaign.
2. For each campaign, click the reporting icon. Agile CRM shows emails opened, email links clicked, bounces, unsubscribes and spam complaints.
3. Drill into a metric to see who clicked which links and when each person opened the email.
4. Agile CRM exports contact lists to a file. Campaign numbers are read on screen, or a report is scheduled to arrive in your inbox.
5. With several campaigns running, that is one report per campaign every week, and a campaign with a rising unsubscribe count is easy to miss.

## How to weekly Agile CRM campaign report with AI

Prompt

```
Every Monday, read the report of each Agile CRM campaign and send me opens, clicks, bounces, unsubscribes and spam complaints, flagging any campaign with more than 10 unsubscribes or a spam complaint.
```

1. 01  
### Pick the campaigns  
Your agent reads the campaign list with list\_campaigns and follows next\_cursor to the end. If your prompt names campaigns ("Onboarding series", "October newsletter"), it keeps only those; otherwise it takes all of them.
2. 02  
### Read each report  
get\_campaign\_report runs once per campaign. It reads the numbers behind the reporting icon and the clicked links, and sends nothing to your contacts, so no call waits for your OK.
3. 03  
### Separate untracked from failed  
Agile CRM counts opens and clicks only for HTML emails. A campaign with 0 opens and 0 clicks is listed on its own with that reminder, not reported as a failure.
4. 04  
### Flag by your rule  
The agent marks every campaign that crosses a number from your prompt, for example more than 10 unsubscribes or any spam complaint, and quotes the figure it used.
5. 05  
### Compare with last week  
Cotlet keeps no history of reports. For a week-over-week change, put last week's numbers in the prompt, or let n8n or your script pass them in each run.

### What you get back

Example data

```
Campaigns read: 2
Onboarding series: 412 opened, 96 clicked, 18 bounced, 7 unsubscribed, 1 spam complaint
Top link: https://example.com/start (61 clicks)
October newsletter: 0 opened, 0 clicked (untracked, check that it is HTML)
Flagged: Onboarding series (spam complaint)
```

### Other ways to ask

- Report only campaigns I started this month and rank them by clicks.
- Every day, post the unsubscribe count of the Onboarding series in this chat.
- List the links that got clicks in each campaign and tell me which one to feature next.

## What Agile CRM allows, and what to know first

- Agile CRM tracks email opens and link clicks only for HTML emails, so plain-text campaigns report none.
- The report shows emails opened, links clicked, bounces, unsubscribes and spam complaints, and a drill-down per link and per person.
- Agile CRM can also schedule any report to run at a set time and arrive in your inbox, which sends the numbers but does not read or judge them.
- Workflows have Opened and Clicked nodes, and Clicked can check whether a link was clicked within a time frame.

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

Sources: [Agile CRM: Campaign Management](https://www.agilecrm.com/campaign-management) · [Agile CRM: CRM Reporting](https://www.agilecrm.com/crm-reporting) · [Agile CRM: Campaign Nodes](https://www.agilecrm.com/marketing-automation/campaign-nodes) · [Agile CRM REST API reference (GitHub)](https://github.com/agilecrm/rest-api)

## Call get\_campaign\_report from a script

curl

```
curl https://cotlet.dev/api/v1/agile-crm/campaigns/5731834621411328/report \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

Example response

```
{
"campaign_id": "5731834621411328",
"name": "Onboarding series",
"opened": 412,
"clicked": 96,
"bounced": 18,
"unsubscribed": 7,
"spam_complaints": 1,
"links": [
{
"url": "https://example.com/start",
"clicks": 61
},
{
"url": "https://example.com/pricing",
"clicks": 35
}
]
}
```

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

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

## Agile CRM tools this automation uses

__Cotlet Agile CRM tools used to weekly Agile CRM campaign report with AI__
| Tool | Parameters |
| --------------------- | ------------ |
| list\_campaigns | cursor |
| get\_campaign\_report | campaign\_id |

[All 11 Agile CRM tools with descriptions](https://cotlet.dev/integrations/agile-crm-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Agile CRM to Cotlet?

Yes. You sign in to Agile CRM yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Agile CRM 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 Agile CRM automations

- [Add tagged Agile CRM contacts to a campaign](https://cotlet.dev/integrations/agile-crm-api-mcp-server/enroll-tagged-contacts-in-campaign.md)
- [Agile CRM API and MCP server: every tool](https://cotlet.dev/integrations/agile-crm-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Agile CRM.

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

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

---

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.
