Record a received gift
Record a gift that already arrived by cash, check, in kind or an outside payment service.
MCP tool bloomerang_write → record_donation
write Confirm
Adds the gift to the timeline and returns its ID. It records money that is already in your hands: it does not process a payment, so Credit Card, EFT and Saved Payment are refused, and there is no tool to refund or delete a gift. It leaves "send acknowledgement now" off, so no email goes to the donor. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| constituent_id integer required | integer | Constituent ID from search_constituents. |
| date string required | string | Date the gift was made, YYYY-MM-DD. |
| amount number required | number | Total amount. |
| method string required | string | Cash, Check, InKind, PayPal, Venmo, ApplePay or GooglePay. The last three record payments made outside Bloomerang. |
| non_deductible number | number | Part of the gift that is not tax deductible. Default 0. |
| fund string | string | Fund name from list_giving_options. |
| campaign string | string | Campaign name from list_giving_options. |
| appeal string | string | Appeal name from list_giving_options. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bloomerang_write",
"arguments": {
"operation": "record_donation",
"arguments": {
"constituent_id": 48211,
"date": "2026-10-19",
"amount": 150,
"method": "Check",
"fund": "General Fund",
"campaign": "Fall Appeal 2026",
"appeal": "Fall mailer"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"id": 90533,
"constituent_id": 48211,
"date": "2026-10-19",
"amount": 150,
"method": "Check",
"fund": "General Fund",
"campaign": "Fall Appeal 2026",
"appeal": "Fall mailer",
"acknowledgement_sent": false
},
"isError": false
}