Bloomerang integration
Bloomerang CRM is donor management software for nonprofits. Search, create, update and merge constituents and households, record donations, pledges and recurring gifts as transactions, log interactions, notes and tasks, give soft credits, manage addresses, emails, phones and relationships, and read funds, campaigns, appeals, tributes, custom fields and pledge schedules. Two tools can move money: create_transaction charges a stored payment method only when a WalletItemId is given (otherwise it records a payment collected elsewhere), and create_refund also refunds through the payment processor unless RunProcessorRefund is false. Not exposed: retrieving API keys with a username and password, refreshing campaign goal summaries, and adding a stored payment method (it needs a token minted by the payment processor). Authentication is a private API key that an Administrator user generates in Bloomerang (Edit My User), sent in the X-API-KEY header.
Say what should happen.
The workflow builds itself.
What you can do with Bloomerang
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Address, 5 operations
create_addressCreate addressPOSTAdds a postal address to a constituent given by AccountId. Type and Country are required, and State must match a state known to Bloomerang. Set IsPrimary to make it the primary address. Returns the created address.delete_addressDelete addressDELETEDeletes one address by its address ID, as returned by list_addresses or in a constituent's PrimaryAddress.get_addressGet addressGETReturns one address by its ID: type (Home, Vacation or Work), street, city, state, postal code, country, primary and bad flags, the constituent it belongs to (AccountId) and its audit trail.list_addressesList addressesGETLists addresses, at most 50 per page (skip and take), optionally filtered by constituent IDs, address IDs or a last-modified date.update_addressUpdate addressPUTUpdates an existing address, by address ID, with the fields sent: type, street, city, state, postal code, country, primary or bad flag. Returns the updated address.
Constituent, 5 operations
create_constituentCreate constituentPOSTCreates a constituent (an individual or an organization) with its names, primary and secondary addresses, emails and phones, custom values and communication preferences. Type is required. Returns the new constituent.delete_constituentDelete constituentDELETEDeletes a constituent (an individual or an organization) by its constituent ID.get_constituentGet constituentGETReturns one constituent by ID: names, status, household, primary address, email and phone, custom values, communication preferences, engagement score and audit trail.list_constituentsList constituentsGETLists constituents, at most 50 per page, filtered by type, constituent IDs, favorites, a custom field value or a last-modified date, and sorted by ID, creation or modification date.update_constituentUpdate constituentPUTUpdates a constituent by ID with the fields sent: names, status, job, social profiles, contact details or custom values. Communication preferences are changed with update_constituent_communication_settings.
Email, 5 operations
create_emailCreate emailPOSTAdds an email address to a constituent given by AccountId. Type (Home or Work) and Value (the address) are required; set IsPrimary to make it the primary email. Returns the created email.delete_emailDelete emailDELETEDeletes one email address by its ID, as returned by list_emails or in a constituent's PrimaryEmail.get_emailGet emailGETReturns one email address by its ID: the address, its type, primary and bad flags, the constituent it belongs to (AccountId) and its audit trail.list_emailsList emailsGETLists email addresses, at most 50 per page, optionally filtered by constituent IDs, email IDs or a last-modified date.update_emailUpdate emailPUTUpdates an email address by ID: the address, its type, primary or bad flag. Returns the updated email.
Household, 5 operations
create_householdCreate householdPOSTCreates a household from a head constituent (Head) and optional members. The household's full, sort, informal, formal, envelope and recognition names are all required. Returns the household.delete_householdDelete householdDELETEDeletes a household by ID. Only the household is deleted; its member constituents remain.get_householdGet householdGETReturns one household by ID: its names, head and member constituent IDs, status, communication restrictions, engagement score and audit trail.list_householdsList householdsGETLists households, at most 50 per page, optionally filtered by household IDs or a last-modified date.update_householdUpdate householdPUTUpdates a household by ID: its names, head or members. Returns the updated household.
Interaction, 5 operations
create_interactionCreate interactionPOSTLogs an interaction with a constituent (a call, email, letter, meeting and so on). Date, Channel, Purpose and Subject are required; AccountId names the constituent. Returns the interaction.delete_interactionDelete interactionDELETEDeletes one interaction by its interaction ID.get_interactionGet interactionGETReturns one interaction by ID: date, channel, purpose, subject, note, inbound flag, constituent, custom values, attachment IDs and audit trail.list_interactionsList interactionsGETLists interactions, at most 50 per page, filtered by constituent IDs, interaction IDs, channels or purposes, and sorted by date, creation or modification date.update_interactionUpdate interactionPUTUpdates an interaction by ID: date, channel, purpose, subject, note, inbound flag, custom values or attachments. Returns the updated interaction.
Note, 5 operations
create_noteCreate notePOSTAdds a note to a constituent. AccountId, Date and the note text are required; custom values and attachments are optional. Returns the created note.delete_noteDelete noteDELETEDeletes one note by its note ID.get_noteGet noteGETReturns one note by ID: its text, date, constituent, custom values, attachment IDs and audit trail.list_notesList notesGETLists notes, at most 50 per page, optionally filtered by constituent IDs or note IDs, and sorted by date, creation or modification date.update_noteUpdate notePUTUpdates a note by ID: its text, date, constituent, custom values or attachments. Returns the updated note.
Phone, 5 operations
create_phoneCreate phonePOSTAdds a phone number to a constituent given by AccountId. Type (Home, Work, Mobile or Fax) and Number are required, Extension is optional; set IsPrimary to make it the primary phone.delete_phoneDelete phoneDELETEDeletes one phone number by its phone ID.get_phoneGet phoneGETReturns one phone number by ID: number, extension, type, primary flag, the constituent it belongs to and its audit trail.list_phonesList phonesGETLists phone numbers, at most 50 per page, optionally filtered by constituent IDs or phone IDs.update_phoneUpdate phonePUTUpdates a phone number by ID: number, extension, type or primary flag. Returns the updated phone.
Refund, 5 operations
create_refundCreate refundPOSTRefunds a transaction (TransactionId) on a given Date. By default the payment processor is also asked to refund it; set RunProcessorRefund to false to record the refund in the CRM only. Note holds the reason.delete_refundDelete refundDELETEDeletes one refund record by its refund ID.get_refundGet refundGETReturns one refund by ID: the refunded transaction, date, amount, note and audit trail.list_refundsList refundsGETLists refunds, at most 50 per page, optionally filtered by transaction IDs, refund IDs or a last-modified date, and sorted by date, creation or modification date.update_refundUpdate refundPUTUpdates a refund by ID: its date, transaction or note. Returns the updated refund.
Relationship, 5 operations
create_relationshipCreate relationshipPOSTCreates a relationship between two constituents that are not households. Both constituent IDs and the relationship role of each side (from list_relationship_roles) are required.delete_relationshipDelete relationshipDELETEDeletes one relationship between two constituents, by relationship ID.get_relationshipGet relationshipGETReturns one relationship by ID: both constituent IDs, the relationship role on each side and its note.list_constituent_relationshipsList constituent relationshipsGETLists the relationships of one constituent to other constituents, with both constituent IDs and the relationship role on each side, at most 50 per page.update_relationshipUpdate relationshipPUTUpdates a relationship by ID: its constituents, roles or note. Returns the updated relationship.
Softcredit, 5 operations
create_soft_creditCreate soft creditPOSTGives a constituent soft credit for part of a gift paid by someone else. Amount, the credited constituent (AccountId) and the designation it applies to (DesignationId) are required.delete_soft_creditDelete soft creditDELETEDeletes one soft credit by its ID.get_soft_creditGet soft creditGETReturns one soft credit by ID: amount, credited constituent, designation, transaction, pledge and whether it is applied to a pledge.list_soft_creditsList soft creditsGETLists soft credits, at most 50 per page, optionally filtered by constituent IDs, soft credit IDs or a last-modified date.update_soft_creditUpdate soft creditPUTUpdates a soft credit by ID: its amount or credited constituent. Returns the updated soft credit.
Task, 5 operations
create_taskCreate taskPOSTCreates a task assigned to a user (UserId), optionally tied to a constituent (AccountId), with a due date, subject, note, channel and purpose. sendNotifications=true makes Bloomerang email the user.delete_taskDelete taskDELETEDeletes one task by its task ID.get_taskGet taskGETReturns one task by ID: status, due and completed dates, subject, note, channel, purpose, assigned user, constituent and the interaction it became, if any.list_tasksList tasksGETLists tasks, at most 50 per page, filtered by status (Active, Complete, Archived), due-date range, assignee, constituent, channel or purpose.update_taskUpdate taskPUTUpdates a task by ID: due date, subject, note, channel, purpose, assigned user, constituent or completed date. Returns the updated task.
Transaction, 5 operations
create_transactionCreate transactionPOSTRecords a transaction (a payment split into designations: donation, pledge, pledge payment, recurring donation or recurring payment). A payment is charged only when WalletItemId is given.delete_transactionDelete transactionDELETEDeletes one transaction by its transaction ID.get_transactionGet transactionGETReturns one transaction by ID: date, amount, method, check details, card or bank last four digits, designations with fund, campaign and appeal, refund IDs and audit trail.list_transactionsList transactionsGETLists transactions with their designations, at most 50 per page, filtered by constituent, transaction IDs or numbers, designation type, amount range, a custom field value or a last-modified date, and sorted by amount or date.update_transactionUpdate transactionPUTUpdates a transaction by ID. AccountId, Date, Amount, Method and the Designations (whose amounts must add up to Amount) are required. Returns the updated transaction.
Appeal, 4 operations
create_appealCreate appealPOSTCreates an appeal, the solicitation a gift responds to, which a transaction designation references through AppealId. Name is required. Returns the created appeal.get_appealGet appealGETReturns one appeal (the solicitation a gift responds to) by ID: name, active flag, sort position and audit trail.list_appealsList appealsGETLists appeals, at most 50 per page, optionally filtered by appeal IDs, active status, a name search or a last-modified date.update_appealUpdate appealPUTUpdates an appeal by ID: its name, active flag or sort position. Returns the updated appeal.
Campaign, 4 operations
create_campaignCreate campaignPOSTCreates a fundraising campaign with a name (required) and optional start date, end date and goal amount. Transactions count toward it through a designation's CampaignId.get_campaignGet campaignGETReturns one fundraising campaign by ID: name, start and end dates, goal, amount raised, active flag, sort position and audit trail.list_campaignsList campaignsGETLists campaigns, at most 50 per page, optionally filtered by campaign IDs, active status, whether a goal is set, a name search or a last-modified date.update_campaignUpdate campaignPUTUpdates a campaign by ID: name, start or end date, goal, active flag or sort position. Returns the updated campaign.
Fund, 4 operations
create_fundCreate fundPOSTCreates a fund, the account a gift is designated to, with a name (required) and optional general ledger class, QuickBooks accounts, default and active flags. Returns the created fund.get_fundGet fundGETReturns one fund by ID: name, default and active flags, sort position, general ledger class and QuickBooks accounts.list_fundsList fundsGETLists funds, at most 50 per page, optionally filtered by fund IDs, active or default status, or a name search.update_fundUpdate fundPUTUpdates a fund by ID: name, general ledger class, QuickBooks accounts, default or active flag, sort position. Returns the updated fund.
Tribute, 4 operations
create_tributeCreate tributePOSTCreates a tribute (a person a gift is made in honor or in memory of) with a name and TributeType (InHonorOf or InMemoryOf), plus an optional note and the constituents to notify.get_tributeGet tributeGETReturns one tribute by ID: name, type (InHonorOf or InMemoryOf), note, constituents to notify, default and active flags.list_tributesList tributesGETLists tributes, at most 50 per page, optionally filtered by tribute IDs or active status.update_tributeUpdate tributePUTUpdates a tribute by ID: name, type, note, constituents to notify, default or active flag. Returns the updated tribute.
Search, 3 operations
search_constituentsSearch constituentsGETSearches constituents and households by free text, optionally limited to individuals, organizations or households, and returns the matches at most 50 per page.search_tributesSearch tributesGETSearches active tributes by text (at least 3 characters), at most 50 per page.search_usersSearch usersGETSearches Bloomerang users by text matched against username, name and email address, at most 50 per page.
Walletitem, 3 operations
delete_wallet_itemDelete wallet itemDELETEDeletes one stored payment method (wallet item) by its ID.get_wallet_itemGet wallet itemGETReturns one stored payment method (wallet item) of a constituent by ID: type, card brand, last four digits and expiry, or bank account type, last four digits and routing number.list_wallet_itemsList wallet itemsGETLists stored payment methods (wallet items), optionally filtered by constituent, IDs, type, or only those with an active processor. Its ID is the WalletItemId that create_transaction charges.
Custom value, 2 operations
list_custom_field_valuesList custom field valuesGETLists the pick values of one custom field, given its record type and its field ID from list_custom_fields.list_custom_valuesList custom valuesGETLists the pick values of every pick-list custom field of one record type (Constituent, Transaction, Interaction, Note or Benevon), with the field each belongs to.
Designation, 2 operations
get_designationGet designationGETReturns one designation (one line of a transaction: a donation, pledge, pledge payment, recurring donation or recurring payment) by its designation ID.list_designationsList designationsGETLists designations (the lines of transactions: donations, pledges, pledge payments, recurring donations and payments), at most 50 per page, filtered by transaction IDs, designation IDs or numbers, and sorted by date.
Email interest, 2 operations
get_email_interestGet email interestGETReturns one email interest (a category of email a constituent can opt into) by ID: name, default, active and survey flags.list_email_interestsList email interestsGETLists the email interests (categories of email constituents can opt into), optionally filtered by IDs or active status, at most 50 per page.
Processor, 2 operations
get_processorGet processorGETReturns one payment processor account by ID: type, name, default and active flags, public key and, for Bloomerang Payments, its status.list_processorsList processorsGETLists the payment processor accounts set up in the database, optionally filtered by IDs or active status, at most 50 per page.
Relationshiprole, 2 operations
get_relationship_roleGet relationship roleGETReturns one relationship role (the label a constituent holds in a relationship) by ID: name, default and active flags, sort position.list_relationship_rolesList relationship rolesGETLists the relationship roles defined in the database, optionally filtered by role IDs, names, active status or a last-modified date.
Update communication setting, 2 operations
update_constituent_communication_settingsUpdate constituent communication settingsPUTUpdates a constituent's communication restrictions (DoNotCall, DoNotMail, DoNotSolicit), preferred channel and email interests. Restriction and email-interest changes each need an UpdateReason.update_household_communication_settingsUpdate household communication settingsPUTUpdates the communication restrictions (DoNotCall, DoNotMail, DoNotSolicit) of a household and all its members. An UpdateReason is required.
Complete, 1 operation
complete_taskComplete taskPUTMarks a task complete, on completedDate or today. Bloomerang also logs the task as an interaction unless saveAsInteraction is false, which a task with no constituent requires.
Current, 1 operation
get_current_userGet current userGETReturns the Bloomerang user the API key belongs to: name, username, email, permission level, phone, time zone and task email preference.
Custom field, 1 operation
list_custom_fieldsList custom fieldsGETLists the custom fields of one record type (Constituent, Transaction, Interaction, Note or Benevon): ID, category, name, data type, pick type, required and active flags. Their IDs are the FieldId of CustomValues.
Custom field category, 1 operation
list_custom_field_categoriesList custom field categoriesGETLists the custom field categories defined for one record type: Constituent, Transaction, Interaction, Note or Benevon.
Database, 1 operation
get_databaseGet databaseGETReturns general information about the organization's Bloomerang database, among them its ID, the organization name, the accounting integration and the start date of the current fiscal year.
Duplicate, 1 operation
find_duplicate_constituentsFind duplicate constituentsGETFinds existing constituents that look like duplicates of the one described. Send firstName and lastName (or organizationName) plus at least one of street, phoneNumber or emailAddress.
Generate installment, 1 operation
generate_pledge_installmentsGenerate pledge installmentsGETComputes a pledge installment schedule (date and amount of each installment) from a total, an installment amount, a first date and a frequency. Nothing is saved; pass the result as PledgeInstallments.
Group, 1 operation
list_groupsList groupsGETLists the groups defined in the Bloomerang database (ID, name and description), at most 50 per page.
Installment, 1 operation
list_pledge_installmentsList pledge installmentsGETLists the installments (date and amount) of one pledge, given the pledge's designation ID, at most 50 per page.
Merge, 1 operation
merge_constituentMerge constituentPOSTCreates a constituent, or merges the data sent into an existing one when a likely duplicate (same name plus one matching address, email or phone) exists. Secondary addresses, emails and phones are refused.
Payment, 1 operation
list_pledge_paymentsList pledge paymentsGETLists the successful payments made against one pledge, given the pledge's designation ID: amount, fund, campaign, appeal and the transaction each belongs to.
Payment failure, 1 operation
list_pledge_payment_failuresList pledge payment failuresGETLists the failed payments of one pledge, given the pledge's designation ID: date, amount, reason, and whether each failure is resolved or suppressed.
Timeline, 1 operation
list_constituent_timelineList constituent timelineGETLists the timeline entries of a constituent, or of every member when a household ID is given: entry type, date and creation date, at most 50 per page.
User, 1 operation
list_usersList usersGETLists Bloomerang users, at most 50 per page, filtered by active status, usernames, names, emails or user IDs.
Write off, 1 operation
write_off_pledgeWrite off pledgePOSTWrites off a pledge, identified by the pledge's designation ID, and returns the written-off pledge designation.
Use Bloomerang from Claude Code, Cursor or Codex
Connect Bloomerang in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Bloomerang operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Bloomerang
- Create your workspace
Sign up free. Nothing to install.
- Connect Bloomerang once
Add your Bloomerang connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Bloomerang integration FAQ
What can you do with the Bloomerang integration?
LiveContext exposes 109 operations on Bloomerang, covering address, constituent, email and household.
