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 on 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 include your Fund ID.

    1. You can also use the System Record ID. Click on a particular fund to find the Fund ID (Funds>Select Fund>System Record ID)

  6. Custom donations fields must be added as attributes within Blackbaud.

Tip: 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!


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, this relay is blank {} with a null status since there is no associated gift.

  • The following Custom Hidden Fields need to be added to the Action Pages before relayed donation data to Blackbaud:

    • batch_prefix

    • appealid (global value must remain empty)

    • packageid (global value must remain empty)

    • campaignid (global value must remain empty)

  • The Custom Hidden Fields we send require additional setup by an Anedot developer. Please contact our Support team here for further assistance.

    • Recurring Frequency

    • Recurring Start Date

    • Recurring End Date

    • Commitment ID

    • Commitment Index (The commitment_index indicates which nth donation is represented by this recurrence. The first recurrence is actually the second donation (original submission = first))

    • URL

    • URL Parameters (utm_source, utm_medium, utm_campaign, utm_content)

  • Within Blackbaud Raiser's Edge, you may filter for a donor within the Lists>Constituents area. Once a gift batch has been approved, you can also filter for a donor within Lists>Gifts. Custom field data can be viewed within the List>Gift tab once the batch has been approved.


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 on the AP in order to relay to Blackbaud.


Hidden Custom Fields

An Anedot developer must set up the fields below. Please request the fields you want made available from Anedot Staff.

Anedot Field

Blackbaud Category

Blackbaud Data Type

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

*number

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.


Example Payloads

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 donation fields](#field-mapping) are seen in the relay, but can be verified in Blackbaud after being 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 - Hidden Custom 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": []
}


​

Did this answer your question?