[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)

# Add tagged Agile CRM contacts to a campaign

> Tag new Agile CRM contacts and add them to a campaign in one run, with each batch confirmed by you before the first email goes out.

Source: https://cotlet.dev/integrations/agile-crm-api-mcp-server/enroll-tagged-contacts-in-campaign

After a webinar or an import, a batch of new contacts sits in Agile CRM with one tag. Someone has to select them, tag them again and send them into the right campaign.

Cotlet does it in your own Agile CRM account with list\_contacts, add\_contact\_tags and add\_contacts\_to\_campaign, 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 does this by hand with Bulk Actions on the Contacts page (checked 22 Oct 2026). Its REST API can add tags and enroll a contact in a campaign, one contact per call by email, and every call counts toward the daily cap: 500 on Free, 5,000 on Starter. It has no bulk action endpoint for contacts.

## How you do it in Agile CRM today

1. Open Contacts and filter the list by the tag, or search for the group of contacts.
2. Tick the checkboxes next to the names. To select every visible contact, tick the box at the upper left; with more than 25 contacts, Agile CRM offers to select all of them.
3. Open the Bulk Actions drop-down and choose Add Tags to add a tag to all of them.
4. Choose Bulk Actions > Add to Campaign, pick the campaign and click Add. The campaign runs on those contacts immediately.
5. The routine repeats after each webinar or import, and a contact that was already in the campaign is easy to add twice.

## How to add tagged Agile CRM contacts to a campaign

Prompt

```
Find Agile CRM contacts tagged webinar_oct, add the tag nurture, and add them to the Onboarding series campaign. Skip anyone already tagged nurture.
```

1. 01  
### Find the batch  
list\_contacts runs with your tag and follows next\_cursor to the end. The agent drops contacts that already carry the target tag, so a second run does not pick them up again.
2. 02  
### Check the tag name  
The agent checks the new tag against Agile CRM's rule: it starts with a letter and holds only letters, numbers, underscores and spaces. A name that breaks it is changed in your prompt before any contact is touched.
3. 03  
### Tag the batch  
add\_contact\_tags adds the new tag to every contact in one call. It reaches nobody, so it does not wait for your OK.
4. 04  
### Show the list, then add  
Before add\_contacts\_to\_campaign, the agent shows how many contacts and which campaign. The call waits for your OK by default, because Agile CRM starts the campaign at once and its emails go to real people.
5. 05  
### Report what ran  
The agent returns the number added and the contacts it left out, with the reason: already tagged, or no email address.

### What you get back

Example data

```
Contacts tagged webinar_oct: 3
Already tagged nurture: 0
Tagged nurture: 3
Added to Onboarding series: 3
Left out: 0
```

### Other ways to ask

- Every morning, add contacts tagged trial\_started to the Welcome campaign and tag them welcomed.
- Add only contacts owned by sam@example.com, and list the rest for me.
- Show me who would be added to the Onboarding series, but add nobody.
- Add contacts with a lead score above 30 to the Sales follow-up campaign.

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

- Agile CRM's Bulk Actions for contacts are Add Tags, Remove Tags, Add to Campaign, Change Owner, Export as CSV and Delete.
- When you pick Add to Campaign, Agile CRM runs the chosen campaign on those contacts immediately.
- Agile CRM's product updates log shows Access Control can add or remove the Add to Campaign bulk action for a role, so a user without it cannot run this job.
- Agile CRM's REST reference says data is case-sensitive, including tags, so "Nurture" and "nurture" are two tags.

add\_contacts\_to\_campaign asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Agile CRM Help: Bulk Actions](https://www.agilecrm.com/sales-enablement/bulk-actions) · [Agile CRM Help: Adding Contacts to Campaigns](https://www.agilecrm.com/marketing-automation/adding-contacts-to-campaigns) · [Agile CRM Product Updates](https://www.agilecrm.com/product-updates) · [Agile CRM REST API reference (GitHub)](https://github.com/agilecrm/rest-api)

## Call add\_contacts\_to\_campaign from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/agile-crm/campaigns/5731834621411328/contacts-to-campaigns \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contact_ids":["5698320417841152","5701182246576128","5709775523012608"]}'
```

Example response

```
{
"campaign_id": "5731834621411328",
"campaign": "Onboarding series",
"added": 3,
"contact_ids": [
"5698320417841152",
"5701182246576128",
"5709775523012608"
]
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is agile\_crm\_write → add\_contacts\_to\_campaign. 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 add tagged Agile CRM contacts to a campaign__
| Tool | Parameters |
| --------------------------- | -------------------------------------- |
| list\_contacts | query, tag, owner\_email, type, cursor |
| add\_contact\_tags | contact\_ids, tags |
| add\_contacts\_to\_campaign | campaign\_id, contact\_ids |

[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

- [Weekly Agile CRM campaign report with AI](https://cotlet.dev/integrations/agile-crm-api-mcp-server/weekly-campaign-report.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.
