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

NationBuilder

Learn how to connect Anedot to NationBuilder to sync donation and lead data, create or update supporter records, and relay custom field information. 

NationBuilder is a powerful CRM and CMS platform widely used by nonprofits and political organizations to manage supporters, campaigns, and content.


Table of Contents


Connecting Anedot to NationBuilder

Follow these steps to connect Anedot to NationBuilder:

  1. In your Anedot account, navigate to Settings > Integrations > Directory.
  2. Choose Action Pages:
    • All Action Pages are included by default.
    • To include only specific pages, enter their IDs (comma-separated).
  3. Optionally, limit the connection to Team-specific data.
  4. Enter your Nation Name.
  5. Optionally, check the boxes to send Fund Data or Commitment Data.
    • Note: These options require extra setup.
  6. Click Save. You’ll be redirected to NationBuilder to log in and approve the connection.

 

You can update pages, Team settings, or login details anytime.


Setup Custom Fields in NationBuilder

In order to relay the Transaction ID, Fund, and/or Commitment custom field data to NationBuilder, custom fields must be set up within NationBuilder.

Create Custom Fields in NationBuilder

CleanShot 2025-06-10 at 04.23.41@2x

  1. Access the Settings tab in NationBuilder.
  2. Under Nation defaults, select the Custom Fields tab.
  3. Click the New Custom Field button in the top right corner.
  4. Select the object you would like to add custom fields to.
    • Donations to Send Fund Data.
    • People (Signup) to Send Commitment Data.
  5. Enter the Name, Slug, and Field Type (use the charts below).
  6. Click Create Field to complete the setup.

If you do not have access to create Custom Fields within NationBuilder, please contact NationBuilder Support directly.


Donations
Send Fund Data

CleanShot 2025-06-10 at 04.15.48@2x

Field Name Slug Field Type
fund_id fund_id Text
fund_internal_identifier fund_internal_identifier Text
transaction_id transaction_id Text
commitment_id commitment_id Text

People
Send Commitment Data

CleanShot 2025-06-10 at 04.16.33@2x

Field Name Slug Field Type
cancelled_on cancelled_on Text
created_on created_on Text
frequency frequency Text
action_page_name action_page_name Text
amount amount Number
status status Text
birthdate birthdate Text

Data Relays

Anedot sends data to NationBuilder based on the type of Action Page used:

1. Financial Pages (Donation Pages)

  • Anedot relays all donation details along with any custom field data.

  • A "Person" event is triggered for each submission:

    • If the donor is new, a new contact is created in NationBuilder.

    • If the donor already exists, their contact record is updated.

2. Non-Financial Pages (Lead Pages)

  • Anedot sends only a "Person" event—no donation data is included.

3. Viewing Donor Data in NationBuilder

  • Donor information will appear in the People tab and on the NationBuilder Dashboard.

  • If a donor starts a recurring gift, NationBuilder will automatically apply a "recurring" tag to their profile when the commitment is created. 


Field Mapping

The Anedot Fields match the Submission's Raw Data, and the NationBuilder Fields match the Request Body relay.

Person Fields

Anedot Field NationBuilder Field
"recurring"
or
null
tags
email email
lastName last_name
firstName first_name
address 
{postalCode}
{city}
{region}
{line1}
{line2}
{country}
mailing_address 
{zip}
{city}
{state}
{address1}
{address2}
{country_code}
birthdate
(birthday custom field)
birthdate
(birthday custom field response, appears under Demographics)
*cancelled_on cancelled_on
(timestamp of when the commitment was cancelled (e.g. 2024-03-29T12:38:38Z))
*created_at created_on
(timestamp of when the commitment was created (e.g. 2024-03-29T12:34:11Z))
*frequency frequency
(commitment frequency (e.g. monthly))
*action_page_name action_page_name
(name of the commitment's AP (e.g. Page 6))
*amount amount
(commitment amount (e.g. 25 ))
*status status
(commitment status (e.g. active or inactive))

*Fields associated with the Send Commitment Data functionality.


Donation Fields

The Anedot Fields match the Submission's Raw Data (or the *custom hidden fields) and the NationBuilder Fields match the Request Body relay.

Anedot Field NationBuilder Field
*note note
email email
person id (from the NB Person Relay Response Body) donor_id
*election_cycle election_cycle
*election_period election_period
*election_period_ngp_code election_period_ngp_code
employerName employer
lastName last_name
firstName first_name
*is_private is_private
*membership_name membership_name
occupation occupation
**utm_campaign mailing_slug
paymentRequests responseTime succeeded_at
donations 
{employerAddressPostalCode} {employerAddressCity}
{employerAddressRegion} {employerAddressLine1}
{employerAddressLine2}
work_address 
{zip}
{city}
{state}
{address1}
{address2}
amount amount_in_cents
paymentMethod 
{postalCode}
{city}
{region}
{line1}
{line2}
{country}
billing_address 
{zip}
{city}
{state}
{address1}
{address2}
{country_code}
*tracking_code_slug tracking_code_slug
*actblue_order_number actblue_order_number
depends on the payment method: 
bank_account: "E"
cash: "C"
check: "K"
credit_card: "D"
in_kind: "I"
offline_card or paypal: "O"
payment_type_ngp_code
*recruiter_name_or_email recruiter_name_or_email
***fund_id fund_id
(fund UID (system generated) (e.g. 52681d6f-a6dd-4103-b84b-ddc0ae2be0a8))
***fund_internal_identifier fund_internal_identifier
(fund internal identifier (set up in Fund Settings, e.g. 1001 ))
transaction_id transaction_id
commitment_id commitment_id

*Custom Hidden Fields must be added to the Anedot Action Page in order to be relayed.

** UTM Campaign can be added to the Page URL in the Action Page Builder.

***Fields associated with the Send Fund Data functionality.


Donation Payload

Request Headers

{
  "User-Agent": "Anedot/b17216ad",
  "Content-Type": "application/json",
  "X-Integration-Id": "n6d219f500afcc547b61c"
}

Request Body

Includes Send Fund Data fields (fundID and fundInternalIdentifier). If Send Fund Data is not enabled, the fields are set to null.

{
  "donation": {
    "note": "Received via Anedot Hosted.",
    "email": "annie@anedot.com",
    "fundId": "52681d6f-a6dd-4103-b84b-ddc0ae2be0a8",
    "donorId": 14579,
    "election": {
      "cycle": null,
      "period": null,
      "periodNgpCode": null
    },
    "employer": null,
    "lastName": "Dot",
    "firstName": "Annie",
    "isPrivate": null,
    "membership": {
      "name": null
    },
    "occupation": null,
    "mailingSlug": null,
    "succeededAt": "2024-03-29T13:18:42.559Z",
    "workAddress": {
      "zip": null,
      "city": null,
      "state": null,
      "address1": null
    },
    "amountInCents": 2500,
    "billingAddress": {
      "zip": "70112",
      "city": "New Orleans",
      "state": "LA",
      "address1": "1340 Poydras St",
      "address2": null,
      "countryCode": "US"
    },
    "trackingCodeSlug": "Anedot",
    "actblueOrderNumber": null,
    "paymentTypeNgpCode": "O",
    "recruiterNameOrEmail": null,
    "fundInternalIdentifier": "1001"
  }
}

Response Body (Success)

Includes Send Fund Data fields (fundId and fundInternalIdentifier). If Send Fund Data is not enabled, the fields are set to null.

Includes Send Commitment Data fields (cancelledOncreatedAtfrequencyactionPageNameamountstatus). Since this payload is for a Donation object, the responses are set to null.

{
  "donation": {
    "id": 2933,
    "note": "Received via Anedot Hosted.",
    "donor": {
      "id": 14579,
      "sex": null,
      "note": null,
      "tags": [],
      "ward": null,
      "dwId": null,
      "email": "annie@anedot.com",
      "party": null,
      "phone": "12015550123",
      "amount": null,
      "mobile": null,
      "ngpId": null,
      "rncId": null,
      "status": null,
      "vanId": null,
      "employer": null,
      "birthdate": "2024-03-29",
      "frequency": null,
      "lastName": "Dot",
      "nbecGuid": null,
      "rncRegid": null,
      "civicrmId": null,
      "createdAt": "2024-03-29T09:18:44-04:00",
      "createdOn": null,
      "firstName": "Annie",
      "occupation": null,
      "twitterId": null,
      "updatedAt": "2024-03-29T09:18:45-04:00",
      "doNotCall": false,
      "externalId": null,
      "linkedinId": null,
      "middleName": "",
      "pfStratId": null,
      "precinctId": null,
      "signupType": 0,
      "cancelledOn": null,
      "datatrustId": null,
      "emailOptIn": true,
      "hasFacebook": false,
      "isVolunteer": false,
      "recruiterId": null,
      "twitterName": null,
      "cityDistrict": null,
      "fireDistrict": null,
      "labourRegion": null,
      "mobileOptIn": null,
      "salesforceId": null,
      "stateFileId": null,
      "supportLevel": null,
      "countyFileId": null,
      "doNotContact": false,
      "countyDistrict": null,
      "primaryAddress": {
        "lat": null,
        "lng": null,
        "lot": null,
        "zip": "70112",
        "city": "New Orleans",
        "fips": null,
        "zip4": null,
        "zip5": "70112",
        "state": "LA",
        "county": null,
        "address1": "1340 Poydras St",
        "address2": null,
        "address3": null,
        "streetName": "Poydras",
        "streetType": "St",
        "unitNumber": null,
        "countryCode": "US",
        "carrierRoute": null,
        "sortSequence": null,
        "streetNumber": "1340",
        "streetPrefix": "",
        "streetSuffix": null,
        "deliveryPoint": null
      },
      "schoolDistrict": null,
      "actionPageName": null,
      "federalDistrict": null,
      "villageDistrict": null,
      "judicialDistrict": null,
      "workPhoneNumber": null,
      "isTwitterFollower": false,
      "schoolSubDistrict": null,
      "stateLowerDistrict": null,
      "stateUpperDistrict": null,
      "profileImageUrlSsl": "https://assets.nationbuilder.com/assets/notifier/profile-avatar.png",
      "supranationalDistrict": null
    },
    "email": "annie@anedot.com",
    "amount": "$25.00",
    "ngpId": null,
    "fundId": "52681d6f-a6dd-4103-b84b-ddc0ae2be0a8",
    "donorId": 14579,
    "election": null,
    "employer": null,
    "fecType": "Contribution",
    "authorId": null,
    "failedAt": null,
    "importId": null,
    "lastName": "Dot",
    "pageSlug": null,
    "pledgeId": null,
    "createdAt": "2024-03-29T09:18:45-04:00",
    "firstName": "Annie",
    "isPrivate": null,
    "membership": null,
    "occupation": null,
    "updatedAt": "2024-03-29T09:18:45-04:00",
    "canceledAt": null,
    "middleName": null,
    "checkNumber": null,
    "mailingSlug": null,
    "succeededAt": "2024-03-29T09:18:42-04:00",
    "workAddress": {
      "lat": null,
      "lng": null,
      "lot": null,
      "zip": null,
      "city": null,
      "fips": null,
      "zip4": null,
      "zip5": null,
      "state": null,
      "county": null,
      "address1": null,
      "address2": null,
      "address3": null,
      "streetName": null,
      "streetType": null,
      "unitNumber": null,
      "countryCode": null,
      "carrierRoute": null,
      "sortSequence": null,
      "streetNumber": null,
      "streetPrefix": null,
      "streetSuffix": null,
      "deliveryPoint": null
    },
    "authorization": null,
    "amountInCents": 2500,
    "billingAddress": {
      "lat": null,
      "lng": null,
      "lot": null,
      "zip": "70112",
      "city": "New Orleans",
      "fips": null,
      "zip4": null,
      "zip5": "70112",
      "state": "LA",
      "county": null,
      "address1": "1340 Poydras St",
      "address2": null,
      "address3": null,
      "streetName": "Poydras",
      "streetType": "St",
      "unitNumber": null,
      "countryCode": "US",
      "carrierRoute": null,
      "sortSequence": null,
      "streetNumber": "1340",
      "streetPrefix": "",
      "streetSuffix": null,
      "deliveryPoint": null
    },
    "fecTypeNgpCode": "C",
    "paymentTypeName": "Other",
    "trackingCodeSlug": "anedot",
    "merchantAccountId": null,
    "actblueOrderNumber": null,
    "paymentTypeNgpCode": "O",
    "recurringDonationId": null,
    "corporateContribution": false,
    "recruiterNameOrEmail": "Annie Dot",
    "fundInternalIdentifier": "1001"
  }
}

Response Body (Failure)

{
  "code": "unauthorized",
  "message": "You are not authorized to access this content. Your access token may be missing. The resource owner also may not have a permission level sufficient to grant access."
}

Response Body (Error)

{
  "code": "unauthorized",
  "message": "You are not authorized to access this content. Your access token may be missing. The resource owner also may not have a permission level sufficient to grant access."
}

Person Payload

Request Headers

{
  "User-Agent": "Anedot/b17216ad",
  "Content-Type": "application/json",
  "X-Integration-Id": "n6d219f500afcc547b61c"
}

Request Body

{
  "person": {
    "tags": [],
    "email": "annie@anedot.com",
    "phone": null,
    "birthdate": "1995-03-29",
    "lastName": "Annie",
    "firstName": "Dot",
    "mailingAddress": {
      "zip": null,
      "city": null,
      "state": null,
      "address1": null,
      "address2": null,
      "countryCode": null
    }
  }
}

Response Body (Success)

Includes Send Commitment Data fields (cancelledOncreatedAtfrequencyactionPageNameamountstatus). If Send Commitment Data is not selected, fields are set to null.

{
  "person": {
    "id": 14579,
    "bio": null,
    "sex": null,
    "demo": null,
    "note": null,
    "tags": [],
    "ward": null,
    "dwId": null,
    "email": "annie@anedot.com",
    "party": null,
    "phone": null,
    "amount": null,
    "author": null,
    "church": null,
    "email1": "annie@anedot.com",
    "email2": null,
    "email3": null,
    "email4": null,
    "emails": [{
      "isBad": false,
      "isPrimary": true,
      "emailNumber": 1,
      "emailAddress": "annie@anedot.com"
    }],
    "locale": null,
    "mobile": null,
    "ngpId": null,
    "parent": null,
    "prefix": null,
    "rncId": null,
    "status": null,
    "suffix": null,
    "vanId": null,
    "ballots": [],
    "website": null,
    "employer": null,
    "isDonor": true,
    "language": null,
    "religion": null,
    "township": null,
    "username": null,
    "authorId": null,
    "bannedAt": null,
    "birthdate": "1995-03-29",
    "ethnicity": null,
    "frequency": null,
    "fullName": "Annie Dot",
    "importId": null,
    "lastName": "Dot",
    "meetupId": null,
    "nbecGuid": null,
    "pageSlug": null,
    "parentId": null,
    "recruiter": null,
    "rncRegid": null,
    "civicrmId": null,
    "createdAt": "2024-03-29T09:18:44-04:00",
    "createdOn": null,
    "faxNumber": null,
    "firstName": "Annie",
    "legalName": null,
    "occupation": null,
    "phoneTime": null,
    "subnations": [],
    "twitterId": null,
    "updatedAt": "2024-03-29T09:23:20-04:00",
    "doNotCall": false,
    "externalId": null,
    "isDeceased": false,
    "isProspect": false,
    "linkedinId": null,
    "middleName": "",
    "pfStratId": null,
    "precinctId": null,
    "signupType": 0,
    "availability": null,
    "cancelledOn": null,
    "datatrustId": null,
    "emailOptIn": true,
    "hasFacebook": false,
    "homeAddress": null,
    "isSupporter": true,
    "isVolunteer": false,
    "lastCallId": null,
    "partyMember": null,
    "recruiterId": null,
    "twitterName": null,
    "workAddress": {
      "lat": null,
      "lng": null,
      "lot": null,
      "zip": null,
      "city": null,
      "fips": null,
      "zip4": null,
      "zip5": null,
      "state": null,
      "county": null,
      "address1": null,
      "address2": null,
      "address3": null,
      "streetName": null,
      "streetType": null,
      "unitNumber": null,
      "countryCode": null,
      "carrierRoute": null,
      "sortSequence": null,
      "streetNumber": null,
      "streetPrefix": null,
      "streetSuffix": null,
      "deliveryPoint": null
    },
    "cityDistrict": null,
    "email1IsBad": false,
    "email2IsBad": false,
    "email3IsBad": false,
    "email4IsBad": false,
    "fireDistrict": null,
    "isFundraiser": false,
    "isMobileBad": false,
    "labourRegion": null,
    "mobileOptIn": null,
    "nbecPrecinct": null,
    "precinctCode": null,
    "precinctName": null,
    "registeredAt": null,
    "salesforceId": null,
    "stateFileId": null,
    "supportLevel": null,
    "twitterLogin": null,
    "autoImportId": null,
    "callStatusId": null,
    "childrenCount": 0,
    "countyFileId": null,
    "doNotContact": false,
    "inferredParty": null,
    "invoicesCount": null,
    "isEarlyVoter": null,
    "maritalStatus": null,
    "meetupAddress": null,
    "previousParty": null,
    "priorityLevel": null,
    "recruitsCount": 0,
    "signupSources": [],
    "warningsCount": 0,
    "billingAddress": {
      "lat": null,
      "lng": null,
      "lot": null,
      "zip": "70112",
      "city": "New Orleans",
      "fips": null,
      "zip4": null,
      "zip5": "70112",
      "state": "LA",
      "county": null,
      "address1": "1340 Poydras St",
      "address2": null,
      "address3": null,
      "streetName": "Poydras",
      "streetType": "St",
      "unitNumber": null,
      "countryCode": "US",
      "carrierRoute": null,
      "sortSequence": null,
      "streetNumber": "1340",
      "streetPrefix": "",
      "streetSuffix": null,
      "deliveryPoint": null
    },
    "countyDistrict": null,
    "donationsCount": 1,
    "isActiveVoter": null,
    "lastDonatedAt": "2024-03-29T09:18:42-04:00",
    "lastInvoiceAt": null,
    "mailingAddress": {
      "lat": null,
      "lng": null,
      "lot": null,
      "zip": "70112",
      "city": null,
      "fips": null,
      "zip4": null,
      "zip5": "70112",
      "state": null,
      "county": null,
      "address1": null,
      "address2": null,
      "address3": null,
      "streetName": null,
      "streetType": null,
      "unitNumber": null,
      "countryCode": null,
      "carrierRoute": null,
      "sortSequence": null,
      "streetNumber": null,
      "streetPrefix": null,
      "streetSuffix": null,
      "deliveryPoint": null
    },
    "noteUpdatedAt": null,
    "primaryAddress": {
      "lat": null,
      "lng": null,
      "lot": null,
      "zip": "70112",
      "city": null,
      "fips": null,
      "zip4": null,
      "zip5": "70112",
      "state": null,
      "county": null,
      "address1": null,
      "address2": null,
      "address3": null,
      "streetName": null,
      "streetType": null,
      "unitNumber": null,
      "countryCode": null,
      "carrierRoute": null,
      "sortSequence": null,
      "streetNumber": null,
      "streetPrefix": null,
      "streetSuffix": null,
      "deliveryPoint": null
    },
    "profileContent": null,
    "schoolDistrict": null,
    "twitterAddress": null,
    "twitterWebsite": null,
    "unsubscribedAt": null,
    "actionPageName": null,
    "callStatusName": null,
    "facebookAddress": null,
    "federalDistrict": null,
    "firstDonatedAt": "2024-03-29T09:18:42-04:00",
    "firstInvoiceAt": null,
    "phoneNormalized": null,
    "primaryEmailId": 1,
    "profileHeadline": null,
    "twitterLocation": null,
    "villageDistrict": null,
    "voterUpdatedAt": null,
    "citySubDistrict": null,
    "contactStatusId": null,
    "couldVoteStatus": false,
    "facebookUsername": null,
    "federalDonotcall": false,
    "firstProspectAt": null,
    "isAbsenteeVoter": null,
    "judicialDistrict": null,
    "lastContactedAt": null,
    "lastContactedBy": null,
    "mediaMarketName": null,
    "mobileNormalized": null,
    "submittedAddress": null,
    "workPhoneNumber": null,
    "firstRecruitedAt": null,
    "firstSupporterAt": "2024-03-29T09:18:44-04:00",
    "firstVolunteerAt": null,
    "isLeaderboardable": true,
    "isProfilePrivate": false,
    "lastFundraisedAt": "2024-03-29T09:18:42-04:00",
    "nbecPrecinctCode": null,
    "registeredAddress": null,
    "twitterUpdatedAt": null,
    "contactStatusName": null,
    "facebookUpdatedAt": null,
    "firstFundraisedAt": "2024-03-29T09:18:42-04:00",
    "isTwitterFollower": false,
    "schoolSubDistrict": null,
    "twitterDescription": null,
    "facebookProfileUrl": null,
    "isDroppedFromFile": null,
    "profileContentHtml": null,
    "stateLowerDistrict": null,
    "stateUpperDistrict": null,
    "closedInvoicesCount": null,
    "isPossibleDuplicate": false,
    "isProfileSearchable": true,
    "profileImageUrlSsl": "https://assets.nationbuilder.com/assets/notifier/profile-avatar.png",
    "ruleViolationsCount": 0,
    "twitterFriendsCount": null,
    "donationsRaisedCount": 1,
    "inferredSupportLevel": null,
    "lastRuleViolationAt": null,
    "overdueInvoicesCount": 0,
    "supranationalDistrict": null,
    "userSubmittedAddress": null,
    "capitalAmountInCents": 1500,
    "twitterFollowersCount": null,
    "invoicesAmountInCents": 0,
    "supportLevelChangedAt": null,
    "donationsAmountInCents": 2500,
    "isIgnoreDonationLimits": false,
    "priorityLevelChangedAt": null,
    "supportProbabilityScore": null,
    "turnoutProbabilityScore": null,
    "activeCustomerExpiresAt": null,
    "activeCustomerStartedAt": null,
    "donationsCountThisCycle": 0,
    "isSurveyQuestionPrivate": false,
    "outstandingInvoicesCount": null,
    "isPermanentAbsenteeVoter": null,
    "spentCapitalAmountInCents": 0,
    "closedInvoicesAmountInCents": 0,
    "donationsRaisedAmountInCents": 2500,
    "invoicePaymentsAmountInCents": 0,
    "receivedCapitalAmountInCents": 1500,
    "donationsPledgedAmountInCents": 0,
    "donationsRaisedCountThisCycle": 0,
    "donationsToRaiseAmountInCents": 0,
    "donationsAmountThisCycleInCents": 0,
    "outstandingInvoicesAmountInCents": 0,
    "invoicePaymentsReferredAmountInCents": 0,
    "donationsRaisedAmountThisCycleInCents": 0
  },
  "precinct": null
}

Response Body (Failure)

{
  "code": "unauthorized",
  "message": "You are not authorized to access this content. Your access token may be missing. The resource owner also may not have a permission level sufficient to grant access."
}