Log an interaction
Record a call, email, meeting or note on a constituent timeline.
MCP tool bloomerang_write → add_interaction
write
Logs what already happened; it sends nothing to the constituent. A user without giving access cannot choose Acknowledgement, PledgeReminder, Receipt or Solicitation and gets APP_PERMISSION_DENIED. It reaches no one, so it does not wait for your OK.
Parameters
| Name | Type | Description |
|---|---|---|
| constituent_id integer required | integer | Constituent ID from search_constituents. |
| date string required | string | YYYY-MM-DD. |
| subject string required | string | Up to 255 characters. |
| purpose string required | string | Purpose: Acknowledgement, ImpactCultivation, Newsletter, Receipt, Solicitation, SpecialEvent, VolunteerActivity, PledgeReminder, Welcome or Other. |
| channel string required | string | Channel: Email, Phone, TextMessage, Mail, InPerson, SocialMedia, Website or Other. |
| note string | string | Longer text kept with the interaction. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bloomerang_write",
"arguments": {
"operation": "add_interaction",
"arguments": {
"constituent_id": 1,
"date": "date",
"subject": "subject",
"purpose": "purpose",
"channel": "channel"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"id": 7311,
"constituent_id": 48211,
"date": "2026-10-21",
"subject": "Called about lapsed gift",
"channel": "Phone",
"purpose": "Solicitation"
},
"isError": false
}