/
/
Log one Chorus meeting on every donor who attended
For fundraising teams who want a recorded meeting logged in Bloomerang for each constituent on the call, by asking their AI assistant.
On this page
Connector
Connect Chorus, pick your AI tool and paste the prompt.
The problem
One donor meeting, retyped on every record
A recorded Chorus meeting with three donors should appear on each of their Bloomerang records with the right channel, purpose and summary. Doing it by hand means matching each attendee, checking for existing entries and retyping the notes.
Without PopdockAI
- Match each attendee to a constituent
- Check whether anyone logged it already
- Retype the summary on every record
- Guess at channel and purpose values
With PopdockAI
- Outside participants are matched to Bloomerang by email
- Unmatched people are listed and never created
- Constituents already logged that day are skipped
- Interactions are written after you confirm
The prompt
Use this prompt
Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.
**Objective:** Log the Chorus conversation `{conversation-id}` as an interaction in Bloomerang for every external participant who is a Bloomerang constituent, using purpose `{purpose}` (if empty, ask the user for the purpose before writing anything).
**Step 1: Read the conversation in Chorus**
Call `chorus-get-engagements` with `conversation-id` set to `{conversation-id}`. If it returns nothing, say the conversation was not found and stop. Note `date`, `subject`, `conversation-type`, `user-name` and `meeting-summary`.
Call `chorus-get-conversation-participants` with `conversation-id` set to `{conversation-id}`. Keep only external participants: skip anyone with a `user-id` (a Chorus user on your own team) and anyone whose `type` marks them as internal.
**Step 2: Match each participant to Bloomerang**
For each external participant with an `email`, call `bloomerang-get-email-address` with `value` set to that email and take `account-id`. If nothing comes back, try `bloomerang-get-constituent` with `primary-email`. Participants with no email, or no match, are listed as unmatched and not logged.
**Step 3: Check for an existing entry**
For each matched account id, call `bloomerang-get-interaction` with `account-id` and with `date.from` and `date.to` both set to the conversation's calendar date. If an interaction already exists with a similar subject, mark that constituent as already logged and do not log it again.
**Step 4: Confirm, then write**
Show a table: participant name, email, Bloomerang account id, action (log / already logged / unmatched). Show the interaction that will be written: `date` (calendar day of the conversation), `channel` (Phone for a call, InPerson for an in-person meeting, otherwise ask), `purpose` `{purpose}`, `subject` (the Chorus subject), `is-inbound` false, and `note` (the meeting summary, followed by "Recorded in Chorus, conversation {conversation-id}, led by <user-name>").
Ask the user to confirm. Only after an explicit yes, call `bloomerang-add-interaction` once per constituent marked log. Then report each returned `id`.
**Rules & Guidelines:**
* Tools whose names start with chorus are on the chorus server; tools whose names start with bloomerang are on the bloomerang server.
* The only write this prompt may make is `bloomerang-add-interaction`, and only after confirmation. Do not call `bloomerang-add-note`, `bloomerang-add-task`, `bloomerang-add-constituent`, `bloomerang-update-interaction` or any Chorus action such as `chorus-add-moment`.
* Never create a constituent for an unmatched participant here; list them so the user can run a separate prompt.
**Validation:**
* If no external participant matches Bloomerang, report the unmatched list and write nothing.
* If `bloomerang-add-interaction` rejects the channel or purpose value, report the error exactly and ask the user for a valid value rather than trying others.
* Match emails case-insensitively.Who it's for
One answer, three teams that use it
Major gift officers
Log group meetings once
Each donor at the meeting gets the interaction with the summary attached.
Log today's Chorus meeting with the Contoso Foundation trustees in Bloomerang, purpose Stewardship.
Development directors
Keep interaction history complete
Every attendee's record shows the meeting, so the next conversation starts informed.
Log yesterday's Chorus call with the Northwind family to Bloomerang, purpose Solicitation.
Database managers
Avoid duplicate interactions
Constituents already logged that day are skipped, so records stay clean.
Log the Fabrikam donor call from Chorus in Bloomerang, skipping anyone already logged today.
How it works
What PopdockAI does when you ask
You give the conversation and a purpose, and your AI assistant prepares an interaction for each donor who attended. If Bloomerang rejects a value it asks you rather than guessing.
01
Ask
You give the Chorus conversation and a purpose, or it asks for one.
02
Match
It matches each outside participant to Bloomerang by email.
03
Check
It skips constituents who already have an interaction logged that day.
04
Confirm
You see who will be logged and the interaction, then confirm.
What PopdockAI provides
The tools behind the answer
Ready made tools for Chorus and one secure connection to your AI tool. No code, no exports.
chorus-get-engagements
chorus-get-conversation-participants
bloomerang-get-email-address
bloomerang-get-constituent
bloomerang-get-interaction
bloomerang-add-interaction
This report is built from Get data tools only. PopdockAI applies the row, field and parameter rules your admin sets, and every query is written to the audit trail.
The outcome
One meeting logged on every donor who attended
Related use cases
More ways to put this data to work
One prompt template with infinite possibilities.
Your AI assistant adapts its approach, tone, and capabilities to match each unique context while you maintain a single, manageable workflow.
Join forward-thinking companies that are transforming their operations with intelligent, secure AI automation.

.webp)
