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

# Prepare Bloomerang lapsed donor follow-up calls

> Find donors who just lapsed in Bloomerang, read their last gift and contact, and create a call task for a colleague. Skips recent contact.

Source: https://cotlet.dev/integrations/bloomerang-api-mcp-server/lapsed-donor-follow-ups

Donors lapse quietly: no gift for 13 months, and nobody notices until the year-end report. A fundraiser filters the list, opens profiles one by one and decides who gets a call.

Cotlet does it in your own Bloomerang account with search\_constituents, list\_donations, list\_interactions and create\_task, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can Bloomerang do this on its own?

Bloomerang filters lapsed donors in the dashboard, and Journey Automation can create a task and assign it to the relationship manager (checked 22 Oct 2026, changelog 16 Oct 2025). It sends the same task to every donor who matches. It does not read a donor's last gift and contact to decide who is worth a call this week, or write a task subject with that context.

## How you do it in Bloomerang today

1. Click Constituents, then Filter Results, and set Lifecycle Stage to Lapsed. The Analytics panel shows how many donors are Lapsed.
2. Add more filters, such as Donor Types or Status Active, because Bloomerang lets you combine filters freely.
3. Open each profile to read the latest transaction and the interactions on the timeline.
4. Click the down arrow on the record and select New Interaction to log the call, with a Date, Subject, Purpose and Channel.
5. Groups, then Add Group and Add Members, saves a list of lapsed donors for the team.

## How to prepare Bloomerang lapsed donor follow-up calls

Prompt

```
List Bloomerang donors who lapsed in the last 60 days with a gift of 100 or more. For each, read the last gift and the last interaction, and create a call task for Sam due next Friday. Skip anyone we contacted in the last 30 days.
```

1. 01  
### Pull the lapsed list  
search\_constituents runs with lifecycle\_stage Lapsed and follows next\_cursor to the end. The stage is Bloomerang's own: the latest transaction is older than 13 months.
2. 02  
### Read the last gift  
list\_donations gives the gifts of each candidate. Donors below the amount in your prompt are dropped, and the date of the last gift goes into the task subject.
3. 03  
### Skip recent contact  
list\_interactions with since set to 30 days back checks each donor. Anyone with a call, email or note in that window is skipped and listed, so nobody is called twice in a month.
4. 04  
### Create the task  
create\_task assigns one call task per donor to the colleague you named, with a due date and a subject such as "Call about lapsed gift". notify stays false unless you ask, so the colleague gets one summary from the agent, not 20 emails.
5. 05  
### Hand over the list  
The agent returns who got a task, who was skipped and why. No email or message goes to any donor.

### What you get back

Example data

```
Lapsed donors, gift of 100 or more, lapsed in the last 60 days: 9
Tasks created for Sam, due 2026-10-30: 6
- Lena Ortiz, last gift 150.00 on 2025-09-10
Skipped 3:
- Priya Nair: call logged 2026-10-08
- Hill Family Trust: note logged 2026-10-15
```

### Other ways to ask

- Do the same for Recurring donors whose schedule ended, and assign the tasks to each donor's relationship manager.
- Only show me the list with last gift and last contact, and create no tasks.
- Every Monday, create tasks for newly lapsed donors with gifts of 500 or more.

## What Bloomerang allows, and what to know first

- Bloomerang calls a donor Lapsed when the latest transaction is older than 13 months, and Current when there is one within the last 13 months.
- Donor types New, Retained, Recaptured and Recurring can be combined with the lifecycle stage, and Recurring counts active recurring schedules, not pledges.
- A user with restricted giving access can add interactions and tasks, but cannot select a giving-related purpose such as Solicitation.
- Users with No access to transactions still get task notification emails.
- Bloomerang's Journey Automation Create Task action can assign to the constituent's relationship manager, and uses the Assign To person if there is none.

create\_task changes only your own Bloomerang data and reach no one else, so it runs without asking first.

Sources: [Bloomerang Help: Constituent Dashboard](https://help.bloomerang.com/en/articles/12632808-constituent-dashboard) · [Bloomerang Help: User Permissions](https://help.bloomerang.com/en/articles/12632881-user-permissions) · [Bloomerang Help: Add and Manage Constituent Groups and Members](https://help.bloomerang.com/en/articles/12632749-add-and-manage-constituent-groups-and-members) · [Bloomerang Changelog](https://bloomerang.com/change-log)

## Call create\_task from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/bloomerang/constituents/48211/tasks \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_id":12,"due_date":"2026-10-29","subject":"Call about lapsed gift","channel":"Phone"}'
```

Example response

```
{
"id": 3318,
"constituent_id": 48211,
"user_id": 12,
"due_date": "2026-10-29",
"subject": "Call about lapsed gift",
"channel": "Phone",
"notified": false
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is bloomerang\_write → create\_task. Example data.

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

## Bloomerang tools this automation uses

__Cotlet Bloomerang tools used to prepare Bloomerang lapsed donor follow-up calls__
| Tool | Parameters |
| -------------------- | ----------------------------------------------------------------------------- |
| search\_constituents | query, type, status, lifecycle\_stage, donor\_type, cursor |
| list\_donations | constituent\_id, since, until, fund, cursor |
| list\_interactions | constituent\_id, purpose, channel, since, cursor |
| create\_task | constituent\_id, user\_id, due\_date, subject, channel, purpose, note, notify |

[All 12 Bloomerang tools with descriptions](https://cotlet.dev/integrations/bloomerang-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Bloomerang to Cotlet?

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

- [Log Bloomerang checks and cash gifts with AI](https://cotlet.dev/integrations/bloomerang-api-mcp-server/log-checks-and-cash-gifts.md)
- [Merge duplicate Bloomerang constituents with AI](https://cotlet.dev/integrations/bloomerang-api-mcp-server/merge-duplicate-constituents.md)
- [Bloomerang API and MCP server: every tool](https://cotlet.dev/integrations/bloomerang-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Bloomerang.

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

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

---

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.
