Add contact
Logs a contact on a donor record with an activity code and an owner.
MCP tool donorperfect_write → add_contact
write
Adds one contact to the donor record, like entering a contact in the app: an activity code, the date, who it is assigned to and the comments. The codes come from list_codes. It sends nothing to the donor and changes no other record, so it does not ask for your OK by default. Run list_contacts first to avoid a duplicate.
Parameters
| Name | Type | Description |
|---|---|---|
| donor_id integer required | integer | Donor ID from search_donors. |
| activity_code string required | string | Activity code from list_codes. |
| date date required | date | Date of the contact. |
| notes string | string | Comments saved with the contact. |
| assigned_to string | string | By Whom code from list_codes. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "donorperfect_write",
"arguments": {
"operation": "add_contact",
"arguments": {
"donor_id": 48213,
"activity_code": "PHONE",
"date": "2026-10-22",
"notes": "Called about the gala. Wants to host a table; send sponsor levels by Friday.",
"assigned_to": "KHALL"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"contact_id": 31550,
"donor_id": 48213,
"activity_code": "PHONE",
"date": "2026-10-22",
"assigned_to": "KHALL",
"notes": "Called about the gala. Wants to host a table; send sponsor levels by Friday.",
"status": "saved"
},
"isError": false
}