Skip to main content

Blackbaud Raiser's Edge NXT Known Limitations

Blackbaud Raiser's Edge NXT Known Limitations

This document describes the known limitations of the iPaaS.com integration with Blackbaud Raiser's Edge NXT. These limitations are inherent to the current integration design and the capabilities exposed by the Blackbaud SKY API. They apply to all subscribers using this integration.


  • Remote Platform: Blackbaud Raiser's Edge NXT

  • API: Blackbaud SKY API — https://api.sky.blackbaud.com

  • API Version: SKY API v1 (/constituent/v1/, /webhook/v1/ URL namespaces). Blackbaud does not publish a formal API version number or changelog; the v1 namespace has been stable since the SKY API's introduction. Unversioned production endpoints as of 2026-05-15.

  • Test Date: 2026-05-15 (integration version 1.0.0)

  • Not built for: Raiser's Edge 7 (RE7, the legacy desktop application), Blackbaud eTapestry, Blackbaud CRM (formerly BBEC/Blackbaud Enterprise CRM), Blackbaud Financial Edge NXT, Luminate Online, JustGiving, or any other Blackbaud product. This integration connects exclusively to the Raiser's Edge NXT SKY API and does not support other Blackbaud platforms even if they share the same developer portal.


1. No Bulk Initialization on First Connect

Bulk data import (initialization) is not supported when first connecting Blackbaud Raiser's Edge NXT in iPaaS.com. All data synchronization begins with incremental transfers after mapping collections are configured and transfer methods (webhooks, outbound triggers, or manual sync) are enabled.

What this means for you: Existing records in Raiser's Edge NXT or iPaaS.com are not automatically synchronized when the integration is first installed. You will need to use Manual Sync to transfer existing records individually, or wait for incremental changes to trigger automatic transfers after webhooks and outbound triggers are configured.


2. Constituents and Addresses Only

This integration supports Constituent and Constituent Address data flows only. Other Blackbaud Raiser's Edge NXT objects — including Gifts, Donations, Campaigns, Funds, Appeals, Events, Memberships, Transactions, and Opportunities — are not transferred by this integration.

What this means for you: If you need to synchronize data for any Blackbaud object type other than Constituents and their Addresses, this integration does not support that. Only Constituent records (mapped to iPaaS.com Customers) and their child Address records are transferred in either direction.


3. Outbound Constituent Delete Is Not Supported

The integration supports Add and Update operations for Constituents in the outbound (iPaaS.com to Raiser's Edge NXT) direction only. Deleting a Customer in iPaaS.com does not delete the corresponding Constituent in Raiser's Edge NXT.

What this means for you: If you need to remove a Constituent from Raiser's Edge NXT, you must do so directly in the Raiser's Edge NXT application. Deleting or deactivating the record in iPaaS.com will not propagate that change to Raiser's Edge NXT.


4. Inbound Address Add Events Are Not Independently Subscribed

The integration does not subscribe to the Blackbaud address.add.v1 webhook event. When a new address is created in Raiser's Edge NXT, it does not trigger an immediate standalone address transfer to iPaaS.com. Instead, the new address is picked up the next time a constituent.change.v1 event fires for the parent Constituent. The integration does subscribe to address.change.v1 and address.delete.v1 for standalone address updates and deletions.

What this means for you: After a new address is added to a Constituent in Raiser's Edge NXT, there may be a brief delay before it appears in iPaaS.com. The address will be included the next time any change is made to the parent Constituent record. If you need the address transferred immediately, you can trigger a Manual Sync for the parent Constituent.


5. No Custom Fields on Constituent Address Records

Raiser's Edge NXT does not expose custom fields on Constituent Address records through the Blackbaud SKY API. Custom field mappings are supported only on the parent Constituent record, not on child Address records.

What this means for you: If your organization stores custom data on address records in Raiser's Edge NXT (for example, address-level tags or classifications), those values cannot be transferred through this integration. Custom field mappings configured on the address mapping collection will have no effect. Custom fields on the parent Constituent record are fully supported and can be mapped using the eight available data types (Text, Number, Date, Currency, Boolean, Code Table Entry, Constituent ID, and Fuzzy Date).


6. Addresses Are Only Written as Children of a Parent Constituent Transfer

In the outbound direction (iPaaS.com to Raiser's Edge NXT), addresses are always written as part of a parent Constituent transfer. There is no standalone outbound address-only flow. When a Customer is transferred from iPaaS.com to Raiser's Edge NXT, all associated addresses are included in the same transfer and written after the parent Constituent record.

What this means for you: If you update only an address on an iPaaS.com Customer without changing the parent Customer record, the address change will not be sent to Raiser's Edge NXT unless the parent Customer transfer is also triggered. To ensure address changes are sent, trigger a transfer for the parent Customer record (via outbound trigger subscription or manual sync).

Note: The inbound direction (Raiser's Edge NXT to iPaaS.com) does support standalone address transfers. Address changes in Raiser's Edge NXT are captured by the address.change.v1 and address.delete.v1 webhook events and are transferred independently through the standalone address mapping collection.


7. Collision Handling Runs Only on Constituent Create

When the integration creates a new Constituent in Raiser's Edge NXT, it performs collision handling to detect whether a matching Constituent already exists. If a match is found, the integration links the iPaaS.com Customer to the existing Constituent and updates it instead of creating a duplicate. However, collision handling runs only during outbound Constituent create operations — it does not run on updates or address-only transfers. Address pairing (matching iPaaS.com addresses against existing Raiser's Edge NXT addresses) also runs only during collision handling on create.

What this means for you: After the initial link between an iPaaS.com Customer and a Raiser's Edge NXT Constituent is established, subsequent updates are sent directly to the linked Constituent without re-checking for duplicates. If the link is broken or removed, and the same Customer is transferred again as a new create, collision handling will run again and attempt to find the matching Constituent. Address pairing during collision uses a weighted likeness score — addresses scoring at or above the match threshold are paired with existing addresses, while lower-scoring addresses are created as new records.


8. Custom Field Category Auto-Creation May Be Restricted

When the integration writes a custom field value to a Raiser's Edge NXT Constituent, it first checks whether the referenced custom field category exists. If the category does not exist, the integration attempts to create it automatically via the Blackbaud SKY API. However, some Blackbaud installations restrict category auto-creation through their security configuration. When auto-creation is restricted, the API returns an HTTP 403 error and the custom field write fails.

What this means for you: If you configure custom field mappings that reference a category name that does not yet exist in your Raiser's Edge NXT environment, the integration will attempt to create it. Whether this succeeds depends on your Blackbaud environment's security settings. If auto-creation is blocked, you must create the custom field category manually in Raiser's Edge NXT before transfers using that category will succeed. The error will appear in iPaaS.com under Dashboard / Integration Monitoring / Error Logs. This behavior cannot be fully validated in sandbox environments — confirmation requires a live Blackbaud account with production security settings.


9. Private Application Registration Required

This integration requires a Blackbaud Private Application OAuth registration. Public Application registrations are not supported. The subscriber must create a Private Application in the Blackbaud Developer Portal and provide the application credentials (Client ID and Client Secret) during integration setup.

What this means for you: Your organization must have access to the Blackbaud Developer Portal and the ability to create a Private Application registration. The Private Application must be authorized by a Blackbaud environment administrator before the integration can access your Raiser's Edge NXT data. If your organization uses a shared or third-party Public Application for other integrations, that registration cannot be used with this iPaaS.com integration — a separate Private Application is required.


10. Unmapped Field Overwrite Risk in Bidirectional Workflows

When using both inbound (Raiser's Edge NXT to iPaaS.com) and outbound (iPaaS.com to Raiser's Edge NXT) mapping collections simultaneously, there is a risk of field value loss on the iPaaS.com side. The iPaaS.com API uses PUT (full record replace) when updating Customer records. Fields that are not mapped in the inbound "TO iPaaS.com" mapping collections will be overwritten with empty or null values each time an inbound transfer runs.

The following Customer and Address fields are not mapped in the default template mappings and are at risk of being overwritten:

  • customer_number

  • company (Customer-level)

  • addresses.first_name

  • addresses.last_name

  • addresses.company

  • addresses.phone_number

  • addresses.is_primary_billing

  • addresses.is_primary_shipping

What this means for you: If your integration stores values in any of the fields listed above on the iPaaS.com side, and you have inbound (TO iPaaS.com) mapping collections enabled, those values will be cleared each time an inbound transfer updates the record unless you take action to preserve them.

Recommended mitigation: Split the TO iPaaS.com mapping collection into separate Add and Update collections, then use the DestinationValue function in the Update collection's mapping formulas to carry forward the existing iPaaS.com value for each field that needs to be preserved. For example, to preserve the existing Customer Number during an update, add a Dynamic Formula mapping with the source formula DestinationValue.CustomerNumber mapped to the iPaaS.com CustomerNumber field. This retrieves the current value from the iPaaS.com record and writes it back, preventing the PUT from overwriting it with null. Repeat for each field that needs to be preserved.

Additional bidirectional considerations:

  • Before enabling both inbound and outbound collections, clearly define which system is the source of truth for Constituent data.

  • Review and customize your mapping collection filters to prevent circular updates. If both directions are active with default mappings, changes may propagate back and forth between systems.


11. Cross-Integration CustomerNumber Collision Risk

The inbound (TO iPaaS.com) mapping collections map the Raiser's Edge NXT system record ID — a numeric value (e.g., 280) — directly to the iPaaS.com CustomerNumber field. If another integration also maps its own numeric primary key to CustomerNumber, the values may collide. For example, Raiser's Edge NXT Constituent ID 280 and a different platform's record ID 280 would both write 280 to CustomerNumber on their respective iPaaS.com Customer records, creating an ambiguous identifier.

What this means for you: If your iPaaS.com environment connects multiple integrations that each map a numeric source ID to CustomerNumber, you should ensure that either (a) each integration's ID space does not overlap, or (b) you prefix or transform the CustomerNumber value via a Dynamic Formula mapping (e.g., "RENXT-" + id) to guarantee uniqueness across integrations. The external-ID record managed by iPaaS.com is the primary link between source and destination records and is not affected by this collision — but CustomerNumber is visible to subscribers and may be used in reports, exports, or downstream processes where uniqueness is assumed.


This document covers the eleven known limitations of this integration. For detailed technical documentation on individual mapping collections, refer to the Blackbaud Raiser's Edge NXT Mapping Collections help center articles.

Related Documents

Did this answer your question?