Skip to main content
All CollectionsIntegrations
Blackbaud Raiser's Edge
Blackbaud Raiser's Edge
Updated over a week ago

Blackbaud provides software products for non-profits, including Raiser's Edge, a tool for managing donors and gaining insights into their giving. Anedot's data integrates with Raiser's Edge to help our customers manage donor information and reporting without disrupting workflows.



Connect Anedot to Blackbaud Raiser's Edge

To connect your Anedot fundraising account to Blackbaud Raiser's Edge, first, access your Blackbaud Raiser's Edge account. Continue to the steps below to get started:

Note: The connection will need to be created by a Blackbaud Raiser's Edge Admin user.

  1. Within Blackbaud Raiser's Edge, access the Control Panel>Connect App tab.

  2. Paste the following ID within the Application ID field: 1d57b776-f0c1-46be-976e-3f65e813a5ef

  3. Click Save. Anedot should then be shown within the Connected Apps tab.

  4. Next, review your Raiser's Edge code table entries for the following required fields. Add the fields if they are missing.

    1. Phone Type: Cell

    2. Address Type: Individual

    3. Email Type: Email

  5. Locate your Raiser's Edge Fund ID by navigating to the Fund page. The page URL will also include your Fund ID.

    1. The Fund ID can be found within the page URL.

    2. Additionally, you can also use the “System Record ID” when you click on a particular fund to find the Fund ID (Funds > Select Fund > System Record ID).

  6. To set up custom donation fields, you will need to add them as attributes in Blackbaud.

    1. If you will be utilizing Custom Hidden Fields, please contact our Support team here. A developer will need to add the data to the integration details via the console of your account.

Once you have completed the steps above, access the Anedot fundraising account and follow the steps below:

  1. First, access the Settings>Finance>Fund tab within your fundraising account.

  2. Hover over your Fund.

  3. Click View.

  4. Within the Edit Fund drawer, enter your Raiser's Edge Fund ID into the Internal Identifier field.

  5. Click Save.

Next, access the Settings>Integrations>Directory tab within your fundraising account and follow the steps below:

  1. Click the blue + New Connection button in the upper right corner of the Directory tab.

  2. From the Directory list, select Blackbaud Raiser's Edge.

  3. Select which Action Page you would like to connect to Blackbaud Raiser's Edge. Select All Pages to include all Action Page data.

    1. To exclude pages, enter a comma-separated list of the Action Page IDs

    2. Optionally, you can scope the integration to only send team-specific data to Blackbaud.

  4. Optionally, you can apply a Constituent Code for Monthly Donors (this is created within Raiser's Edge).

  5. Optionally, you can apply a Gift Subtype for Recurring Gifts (this is created in Raiser's Edge).

  6. Optionally, you can choose to relay Donation Page data only by checking the checkbox. If left unchecked, Donation and Lead Page date will be relayed.

  7. Click the blue Save button.

  8. You will be redirected to the Blackbaud sign-in page.

  9. Use your Blackbaud credentials to sign in and authorize Anedot for use.

Your connection to Blackbaud Raiser's Edge is now complete!

The Action Pages, Team, and credentials can be modified at any time post-setup.


Data Relays

  • Anedot sends relays for Donation and Lead Pages.

    • When creating the connection between Anedot and Blackbaud, you can choose to relay Donation Page data only.

    • The first relay is a query to locate the user in Blackbaud using the email:

      • If no user is found, the next relay will send the constituent information and receive an ID in response.

      • If a user is found, the response will contain the ID And constituent information from Blackbaud.

    • The last relay sends the donation information with the ID received from the query as the "constituent_id".

      • For Lead Pages (non-financial pages), this relay is blank {} with a null status since there is no associated gift.


Custom Field Support

Send native Blackbaud (Raiser's Edge) fields from Anedot

Raiser's Edge gifts have properties that Anedot does not natively support. In order to relay them properly, you will need to set them up as Hidden Custom Fields within the Action Page Builder.

You will need to set this up or relays will fail.

Anedot Field (Hidden Custom Field)

Gift Field (Raiser's Edge)

batch_prefix

batch prefix (used for importing multiple gifts/constituents)

appeal_id

appeal (global value must remain empty)

package_id

package (global value must remain empty)

campaign_id

campaign (global value must remain empty)

Send native Anedot fields to Blackbaud (Raiser's Edge)

Anedot offers donation information that is not natively available for Raiser's Edge gifts. In order to properly receive and utilize the additional information, you will need to set up custom fields for gifts in Raiser's Edge.

Please contact our Support team here once the custom fields for gifts have been set up within Raiser's Edge. Our team will need to enable this via console on our end.

Each custom field needs to have a category and a value. Please use the corresponding columns below for category and value inputs per field.

New categories will appear in Blackbaud for selection once your relay has successfully been sent. They should appear automatically on import (seen here) - no manual setup is required.

Anedot Field

Raiser's Edge Category

Raiser's Edge Value

anedot_fee (Donation Page: net amount)

Anedot Fee

currency

utmCodes {source}**

UTM Source

text

utmCodes {medium}**

UTM Medium

text

utmCodes {campaign}**

UTM Campaign

text

utmCodes {content}**

UTM Content

text

referrer

URL

text

frequency

Recurring Frequency

text

(Commitment) schedule_start

Recurring Start Date

date

(Commitment) schedule_until

Recurring End Date

date

(Commitment) id

Commitment ID

text

(Commitment) index*

Commitment Index

text

*Note: The commitment_index indicates which nth donation is represented by this recurrence. The first recurrence is actually the second donation (original submission = first).


**UTM fields can be added to the Page URL.



Data in Blackbaud

To filter for a donor in the Lists>Constituents area or for a gift in the Lists>Gifts area, you will first need to approve the batch of gift relays within the Fundraising>Gift Management tab in Blackbaud Raiser's Edge.


Gift Management - Batch Queue

Note: Blackbaud custom fields automatically appear on gifts once your integration is set up (in Anedot) to receive them.

Lists>Constituents (Donor Lookup)

Constituent Record View

Lists>Gifts (Donation Lookup)

Gift Record View

Creating a Blackbaud Raiser's Edge Custom Field


Field Mapping

Constituent Fields

Anedot Field

Blackbaud Field

lastName

last

donorType ("Individual" or "Organization)

type

-
"Email"
email
"true"

email {
type
address
primary }

firstName

first

-
"Home" or "Work" or "Cell"
phone

phone {
type
number }

title

title

middleName

middle

suffix

suffix

address {
city
"Home"
region
postalCode
line1, line2 }

address{
city
type
state
postal_code
address_lines }

date_in_account_time_zone

date_added

Donation Fields

Anedot Field

Blackbaud Field

date_in_account_time_zone

date

"Donation"

type

total_amount

amount_value

gift_subtype

subtype

payment_method

payment_method

date_in_account_time_zone

receipts_date

"Receipted"

receipts_status

(Submission) id

lookup_id

" "Anedot" donation_origin "

reference

-
amount
fund_identifier
*"appeal_id"
*"package_id"
*"campaign_id"

gift_splits {
amount_value
fund_id
appeal_id
package_id
campaign_id }

constituent_id

"NEEDSACKNOWLEDGEMENT"

acknowledgements_status

*"batch_prefix"

Batch Prefix

created_at (formatted "yyyymmdd")

Batch Number

*These must be set up as Custom Hidden Fields within the Action Page Builder in order to relay to Blackbaud.


Payload Data

Request Headers

{} 

Request Body (Find User)

{
"query": "[email protected]"
}


Request Body (Create User)

{
"last": "Dote",
"type": "Individual",
"email": {
"type": "Email",
"address": "[email protected]",
"primary": true
},
"first": "Anna",
"phone": {
"type": "Cell",
"number": "225-250-1301"
},
"title": null,
"middle": null,
"suffix": null,
"address": {
"city": "New Orleans",
"type": "Home",
"state": "LA",
"postal_code": "99999",
"address_lines": "123 Test Road"
},
"date_added": "2023-06-01T16:23:19-04:00"
}

Request Body (Donation)

Not all the donation field mappings are seen in the relay below; you should verify that missing fields are correctly populated in Blackbaud after the relay has been sent.

{
"gifts": [{
"date": "2023-06-01T12:19:26-04:00",
"type": "Donation",
"amount": {
"value": 50.0
},
"subtype": null,
"payments": [{
"payment_method": "Cash"
}],
"receipts": [{
"date": "2023-06-01T12:19:26-04:00",
"status": "Receipted"
}],
"lookup_id": "21cd1b28-29bc-4583-9ab7-7fe42c06bda7",
"reference": "Anedot Hosted",
"gift_splits": [{
"amount": {
"value": 50.0
},
"fund_id": "1001",
"appeal_id": null,
"package_id": null,
"campaign_id": null
}],
"constituent_id": "593734",
"acknowledgements": [{
"status": "NEEDSACKNOWLEDGEMENT"
}]
}]
}


Request Body (Donation - Custom Hidden Fields)

{
"gifts": [{
"date": "2023-06-15T15:51:08-04:00",
"type": "Donation",
"amount": {
"value": 100.0
},
"subtype": null,
"payments": [{
"payment_method": "CreditCard"
}],
"receipts": [{
"date": "2023-06-15T15:51:08-04:00",
"status": "Receipted"
}],
"lookup_id": "3f8f458d-ac62-402f-9f59-94f1656aeba4",
"reference": "Anedot Hosted",
"gift_splits": [{
"amount": {
"value": 100.0
},
"fund_id": "141252",
"appeal_id": null,
"package_id": null,
"campaign_id": null
}],
"custom_fields": [{
"value": 4.3,
"category": "214"
}, {
"value": "utm_source",
"category": "215"
}, {
"value": "utm_medium",
"category": "217"
}, {
"value": "utm_campaign",
"category": "216"
}, {
"value": "utm_content",
"category": "218"
}, {
"value": "https://qa2.secure.anedot.com/space-force/95c98eaf-2060-4290-a331-ef5455942054?utm_campaign=campaign&utm_source=source&utm_medium=medium&utm_content=content",
"category": "219"
}],
"constituent_id": "593734",
"acknowledgements": [{
"status": "NEEDSACKNOWLEDGEMENT"
}]
}]
}

Response Body (No User Found)

{
"count": 0,
"value": []
}


Response Body (Create User)

{
"id": "633977"
}

Response Body (User Found)

{
"count": 1,
"value": [{
"id": "593734",
"name": "System Admin",
"email": "[email protected]",
"address": "123 Test Drive\r\nNew Orleans, LA 99999",
"deceased": false,
"inactive": false,
"lookup_id": "580335",
"fundraiser_status": "None"
}]
}


Response Body (Donation)

{
"gifts": [
{
"id": "3652",
"date": "2021-10-08T13:24:51",
"type": "Donation",
"amount": {
"value": 3
},
"errors": [
{
"gift_id": "3652",
"lookup_id": "bc00be0c-a507-4132-a39e-844613ec7cd5",
"affected_field": "GiftSplit",
"exception_error_code": 25077,
"exception_error_name": "GiftDateOutOfRangeCFAP",
"exception_error_message": "Gift date is invalid for campaign with ID 2."
},
{
"gift_id": "3652",
"lookup_id": "bc00be0c-a507-4132-a39e-844613ec7cd5",
"affected_field": "GiftSplit",
"exception_error_code": 25003,
"exception_error_name": "InvalidCFAPCombination",
"exception_error_message": "The provided CFA combination is invalid."
}
],
"origin": "{\"name\": \"API\"}",
"subtype": "Membership",
"payments": [
{
"payment_method": "CreditCard"
}
],
"receipts": [
{
"date": "2021-10-08T13:24:51",
"amount": {
"value": 3
},
"status": "RECEIPTED"
}
],
"lookup_id": "bc00be0c-a507-4132-a39e-844613ec7cd5",
"post_date": "2021-10-08T13:24:51",
"reference": "Anedot Recurring",
"fundraisers": [],
"gift_splits": [
{
"amount": {
"value": 3
},
"fund_id": "141252",
"appeal_id": "7",
"package_id": "4",
"campaign_id": "2"
}
],
"post_status": "NotPosted",
"constituency": "Donor",
"linked_gifts": [],
"soft_credits": [],
"constituent_id": "593768",
"acknowledgements": [
{
"status": "NEEDSACKNOWLEDGEMENT"
}
]
}
],
"errors": []
}

Response Body (Failure)

{
"title": "Resource not found",
"status": 404,
"message": "Resource not found",
"statusCode": 404
}

Response Status (Success)

200

Response Status (Failure)

404
Did this answer your question?