Data Mapping Overview
This section documents how data flows between WeGive and Blackbaud Raiser’s Edge NXT, object by object.Synchronization Model
Authentication- OAuth2 with PKCE
- Automatic token refresh
- Blackbaud Sky API REST endpoints
- Rate limiting and automatic retry on transient failures
- Pull runs on a fixed platform-wide schedule (every 15 minutes) — there’s no webhook-based real-time pull
- Push happens in real time for most objects, with an opt-in daily batch mode for transactions
See Configuration Options for the full picture of what’s configurable vs. fixed platform behavior.
Core Object Relationships
Detailed Object Mappings
Constituent Mapping
Field mappings for donor and company records — note that WeGive’s multiple email/phone/address fields map down to a single selected value per constituent, not a parallel multi-field sync.Gift Mapping
Transaction and payment mappings.Fund Mapping
Fund mappings — pull only.Campaign Mapping
Campaign mappings — pull only.Recurring Gift Mapping
Recurring donation mappings.Duplicate Prevention
Matching is strictly by Raiser’s Edge ID — there’s no email or name-based fuzzy matching. A record created directly in Raiser’s Edge outside this integration has no shared identifier and won’t be recognized on a later sync.Troubleshooting Common Issues
Sync Failures
Authentication Errors- Verify OAuth2 credentials
- Check token expiration and refresh
- The integration retries automatically on rate-limit responses, honoring Blackbaud’s
Retry-Afterheader
Data Quality Issues
Records not matching between systems- Confirm the record’s Raiser’s Edge ID is actually set on the WeGive side — matching only works via that ID
- A record created outside the WeGive integration (directly in Raiser’s Edge, or via manual import) won’t have this ID and will sync as a new record