> ## 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.

# Setup Requirements

> Prerequisites and configuration steps needed to set up the WeGive DonorPerfect integration.

# DonorPerfect Integration Setup Requirements

Before configuring the WeGive DonorPerfect integration, ensure you have the necessary permissions, credentials, and system requirements in place.

## Prerequisites

### DonorPerfect Requirements

<AccordionGroup>
  <Accordion title="Administrative Access">
    * Administrator or System Manager role in DonorPerfect
    * Permission to manage API keys and system integrations
    * Access to GL code configuration
  </Accordion>

  <Accordion title="API Access">
    * DonorPerfect Online subscription with API access enabled
    * Valid API key with appropriate permissions
    * Understanding of your DonorPerfect database structure
  </Accordion>

  <Accordion title="Data Structure">
    * Active donor profiles with valid email addresses
    * Configured GL codes for fund management
    * Established gift and pledge tracking systems
  </Accordion>
</AccordionGroup>

### WeGive Requirements

<AccordionGroup>
  <Accordion title="Account Access">
    * WeGive organization account with admin privileges
    * Access to the WeGive Dashboard integration settings
    * Understanding of your WeGive fund and campaign structure
  </Accordion>

  <Accordion title="System Configuration">
    * Active donation processing capabilities
    * Configured funds and campaign settings
    * Proper donor profile management setup
  </Accordion>
</AccordionGroup>

## Required Information

Before starting the integration setup, gather the following information:

### DonorPerfect Credentials

| Requirement | Description | Where to Find |
| - | - | - |
| **API Key** | Authentication key for DonorPerfect API access | DonorPerfect Admin > System Settings > API Keys |
| **Instance URL** | Your DonorPerfect server URL (optional) | Usually defaults to production endpoint |
| **Database Structure** | Understanding of custom fields and codes | DonorPerfect Admin > Field Setup |

### Synchronization Preferences

<Warning>
  The DonorPerfect integration's dashboard shows "Sync Donations"/"Sync Donors"/"Sync Recurring Donations"/"Sync Campaigns" toggles, but they currently have no effect on what actually syncs — the only setting that gates sync activity is the master "Enabled" switch (see [Configuration Options](/external/onboarding/donorperfect/configuration-options) for detail). There is also no Campaign sync of any kind implemented, regardless of any toggle.
</Warning>

What actually syncs, unconditionally once the integration is enabled:

* Donor profiles (individual and organizational)
* One-time donations
* Recurring donations (push-only, as DonorPerfect pledges)
* Funds (GL codes, push-only)

## Technical Considerations

### Data Volume and Performance

<Warning>
  **Large Database Considerations**: Organizations with extensive donor databases (10,000+ records) should plan for initial sync timing and potential performance impacts during the first synchronization.
</Warning>

* **Initial Sync Time**: Allow extra time for first-time data synchronization
* **Ongoing Performance**: Pulls run once daily, incrementally by `created_date`/`modified_date`

<Note>
  There is no rate limiting or automatic retry logic anywhere in this integration — every DonorPerfect API call is a single, unretried request. If a call fails (timeout, transient error, etc.), it is not retried automatically; the failure is reported to Sentry and that sync attempt is simply skipped. This differs from several other WeGive CRM integrations, which do implement proactive throttling and retry/backoff.
</Note>

### Data Quality Requirements

<AccordionGroup>
  <Accordion title="Email Addresses">
    * Donors must have a valid email address to be pulled from DonorPerfect at all — a donor row missing or failing `filter_var` email validation is skipped entirely on import, not partially synced
    * There's no duplicate-email configuration; matching a pulled donor to an existing WeGive `User` is by exact email match only
  </Accordion>

  <Accordion title="Fund Mapping">
    * GL codes should be properly configured in DonorPerfect
    * WeGive funds should have clear naming conventions
    * Consider creating dedicated codes for online gifts
  </Accordion>

  <Accordion title="Data Cleanup">
    * Review and clean duplicate donor records before integration
    * Standardize address and contact information formatting
    * Ensure campaign and fund structures are properly organized
  </Accordion>
</AccordionGroup>

## Security and Permissions

### API Security

* **Secure Storage**: API keys are encrypted at rest
* **Limited Scope**: The integration only calls DonorPerfect's donor/gift/pledge/fund-code endpoints
* **Logging**: Sync activity is logged internally (Sentry on failure); there's no customer-facing sync-status dashboard

### Data Handling

* **Anonymous Gifts**: An anonymous transaction's DonorPerfect gift narrative is annotated `(Anonymous)` — this is the extent of anonymous-gift handling
* **Data Minimization**: Only the fields listed in the Data Mapping docs are synced

<Note>
  There's no GDPR-specific or other privacy-regulation-specific handling implemented in this integration beyond the anonymous-gift narrative annotation above — treat any compliance-specific requirement as something to verify independently, not something this integration guarantees.
</Note>

## Getting Your API Key

To obtain your DonorPerfect API key:

1. **Log into DonorPerfect** with administrator credentials
2. **Navigate** to System Settings > Integration > API Management
3. **Generate** a new API key with appropriate permissions
4. **Copy** the API key for use in WeGive configuration
5. **Test** the API key using DonorPerfect's testing tools

<Note>
  **API Key Permissions**: Ensure your API key has permissions for donor management, gift processing, and code management functions.
</Note>

## Next Steps

Once you have gathered all required information and credentials:

<CardGroup>
  <Card title="Configuration Guide" href="/external/onboarding/donorperfect/configuration-options">
    Learn how to configure the integration in WeGive
  </Card>

  <Card title="Data Mapping" href="/external/onboarding/donorperfect/data-mapping/overview">
    Understand how data is mapped between systems
  </Card>
</CardGroup>

## Support

Need help with setup requirements or obtaining API access? Contact our support team at [support@wegive.com](mailto:support@wegive.com) for assistance.


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