Connectors

/

Chorus

/

Log a Chorus conversation as a DonorPerfect contact
Write
Cross-Connector

Record Chorus donor calls as DonorPerfect contacts, once each

For fundraising teams who want each donor conversation logged against every donor who took part, by asking their AI assistant.

Try PopdockAI free
Get a live demo
Log a Chorus conversation as a DonorPerfect contact
Log yesterday's Chorus call with the Contoso Foundation team as a DonorPerfect contact.
2 of 3 participants match DonorPerfect donors. - Log: Jordan Lee, donor 10482 - Log: Alex Morgan, donor 10517 - Skipped: Riley Chen matches two donors - Activity code: CALL, with the meeting summary Shall I create these 2 contacts?
Chorus
Sample figures. Your results come from your own account.
chorus-get-engagements
chorus-get-conversation-participants
donorperfect-get-donor
donorperfect-get-contact
donorperfect-get-code
donorperfect-save-contact

On this page

The problem

The problem

The prompt

Who it's for

How it works

Tools used

Connector

Chorus

Chorus
Run it on your own Chorus data.

Connect Chorus, pick your AI tool and paste the prompt.

Try PopdockAI free

The problem

Donor calls go unrecorded, or get recorded twice

Every conversation with a donor should be recorded as a DonorPerfect contact, but logging a Chorus call means working out which participants are donors and writing the same summary for each. Calls go unlogged, or get logged twice.

Without PopdockAI

  • Work out which participants are donors
  • Check whether a contact was logged that day
  • Write the same summary for each donor
  • Log it twice, or not at all

With PopdockAI

  • Outside participants are matched to donors by email only
  • Donors already logged that day are skipped and listed
  • You see the exact contacts and pick the activity code
  • Contacts are written after you confirm and read back

The prompt

Use this prompt

Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.

Prompt
**Objective:** Record the Chorus conversation `{conversation-id}` as a DonorPerfect contact against every donor who took part, using the activity code `{activity-code}`.

**Step 1: Read the conversation in Chorus**

Call `chorus-get-engagements` with conversation-id. If nothing comes back, say so and stop. Note the date, subject, conversation-type, user-name and meeting-summary.

Call `chorus-get-conversation-participants` with conversation-id. Treat a participant as internal when its type marks it as an internal user or it has a user-id; skip those. Keep the external participants.

**Step 2: Match participants to donors**

For each external participant with an email, call `donorperfect-get-donor` with it as email. Record one of: matched (one donor), ambiguous (more than one donor), or not a donor (none). Do not match by name.

For each matched donor, call `donorperfect-get-contact` with the donor-id and contact-date.from and contact-date.to both set to the conversation date. If a contact already exists that day, mark the donor as already logged.

**Step 3: Confirm**

If `{activity-code}` is empty, ask the user for it. To help them choose, you may call `donorperfect-get-code` with field-name set to ACTIVITY_CODE and list the codes.

Show the user a table: participant name, email, donor-id, status (will log, already logged, ambiguous, not a donor). Show the contact that will be written: contact-date = conversation date, completed-date = conversation date, activity-code, by-whom = the Chorus user-name, comment = the subject followed by the meeting-summary (trim to 1000 characters). Ask for explicit confirmation. Do not continue without it.

**Step 4: Write and confirm**

After confirmation, call `donorperfect-save-contact` once per donor marked will log, with contact-id left blank. Then call `donorperfect-get-contact` for each donor and date to confirm the record exists. Report the contact-id created for each donor.

**Rules & Guidelines:**

* Tools named donorperfect-... are on the donorperfect server. Tools named chorus-... are on the chorus server; here they are used for reading only.
* The only permitted write is `donorperfect-save-contact`, once per confirmed donor, after the user confirms. Do NOT call any other DonorPerfect write tool (`donorperfect-save-donor`, `donorperfect-save-gift`, `donorperfect-save-pledge`, `donorperfect-save-address`, `donorperfect-save-other-info`, `donorperfect-save-link`, `donorperfect-set-flag`), and do NOT call 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`).
* Never pass a contact-id, which would overwrite an existing contact.

**Validation:**

* If no external participant matches a donor, report the participants as not in DonorPerfect and stop. Suggest the `new-contacts-not-in-donorperfect` prompt.
* Skip ambiguous and already-logged donors and list them in the final report.
* Convert the Chorus date to an ISO date (YYYY-MM-DD) before writing.

Who it's for

One answer, three teams that use it

Major gift officers

Record donor meetings in one ask

Every donor who joined the call gets the contact, with the summary attached.

Log today's Chorus call with the Fabrikam family as a DonorPerfect contact.

Development directors

Keep donor history complete

Calls reach the donor record consistently, so the history reflects every conversation.

Log yesterday's Chorus meeting with the Northwind Foundation board as DonorPerfect contacts, activity code MTG.

Database managers

Avoid duplicate contacts

Donors with a contact already that day and ambiguous matches are skipped and listed.

Log the Contoso Foundation Chorus call in DonorPerfect, skipping anyone already logged today.

How it works

What PopdockAI does when you ask

You name the Chorus conversation and your AI assistant prepares a DonorPerfect contact for each donor on it. Existing contacts are never overwritten and nothing is saved without your confirmation.

01

Ask

You name the Chorus conversation and, optionally, the activity code.

Your AI tool

02

Match

It matches each outside participant to a DonorPerfect donor by email.

chorus-get-engagements
chorus-get-conversation-participants
donorperfect-get-donor

03

Check

It skips donors with a contact already logged that day and ambiguous matches.

donorperfect-get-contact

04

Confirm

You see the exact contacts and approve before they are written.

Your AI tool

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.

get-data

chorus-get-engagements

Returns recorded calls and meetings from Chorus, with the subject, date, duration, participants and the account each conversation relates to. Filter by date range, owner or account to pull the conversations behind a deal or a period.
get-data

chorus-get-conversation-participants

Returns the people who took part in Chorus conversations, with their name, email, title and company. Use it to see who was on a call, and which side they were on.
get-data

donorperfect-get-donor

Returns donor records from DonorPerfect: names, salutations, contact details, donor type and status, and the codes used to segment them. The starting point for almost any DonorPerfect question.
get-data

donorperfect-get-contact

Returns the contacts and activities logged against donors in DonorPerfect: calls, visits, letters and other touchpoints, with their dates, activity codes and notes.
get-data

donorperfect-get-code

Returns the configuration code values behind DonorPerfect's drop-down fields, such as campaign, solicitation, gift type and GL codes. Use it to validate a code before writing a gift, pledge or donor record.
run-action

donorperfect-save-contact

Logs a contact or activity against a donor in DonorPerfect, or updates an existing one when a contact id is supplied. Use it to record calls, visits and other touchpoints.
Read only.Nothing in Chorus Changes

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.

How Popdock AI secures your data

The outcome

Every donor on the call recorded once

Try PopdockAI free
Get a live demo

Related use cases

More ways to put this data to work

All Ramp use cases

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.

Try PopdockAI Free
See Documentation