Skip to content
  • There are no suggestions because the search field is empty.

Blackbaud Raiser's Edge

This article provides step-by-step instructions for integrating Anedot with Blackbaud Raiser's Edge, including setup, field mapping, and custom field configuration to ensure accurate donor and gift data synchronization.

Blackbaud Raiser's Edge is a donor management and fundraising platform designed for nonprofits. Anedot’s integration enables seamless synchronization of donor and transaction data with Raiser's Edge, helping you manage insights and reports without disrupting your existing workflow.


Table of Contents


Connect Anedot to Blackbaud Raiser's Edge

Before you begin, ensure you are logged in as a Raiser's Edge Admin user.

Step 1: Set Up the App in Blackbaud

  1. In your Blackbaud account, go to Control Panel > Connect App.

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

  3. Click Save. Anedot should now appear in your Connected Apps tab.


Step 2: Configure Required Fields

  1. Check your Raiser's Edge code table to ensure the following fields exist. If missing, add them:
    1. Phone Type: Cell

    2. Address Type: Individual

    3. Email Type: Email

  2. Locate your Fund ID in Blackbaud:
    1. Navigate to your Fund page.
    2. Copy the Fund ID from the page URL or the System Record ID.


Step 3: (Optional) Add Custom Attributes in Blackbaud

  • For custom donation fields, create attributes in Blackbaud.

  • If you plan to use Custom Hidden Fields in Anedot, please contact Support. A developer must enable this in your account.


Step 4: Set Up The Fund ID in Anedot

  1. In Anedot, go to Settings > Finance > Fund.
  2. Hover over the Fund, click View.
  3. Enter the Raiser’s Edge Fund ID in the Internal Identifier field.
  4. Click Save.

Step 5: Connect Anedot to Raiser's Edge

Next, navigate to Settings > Integrations > Directory.

  1. Click the blue + New Connection button.
  2. Select Blackbaud Raiser's Edge.
  3. Choose which Action Page(s) to connect. Select All Pages to include all, or enter a comma-separated list of specific Action Page IDs to exclude.
  4. (Optional) Scope the connection to send only Team-specific data.
  5. (Optional) Enter a Constituent Code for Monthly Donors (configured in Raiser's Edge).
  6. (Optional) Enter a Gift Subtype for Recurring Gifts (configured in Raiser's Edge).
  7. (Optional) To relay only Donation Page data, check the relevant box. If left unchecked, both Donation and Lead Page data will be relayed.
  8. Click Save.

You’ll be redirected to the Blackbaud login page. Sign in using your Blackbaud credentials to authorize and complete the connection.

You can modify Action Pages, Team access, and credentials at any time after setup.


Data Relays

Anedot supports relays for both Donation Pages and Lead Pages.

When setting up your Blackbaud connection, you can choose to relay only Donation Page data if preferred.

The relay process works as follows:

  1. Initial Query: Anedot queries Blackbaud using the donor’s email to locate a matching constituent.

  2. Constituent Handling:

    • If no match is found, Anedot sends the constituent’s information to Blackbaud and receives an ID in response.

    • If a match is found, Blackbaud returns the existing ID and record details.

  3. Donation Submission: Anedot sends the donation data to Blackbaud, referencing the identified constituent_id.

  4. For Lead Pages (non-financial), a placeholder relay is sent with an empty payload and a null status, as no gift is associated.

This structured relay process ensures accurate donor matching and data handling within Blackbaud Raiser's Edge.


Custom Field Support

Mapping Native Blackbaud Gift Fields from Anedot

Blackbaud Raiser's Edge includes gift attributes that are not natively supported by Anedot. To successfully relay this information, these fields must be configured as Hidden Custom Fields within the Anedot Action Page Builder.

These fields must be configured correctly. If they are missing or set up improperly, relays to Blackbaud will fail.

Hidden Custom Field (Anedot) 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)

Sending Native Anedot Fields to Blackbaud Raiser's Edge

Anedot provides valuable donation data that Raiser's Edge does not support natively. To ensure this additional information is captured correctly, you must create custom fields for gifts within Raiser's Edge.

After setting up the custom gift fields in Raiser's Edge, please contact our Support team so we can activate the integration from our end via console access.

Each custom field must include both a Category and a Value. Refer to the table below for the appropriate inputs.

Once your relay is successfully sent, new categories will automatically appear in Raiser's Edge—no manual configuration is required for import.

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
*number Commitment Index text
 

*The commitment_index indicates the position of the donation within the recurring series. Note: the first recurrence corresponds to the second donation, as the original submission counts as the first.

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


Data in Blackbaud

Once a donation has been successfully relayed, data can be viewed in:

  • Fundraising > Gift Management: View and approve batches of gift relays
    CleanShot 2025-06-04 at 07.30.53@2x
  • Lists > Constituents: Filter for a donor
    CleanShot 2025-06-04 at 07.32.24@2x
  • Lists > Gifts: Filter for a gift
    CleanShot 2025-06-04 at 07.33.18@2x
  • Constituent Profiles: Custom fields appear under the "Custom Fields" section.
    CleanShot 2025-06-04 at 07.34.36@2x
  • Gift View > Detail View: Review donation-specific field mapping and notes

You can cross-reference Omatic Object ID to verify transaction processing.


Field Mapping

Constituent Fields

Anedot Field Blackbaud Field
lastName last
donorType (Individual / Organization) type
-
"Email"
email address
"true"
email
{type}
{address}
{primary}
firstName first
-
Home / Work / Cell
phone number
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}
id (from the contact relay's response body) constituent_id
"NEEDSACKNOWLEDGEMENT" acknowledgements_status
*{batch_prefix} Batch Prefix
created_at (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": "search_text=admin@anedot.com"
}

Request Body (Create User)

{
  "last": "Dot",
  "type": "Individual",
  "email": {
    "type": "Email",
    "address": "admin@anedot.com",
    "primary": true
  },
  "first": "Annie",
  "phone": {
    "type": "Cell",
    "number": "201-555-1234"
  },
  "title": null,
  "middle": null,
  "suffix": null,
  "address": {
    "city": "Richmond",
    "type": "Home",
    "state": "IN",
    "postal_code": "47374",
    "address_lines": "123 Test Road"
  },
  "date_added": "2023-06-01T16:23:19-04:00"
}

Request Body (Donation)

Not all donation field mappings are visible in the relay example below. Be sure to confirm that any additional fields are properly populated in Blackbaud after the relay is processed.

{
  "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": "admin@anedot.com",
    "address": "123 Lee Dr\r\nBaton Rouge, LA  70808",
    "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