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.
Within Blackbaud Raiser's Edge, access the Control Panel>Connect App tab.
Paste the following ID within the Application ID field: 1d57b776-f0c1-46be-976e-3f65e813a5ef
Click Save. Anedot should then be shown within the Connected Apps tab.
Next, review your Raiser's Edge code table entries for the following required fields. Add the fields if they are missing.
Phone Type: Cell
Address Type: Individual
Email Type: Email
Locate your Raiser's Edge Fund ID by navigating to the Fund page. The page URL will include your Fund ID.
You can also use the System Record ID. Click on a particular fund to find the Fund ID (Funds>Select Fund>System Record ID)
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:
First, access the Settings>Finance>Fund tab within your fundraising account.
Hover over your Fund.
Click View.
Within the Edit Fund drawer, enter your Raiser's Edge Fund ID into the Internal Identifier field.
Click Save.
Next, access the Settings>Integrations>Directory tab within your fundraising account and follow the steps below:
Click the blue + New Connection button in the upper right corner of the Directory tab.
From the Directory list, select Blackbaud Raiser's Edge.
Select which Action Page you would like to connect to Blackbaud Raiser's Edge. Select All Pages to include all Action Page data.
To exclude pages, enter a comma-separated list of the Action Page IDs
Optionally, you can scope the integration to only send team-specific data to Blackbaud.
Optionally, you can apply a Constituent Code for Monthly Donors (this is created within Raiser's Edge).
Optionally, you can apply a Gift Subtype for Recurring Gifts (this is created in Raiser's Edge).
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.
Click the blue Save button.
You will be redirected to the Blackbaud sign-in page.
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 { |
firstName | first |
- | phone { |
title | title |
middleName | middle |
suffix | suffix |
address { | address{ |
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 |
- | gift_splits { |
id (from the contact relay's response body) | 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": []
}
β