Blackbaud's Raiser's Edge NXT

Blackbaud's Raiser's Edge NXT is a cloud fundraising and donor management solution for nonprofits.

Data integration: Skyvia supports importing data to and from Raiser's Edge NXT, exporting Raiser's Edge NXT data to CSV files, replicating Raiser's Edge NXT data to relational databases, and synchronizing Raiser's Edge NXT data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support Raiser's Edge NXT.

Query: Skyvia Query supports Raiser's Edge NXT.

Establishing Connection

To create a connection to Raiser's Edge NXT, sign in with your Blackbaud ID.

Creating Connection

To connect to Raiser's Edge NXT, perform the following steps:

Raiser's Edge NXT connection editor

  1. Click Sign In with Blackbaud in the Connection Editor.

  2. Sign in with your Blackbaud ID.

    Blackbaud ID sign-in page

  3. Authorize Skyvia to access your Raiser's Edge NXT data.

    Authorizing Skyvia in Blackbaud

Additional Connection Parameters

Metadata Cache

You can specify the period after which Metadata Cache expires. By default, the cache doesn't expire. If you change the output fields of a saved Raiser's Edge NXT query, clear the metadata cache to see the new fields.

Use Custom Queries

Select this checkbox to work with your saved Raiser's Edge NXT queries as read-only objects. For details, see Saved Query Objects.

Use Custom Fields

Select this checkbox to work with custom fields as fields of the objects they belong to. Reading custom fields uses one additional API call for each record. For details, see Custom Fields.

Suppress Extended Requests

For some objects, Raiser's Edge NXT API returns only part of the fields when querying multiple records. To read these fields, Skyvia performs an additional request for each record. This can decrease performance and significantly increase the number of API calls.

The additional fields are the following:

Object Fields
Constituents RequestsNoEmail, IsSolicitor, NoValidAddress, ImportId, IsConstituent, NumSubsidiaries, ParentCorporationName, ParentCorporationId, Birthplace, Ethnicity, Target, Income, ReceiptType, Religion, Industry, NumEmployees, MatchesGifts, MatchingGiftFactor, MatchingGiftPerGiftMinValue, MatchingGiftPerGiftMaxValue, MatchingGiftTotalMinValue, MatchingGiftTotalMaxValue, MatchingGiftNotes, IsMemorial
ConstituentAddresses Region, InformationSource, Lot, Cart, Dpc
Events Description, GroupId, GroupName, GroupIsInactive, LocationName, LocationAddressLines, LocationPostalCode, LocationLocalityName, LocationAdministrativeAreaId, LocationAdministrativeAreaName, LocationAdministrativeAreaShortDescription, LocationCountryId, LocationCountryDisplayName, LocationCountryIsoAlpha2Code, LocationFormattedAddress, LocationPhone, LocationContact, CampaignId, FundId, AppealId, PackageId
Gifts Origin, RecurringGiftStatusDateD, RecurringGiftStatusDateM, RecurringGiftStatusDateY, RecurringGiftScheduleFrequency, RecurringGiftScheduleStartDate, RecurringGiftScheduleEndDate, GiftAidAmountValue, GiftAidQualificationStatus

To skip these additional requests, select the Suppress Extended Requests checkbox. In this case, these fields return empty values. This checkbox doesn't affect custom fields.

Connector Specifics

Object Peculiarities

Child Objects

Some objects are child objects of another object. If you query a child object without a filter by its parent, Skyvia reads all the parent records first. This takes longer and uses more API calls. To avoid it, filter child objects by the parent ID field:

Parent Object Child Objects Filter By
Constituents ConstituentAttachments, ConstituentFundraiserAssignments, ConstituentAliases, ConstituentCommunicationPreferences, ConstituentAppeals, ConstituentRatings, ConstituentProspectStatuses, ConstituentProspectStatusHistories, ConstituentSolicitCodes, VolunteerTypes, VolunteerTimesheets, VolunteerSkills, VolunteerInterests, VolunteerAssignments, VolunteerEmergencyContacts ConstituentId
ConstituentActions ConstituentActionAttachments, ConstituentActionCustomFields, ConstituentActionNotes ActionId
ConstituentEducations EducationCustomFields EducationId
Events EventAttachments, EventCustomFields, EventExpenses, EventFees, EventParticipants, EventParticipantOptions EventId
EventParticipants EventParticipantDonations, EventParticipantFeePayments, EventParticipantFees, ParticipantOptions ParticipantId
EventParticipantPledges EventId
Appeals AppealAttachments, AppealCustomFields AppealId
Funds FundAttachments, FundCustomFields FundId
Fundraisers FundraiserAssignments, FundraiserGoals FundraiserId
Campaigns CampaignAttachments, CampaignCustomFields CampaignId
Gifts GiftAttachments, MembershipAvailableGiftAmounts GiftId
Tributes TributeAcknowledgees TributeId
GiftTributes GiftTributeAcknowledgees GiftTributeId
MembershipMembers MembershipGifts, MembershipDetails, MembershipSummaries, MembershipBenefits, MembershipCards, MembershipCustomFields, MembershipFundraisers, MembershipLinkedGifts, MembershipTransactions MemberJunctionId
MembershipCategories MembershipRenewalNotices, MembershipSubcategories, MembershipDefaultBenefits MembershipCategoryId
Opportunities OpportunityAttachments, OpportunityCustomFields, OpportunityNotes, OpportunityStatusHistories OpportunityId
CodeTables CodeTableEntries CodeTableId

The parent of FundraiserAssignments and FundraiserGoals isn't available as a separate object.

The EventParticipantDonations, EventParticipantFeePayments, EventParticipantFees, and ParticipantOptions objects are child objects of EventParticipants. If you filter them only by ParticipantId, the EventId field returns empty values. To get EventId values, filter by both EventId and ParticipantId.

Reading Records by Id

When you filter the following objects by Id, some of their fields return empty values:

Object Fields
ConstituentCodes CreatedDate, UpdatedDate, Inactive
ConstituentAddresses CreatedDate, UpdatedDate
ConstituentEducations CreatedDate, UpdatedDate
ConstituentActions StatusCode

To get values of these fields, filter the records by another field, for example by the parent ID or a date.

Recently Changed Records

Raiser's Edge NXT returns new and changed records only several minutes after the change. If you query an object right after importing data to it, the result may not show the changes yet.

Attachments

When you import data to the ConstituentAttachments, ConstituentActionAttachments, EventAttachments, AppealAttachments, FundAttachments, CampaignAttachments, GiftAttachments, and OpportunityAttachments objects, map either the Content field or the Url field, not both:

  • To upload a file, map Content and FileName.
  • To add a link to an external document, map Url. Don't map FileName.

Skyvia sets the Type field automatically. When you query these objects, Content returns an empty value if the file is missing or its link has expired.

Code Table Fields

Some fields accept only values from Raiser's Edge NXT code tables:

Object Fields Value to Use
VolunteerTypes Type, Status Entry value
VolunteerSkills SkillDescription, SkillLevel, LicenseType Entry value
VolunteerInterests Description Entry value
OpportunityNotes NoteTypeName Entry value
MembershipDetails CategoryName, ProgramName, SubCategoryName Entry ID
MembershipCards CardType Entry ID

To find the allowed values, look up the code table by Name in the CodeTables object. Then query the CodeTableEntries object filtered by its CodeTableId.

When you query MembershipDetails and MembershipCards, these fields return entry names. When you import data, use entry IDs instead.

Membership Cards

To update or delete MembershipCards records, filter by both MemberJunctionId and Id. Otherwise, Skyvia searches all memberships for the card, which takes longer. Some cards can't be updated, for example joint cards with the Editable field set to false.

Deleting Records

When you delete records from the following objects, include the parent ID in the filter. Otherwise, deleting a record that doesn't exist may be reported as one deleted record.

Object Field
ConstituentAliases ConstituentId
ConstituentCommunicationPreferences ConstituentId
ConstituentEmailAddresses ConstituentId
ConstituentOnlinePresences ConstituentId
ConstituentRatings ConstituentId
EducationCustomFields EducationId
VolunteerTypes ConstituentId
VolunteerSkills ConstituentId
VolunteerInterests ConstituentId

Deleting a record doesn't delete its child records. Raiser's Edge NXT doesn't allow deleting records that other records depend on, for example an event with participants or a participant with a gift.

Saved Query Objects

If you select Use Custom Queries in the connection settings, Skyvia adds your saved Raiser's Edge NXT queries as read-only objects.

Each object is named after its query. Skyvia replaces double quotes with single quotes, adds the Query suffix to names that don't end with it, and adds a number to repeated names.

Each object has the output fields of its query and the QRECID field, which stores the ID of the source record. QRECID isn't unique. Queries with one-to-many output fields return several rows with the same QRECID.

The criteria saved in a query always apply, and your filters apply on top of them. Skyvia can't pass values for Ask criteria, so Raiser's Edge NXT treats them as any value.

For dynamic queries, Raiser's Edge NXT applies filters and sorting. For static queries and queries with filtered aggregate fields, Skyvia reads the whole query result first, so filters don't make these queries faster. Raiser's Edge NXT always builds the full query result, so limiting the number of rows doesn't make a query faster either.

You can combine filters with AND and OR and use one level of parentheses. Deeper nesting causes an error.

Skyvia doesn't list the following queries:

  • queries that the Raiser's Edge NXT API can't run
  • queries with the SingleRow result layout
  • queries with a Median or Mode aggregate field that has its own filters

If a query fails, the API doesn't report the reason. To see it, run the query in Raiser's Edge NXT.

Custom Fields

Skyvia supports custom fields for the Constituents, ConstituentActions, ConstituentEducations, Events, Gifts, Appeals, Campaigns, Funds, Opportunities, and MembershipMembers objects. To work with them, select Use Custom Fields in the connection settings.

Custom fields come from the custom field categories of each object, so they differ between Raiser's Edge NXT databases:

  • A single-value category adds three fields: <Category> Value, <Category> Comment, and <Category> Date. For a FuzzyDate category, <Category> ValueY, <Category> ValueM, and <Category> ValueD replace the Value field.
  • A multi-value category adds one field named after the category. It stores a JSON array of values, each with its value, comment, date, and custom field record ID.

Custom fields have the following types:

Raiser's Edge NXT Type DBType
Text, Search, TableEntry String
Number, ConstituentId Integer
Currency Decimal
Date Date
Boolean Boolean
CodeTableEntry String. Enum
FuzzyDate Integer

Reading custom fields uses one additional API call for each record. Suppress Extended Requests doesn't affect these calls, so select custom fields only when you need them.

When you import a record with custom field values, Skyvia creates the record first and then writes its custom field values. Map values of multi-value categories as a JSON array. If Skyvia creates the record but fails to write its custom field values, the error message includes the ID of the created record. Use it to avoid creating a duplicate when you run the import again.

You can work with custom field values as records of the ConstituentCustomFields, GiftCustomFields, and other *CustomFields objects. To change a custom field value of an existing record, update its record in the corresponding *CustomFields object. The *CustomFieldCategories objects list the categories.

Nested Objects

Some fields store arrays of values in JSON format. The StringValueType type has a single Value field.

Object Field Nested Type
ConstituentAttachments Tags StringValueType
ConstituentActions Fundraisers StringValueType
ConstituentActionAttachments Tags StringValueType
ConstituentMemberships Members ConstituentMembersType
ConsentChannelCategories Categories ConsentChannelCategoriesType
EventAttachments Tags StringValueType
EventParticipants Guests GuestsType
Memberships MembershipsType
ParticipantOptions ParticipantOptionsType
Fees FeesType
EventParticipantOptions ListOptions EventParticipantOptionListOptionsType
AppealAttachments Tags StringValueType
FundAttachments Tags StringValueType
CampaignAttachments Tags StringValueType
GiftAttachments Tags StringValueType
OpportunityAttachments Tags StringValueType
Gifts GiftSplits GiftSplitsType
Fundraisers GiftFundraisersType
SoftCredits GiftSoftCreditsType
Receipts GiftReceiptsType
Acknowledgements GiftAcknowledgementsType
Payments GiftPaymentsType
LinkedGifts StringValueType
MembershipTransactions Gifts GiftsType
Opportunities Fundraisers FundraisersType
LinkedGifts StringValueType
ConsentChannelCategoriesType SolicitCodeAssignments SolicitCodeAssignmentsType
ParticipantOptionsType Values ValuesType

To map the fields of nested types in import, select the Nested Objects checkbox in the integration settings.

Filtering Specifics

Raiser's Edge NXT API supports the following native filters:

Object Fields and Operators
Constituents Id, AddressPostalCode, FundraiserStatus (=)
CreatedDate, UpdatedDate (>, >=)
ConstituentCodes Id (=)
CreatedDate, UpdatedDate (>, >=)
ConstituentAttachments ConstituentId (=)
ConstituentCustomFields Category, ConstituentId (=)
CreatedDate, UpdatedDate (>, >=)
ConstituentFundraiserAssignments ConstituentId (=)
ConstituentActions Id, StatusCode, ComputedStatus (=)
CreatedDate, UpdatedDate (>, >=)
ConstituentActionAttachments ActionId (=)
ConstituentActionCustomFields ActionId (=)
ConstituentActionNotes Id, ActionId (=)
ConstituentAddresses Id, ConstituentId (=)
CreatedDate, UpdatedDate (>, >=)
ConstituentAliases ConstituentId (=)
ConstituentCommunicationPreferences ConstituentId (=)
ConstituentAppeals ConstituentId (=)
ConstituentEducations Id (=)
CreatedDate, UpdatedDate (>, >=)
EducationCustomFields EducationId (=)
ConstituentMemberships CreatedDate, UpdatedDate (>, >=)
ConstituentRatings ConstituentId (=)
ConstituentRatingCategories SourceName (=)
ConstituentRelationships Id (=)
CreatedDate, UpdatedDate (>, >=)
ConstituentEmailAddresses ConstituentId (=)
CreatedDate, UpdatedDate (>, >=)
ConstituentNotes Id (=)
CreatedDate, UpdatedDate (>, >=)
ConstituentOnlinePresences ConstituentId (=)
CreatedDate, UpdatedDate (>, >=)
ConstituentPhones Id, ConstituentId (=)
CreatedDate, UpdatedDate (>, >=)
ConstituentProspectStatuses ConstituentId (=)
ConstituentProspectStatusHistories Id, ConstituentId (=)
ConsentChannelCategories Channel (=)
ConstituentConsents ConstituentId, Channel, Source, Response (=)
ConstituentSolicitCodes ConstituentId (=)
Events Id, Name, CategoryName, LookupId (=)
StartDate (>=)
CreatedDate, UpdatedDate (>, >=)
EventAttachments EventId (=)
EventCustomFields EventId (=)
EventExpenses EventId (=)
EventFees EventId (=)
EventParticipants EventId, RsvpStatus, Attended, InvitationStatus, ParticipationLevelName, IsConstituent, OnlineDataHealth (=)
CreatedDate, UpdatedDate (>, >=)
EventParticipantDonations EventId, ParticipantId (=)
EventParticipantFeePayments EventId, ParticipantId (=)
EventParticipantFees EventId, ParticipantId (=)
ParticipantOptions EventId, ParticipantId (=)
EventParticipantOptions EventId (=)
EventParticipantPledges EventId (=)
Appeals Id (=)
CreatedDate, UpdatedDate (>, >=)
AppealAttachments AppealId (=)
AppealCustomFields AppealId (=)
Funds Id (=)
CreatedDate, UpdatedDate (>, >=)
FundAttachments FundId (=)
FundCustomFields FundId (=)
FundraiserAssignments FundraiserId (=)
Campaigns Id (=)
CreatedDate, UpdatedDate (>, >=)
CampaignAttachments CampaignId (=)
CampaignCustomFields CampaignId (=)
FundraiserGoals FundraiserId (=)
Packages Id, AppealId (=)
CreatedDate, UpdatedDate (>, >=)
Gifts Id, ConstituentId, Type, PostStatus (=)
Date, AmountValue (>=)
CreatedDate, UpdatedDate (>, >=)
GiftCustomFields GiftId, Category, Value (=)
GiftAttachments GiftId (=)
Tributes Id (=)
TributeAcknowledgees TributeId (=)
GiftTributes Id (=)
GiftTributeAcknowledgees GiftTributeId (=)
MembershipGifts MemberJunctionId (=)
MembershipDetails MemberJunctionId (=)
MembershipSummaries MemberJunctionId (=)
MembershipRenewalNotices MembershipCategoryId (=)
MembershipSubcategories MembershipCategoryId (=)
MembershipBenefits MemberJunctionId (=)
MembershipDefaultBenefits MembershipCategoryId (=)
MembershipCards MemberJunctionId (=)
MembershipCustomFields MemberJunctionId (=)
MembershipFundraisers MemberJunctionId (=)
MembershipLinkedGifts MemberJunctionId (=)
MembershipAvailableGiftAmounts GiftId (=)
MembershipTransactions MemberJunctionId (=)
Opportunities Id, ConstituentId (=)
CreatedDate, UpdatedDate (>, >=)
OpportunityAttachments OpportunityId (=)
OpportunityCustomFields OpportunityId (=)
OpportunityNotes OpportunityId (=)
OpportunityStatusHistories OpportunityId (=)
VolunteerTypes ConstituentId (=)
VolunteerTimesheets ConstituentId (=)
VolunteerSkills ConstituentId (=)
VolunteerInterests ConstituentId (=)
VolunteerAssignments ConstituentId (=)
VolunteerEmergencyContacts ConstituentId (=)
CodeTables Id, Name, Category (=)
CodeTableEntries CodeTableId, LongDescription, ShortDescription, NumericValue (=)

Raiser's Edge NXT applies only native filters combined with AND.

Sorting Specifics

Raiser's Edge NXT supports native sorting only for the following fields of the Constituents object: Id, Type, Title, First, Last, Name, PreferredName, Suffix, LookupId, Gender, Middle, FormerName, Title2, Suffix2, MaritalStatus, CreatedDate, UpdatedDate. If you sort by any other field, Skyvia sorts the records itself.

Incremental Replication and Synchronization

Skyvia supports Replication with Incremental Updates for the following objects: Constituents, ConstituentCodes, ConstituentCustomFields, ConstituentActions, ConstituentAddresses, ConstituentEducations, ConstituentMemberships, ConstituentRelationships, ConstituentEmailAddresses, ConstituentNotes, ConstituentOnlinePresences, ConstituentPhones, ConstituentConsents, Events, EventParticipants, ParticipantOptions, EventParticipantOptions, Appeals, Funds, Campaigns, Packages, Gifts, GiftCustomFields, Tributes, Opportunities, OpportunityNotes, CodeTableEntries. For the ConstituentConsents object, Skyvia replicates only new records.

Skyvia supports Synchronization for objects that support the INSERT and UPDATE operations and have the UpdatedDate or CreatedDate field.

Saved query objects don't support Replication with Incremental Updates and Synchronization.

DML Operations Support

Skyvia supports the following DML operations for Raiser's Edge NXT objects:

Operation Object
INSERT, UPDATE, DELETE Constituents, ConstituentCodes, ConstituentAttachments, ConstituentCustomFields, ConstituentActions, ConstituentActionAttachments, ConstituentActionCustomFields, ConstituentActionNotes, ConstituentAddresses, ConstituentAliases, ConstituentCommunicationPreferences, ConstituentAppeals, ConstituentEducations, EducationCustomFields, ConstituentRatings, ConstituentRelationships, ConstituentEmailAddresses, ConstituentNotes, ConstituentOnlinePresences, ConstituentPhones, ConstituentConsents, ConstituentSolicitCodes, Events, EventAttachments, EventCategories, EventCustomFields, EventExpenses, EventFees, EventParticipants, ParticipantOptions, EventParticipantOptions, EventParticipationLevels, Appeals, AppealAttachments, AppealCustomFields, Funds, FundAttachments, FundCustomFields, FundraiserAssignments, Campaigns, CampaignAttachments, CampaignCustomFields, FundraiserGoals, Gifts, GiftCustomFields, GiftAttachments, GiftTributes, MembershipCustomFields, MembershipLinkedGifts, Opportunities, OpportunityAttachments, OpportunityCustomFields, VolunteerTypes, VolunteerSkills, VolunteerInterests
INSERT, UPDATE OpportunityNotes
INSERT, DELETE EventParticipantDonations, EventParticipantFeePayments, EventParticipantFees, Tributes, MembershipFundraisers
UPDATE, DELETE ConstituentProspectStatusHistories, MembershipCards
INSERT GiftCustomFieldCategories, TributeAcknowledgees
UPDATE GiftTributeAcknowledgees, MembershipGifts, MembershipDetails, VolunteerEmergencyContacts
DELETE MembershipMembers, MembershipTransactions

Supported Actions

Skyvia supports all the common actions for Raiser's Edge NXT.