/
/
See every Chorus conversation with a donor in one timeline
For fundraisers who want a donor's full Chorus call, meeting and email history without searching each address, by asking their AI assistant.
On this page
Connector
Connect DonorPerfect, pick your AI tool and paste the prompt.
The problem
A donor's conversations are scattered across addresses
Piecing together every conversation with one donor means searching Chorus for each email they have used, plus calls filed under their organization. It is slow, and real matches are hard to tell from a similarly named company.
Without PopdockAI
- List every email the donor has used
- Search Chorus for each one
- Search again by organization name
- Guess which matches are real
With PopdockAI
- Every email on the donor and their addresses is collected
- Chorus calls, meetings and emails are listed in date order
- Organization-only matches are labelled weaker
- Unrelated-looking results are set apart, nothing changed
The prompt
Use this prompt
Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.
**Objective:** Build a timeline of every Chorus conversation and email involving the DonorPerfect donor `{donor}` over the last `{lookback-days}` days (default 180).
**Step 1: Identify the donor in DonorPerfect**
If `{donor}` is a whole number, call `donorperfect-get-donor` with it as donor-id. Otherwise treat it as an email address and call `donorperfect-get-donor` with it as email. If more than one donor comes back, list them (donor-id, name, organization-name, email) and stop. If none comes back, say so and stop.
Collect every email address for the donor: the email on the donor record, plus the email on each row from `donorperfect-get-address` filtered by donor-id. Note the organization-name if there is one.
**Step 2: Find the donor's conversations in Chorus**
For each email address, call `chorus-get-conversation-participants` filtered by email and collect the distinct conversation-id values. For each conversation-id, call `chorus-get-engagements` with conversation-id and keep only those whose date falls inside the lookback window.
For each email address, also call `chorus-get-emails` with it as initiator-email and sent-time.from set to the start of the window.
If the donor has an organization-name, call `chorus-get-engagements` with account-name.contains set to it and date.from set to the start of the window, and add any conversations not already found. Mark these as matched by organization name, not by email.
**Step 3: Report**
One header line: donor-id, name, organization-name, emails searched.
Then a table in date order: date, type (call, meeting or email), subject, Chorus owner (user-name or owner-name), matched by (email or organization), and a one-line summary taken from meeting-summary or the email body.
End with totals: conversations, emails, and the date of the most recent touch.
**Rules & Guidelines:**
* Tools named donorperfect-... are on the donorperfect server. Tools named chorus-... are on the chorus server.
* This prompt is read-only. Do NOT call any DonorPerfect write tool (`donorperfect-save-donor`, `donorperfect-save-contact`, `donorperfect-save-gift`, `donorperfect-save-pledge`, `donorperfect-save-address`, `donorperfect-save-other-info`, `donorperfect-save-link`, `donorperfect-set-flag`) or any Chorus write tool (`chorus-add-moment`, `chorus-add-playlist-moment`, `chorus-create-playlist`, `chorus-update-moment`, `chorus-update-playlist`, `chorus-update-playlist-moment`, `chorus-export-recordings`, `chorus-export-scorecards`).
* Match emails case-insensitively and ignore surrounding whitespace.
**Validation:**
* If the donor has no email address and no organization-name, say that Chorus cannot be searched for this donor and stop.
* If Chorus returns nothing for any email, report the donor as having no recorded conversations in the window. Do not widen the search to name matching.
* If an organization-name match returns conversations that look unrelated (a different account that merely contains the name), list them separately as possible matches rather than in the timeline.Who it's for
One answer, three teams that use it
Major gift officers
See the whole relationship
Calls, meetings and emails in date order show how the relationship has developed.
Show every Chorus conversation with DonorPerfect donor 31120 in the last 18 months.
Development directors
Hand over a donor cleanly
A new officer gets the full history in one timeline.
List all Chorus calls and emails with dana@northwindtraders.com since 2024.
Donor relations
Know when you last spoke
Totals and the most recent touch are summarised at the end.
When did we last talk to the Contoso Foundation donor 10566, according to Chorus?
How it works
What PopdockAI does when you ask
You name the donor and your AI assistant builds one timeline of their Chorus conversations from every email in DonorPerfect. It only reads.
01
Ask
You give the DonorPerfect donor id or email and how far back to look.
02
Collect
It gathers every email on the donor and their additional addresses.
03
Search
It lists the donor's Chorus calls, meetings and emails in date order.
04
Report
You get totals and the latest touch, with organization matches labelled weaker.
What PopdockAI provides
The tools behind the answer
Ready made tools for DonorPerfect and one secure connection to your AI tool. No code, no exports.
donorperfect-get-donor
donorperfect-get-address
chorus-get-conversation-participants
chorus-get-engagements
chorus-get-emails
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
Every conversation with a donor in one timeline
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)
