> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wegive.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Donor Payloads

> Every donor webhook key and nested object for actions 3, 4, and 5.

Actions 3, 4, and 5 share the following resource. Contact fields are sent as ordinary webhook fields; the GTM/Tealium browser donor-sharing settings do not govern these server webhook serializers.

<Warning>
  In the documented version, donor updates trigger actions 3 and 5, while action 4 has no normal automatic trigger. Use action 5 for create/update notifications. See [Webhook trigger details](/external/onboarding/webhooks#trigger-details-that-affect-reporting).
</Warning>

| Key | Data / meaning |
| - | - |
| `id` | WeGive donor ID; integer. |
| `handle` | Always null in this serializer. |
| `facebook_link` | Always null. |
| `twitter_link` | Always null. |
| `linkedin_link` | Always null. |
| `created_at` | Donor creation timestamp; date string/null. No root `updated_at` field is supplied. |
| `fundraisers` | Array of [FundraiserTable objects](/external/onboarding/webhooks/nested-objects#fundraisertable). |
| `scheduled_donations` | Array of [donor-facing ScheduledDonation objects](/external/onboarding/webhooks/nested-objects#donor-facing-scheduleddonation), not the action-7 serializer. |
| `addresses` | Array of serialized [Address models](/external/onboarding/webhooks/model-attributes#address-model-keys). |
| `mobile_phone` | Mobile phone; string/null. |
| `home_phone` | Home phone; string/null. |
| `office_phone` | Office phone; string/null. |
| `other_phone` | Other phone; string/null. |
| `fax` | Fax; string/null. |
| `email_1` | Email 1; string/null. |
| `email_2` | Email 2; string/null. |
| `email_3` | Email 3; string/null. |
| `name` | Name; string/null. |
| `employer_name` | Always null. |
| `short_name` | First name if non-null, otherwise donor name; string/null. |
| `first_name` | First name; string/null. |
| `last_name` | Last name; string/null. |
| `wallet_balance` | Always numeric 0. |
| `preferred_payment` | Card or Bank object; empty array `[]` when no supported preferred method. |
| `type` | Literal string `donor`. |
| `donor_profile_type` | Donor model morph-class string. |
| `donor_profile_id` | Same donor ID as root `id`. |
| `avatar` | Avatar media URL or null. |
| `profile_privacy` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |
| `dollar_amount_privacy` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |
| `include_name` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |
| `include_profile_picture` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |
| `desktop_notifications` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |
| `mobile_notifications` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |
| `email_notifications` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |
| `sms_notifications` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |
| `general_communication` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |
| `marketing_communication` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |
| `donation_updates_receipts` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |
| `impact_stories_use_of_funds` | Profile/communication preference as returned by the donor accessor; may be null. Preserve the source scalar type; this webhook does not normalize it. |

## Donor example

Illustrative excerpt; the table above is the complete root-key list. See [Nested object keys](/external/onboarding/webhooks/nested-objects) for related objects.

```json theme={null}
{
  "id": 1201,
  "name": "Jane Example",
  "first_name": "Jane",
  "last_name": "Example",
  "short_name": "Jane",
  "email_1": "jane@example.org",
  "email_2": null,
  "email_3": null,
  "mobile_phone": null,
  "addresses": [],
  "fundraisers": [],
  "scheduled_donations": [],
  "preferred_payment": [],
  "type": "donor",
  "donor_profile_type": "donor",
  "donor_profile_id": 1201,
  "wallet_balance": 0
}
```

No root Salesforce ID, donor UUID/global ID, `updated_at`, or organization ID is added by this donor resource. Some nested objects have their own organization/CRM IDs; those are not a root donor identity contract.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.