Campaign Nucleus
This article explains how to integrate Anedot with Campaign Nucleus to relay supporter and donation data using customizable webhook-style payloads.
Campaign Nucleus is a CRM platform designed for political organizations to manage supporter data, outreach, and engagement effectively.
Table of Contents
- Connecting Anedot to Campaign Nucleus
- Available Trigger Events in Campaign Nucleus
- Data Relays
- Field Mapping
- Payload Data
Connecting Anedot to Campaign Nucleus
To connect your Anedot account to Campaign Nucleus:
- Navigate to Settings > Integrations >Directory within your fundraising account.
- Click the blue + New Connection button in the upper right corner.
- Select Campaign Nucleus from the directory.
- Choose the Action Pages you want to sync.
- By default, all Action Pages are included.
- To exclude specific pages, enter a comma-separated list of Action Page IDs.
- (Optional) Scope the integration to send only Team-specific data.
- If no Team is selected, all designated Action Pages will be synced.
- Enter your Campaign Nucleus Client ID (used to create the correct endpoint).
- Select the Trigger Events you want to relay (these match Anedot Webhook Events).
- Click Save to activate the connection.
You can update Action Pages, Team settings, and credentials at any time after setup.
Available Trigger Events in Campaign Nucleus
You can choose from the following event categories:
Commitment Events
-
Commitment Created
-
Commitment Failed to Process
-
Commitment Updated
Donation Events
-
Donation ACH Returned
-
Donation Chargeback
-
Donation Chargeback Reversed
-
Donation Completed
-
Donation Partially Refunded
-
Donation Refunded
-
Donation Settled
-
Donation Voided
Submission Events
-
Submission Created
Data Relays
-
Supports both financial and non-financial Action Pages.
-
Custom fields are supported and follow the same format as Webhooks.
-
Push Unsent (includes failed and successful donations) with a specified date range is supported across all Action Pages, regardless of type.
Field Mapping
Anedot Field | Campaign Nucleus Field |
---|---|
“donation_completed” | event |
phone | phone |
title | title |
origin | origin |
suffix | suffix |
donation (object), includes: {id} fees {anedot, vendor} fund {id} fund {name} fund {identifier} product {name} product {internal identifier} card {type} card {lastDigits} card {donation_project} card {credit_card_expiration} |
donation [object, multiple values] |
referrer | referrer |
frequency | frequency |
lastName | last_name |
recurring | recurring |
created_at | created_at |
firstName | first_name |
ip_address | ip_address |
net_amount | net_amount |
occupation | occupation |
updated_at | updated_at |
accountId | account_uid |
middleName | middle_name |
source_code | source_code |
accountName | account_name |
address {city} | address_city |
eventAmount | event_amount |
employerName | employer_name |
Submission (id) | submission_id |
actionPageId | action_page_id |
address {line1} | address_line_1 |
address {line2} | address_line_2 |
address {region} | address_region |
(Commitment) id | commitment_uid |
address {country} | address_country |
actionPageName | action_page_name |
donor_profile_id | donor_profile_id |
referrerToForm | referrer_to_form |
amount (x100) | amount_in_dollars |
payment_method_id | payment_method_id |
createdAt | created_at_iso8601 |
currentlyEmployed (TRUE/FALSE) | currently_employed |
updatedAt | updated_at_iso8601 |
address {postal_code} | address_postal_code |
custom_field_responses [object, includes: {custom field name} {custom field response value} |
custom_field_responses [object, multiple values] |
“true” or “false” | is_recurring_commitment |
communicationsConsentEmail | communications_consent_email |
communicationsConsentPhone | communications_consent_phone |
“donation” or “lead” | * page_type |
* page_type is unique to Campaign Nucleus, it is not available on regular webhook integrations
Payload Data
Payloads sent to Campaign Nucleus follow the same structure as standard webhook payloads—the only difference is that they are directed to a specific Campaign Nucleus endpoint.
Below is an example of a donation_completed
event. For additional examples, refer to the Webhooks documentation.
Request Headers
{
"User-Agent": "Anedot-Hookshot/6f34e42",
"X-Request-Id": "c18a9f11-2ca3-4874-aab7-dd7d98c4733e",
"X-Integration-Id": "e4ac27de-f2f7-43c1-9745-a607f244a3f6",
"X-Integration-Event": "donation_completed",
"X-Request-Signature": "cecc8fa850543cc3af6a9a889d80794cf97f71666b36e4b89d5388f747760550"
}
Request Body
{
"event": "donation_completed",
"payload": {
"email": "admin@anedot.com",
"phone": "2252501301",
"title": "",
"origin": "hosted",
"suffix": "",
"donation": {
"id": "d37323879577f06a79859",
"fees": {
"anedot_fees": {
"amount": "5.31"
},
"vendor_fees": []
},
"fund": {
"id": "75bb50a0-69f3-4f98-8f6b-ac67fc1b1764",
"name": "General Fund",
"identifier": "1001"
},
"products": [],
"card_type": "master",
"card_last_digits": "8888",
"donation_project": "",
"credit_card_expiration": "08/2028"
},
"referrer": "https://qa2.secure.anedot.com/anedot/e94ba599-b8e7-406d-9b48-ffd78eb65d2d",
"frequency": "once",
"last_name": "Dot",
"recurring": "false",
"created_at": "2023-05-02 15:30:02 UTC",
"first_name": "Annie",
"ip_address": "2600:1700:6323:c820:4cf4:bf3:bfc8:2cf4",
"net_amount": "119.94",
"occupation": "",
"updated_at": "2023-05-02 15:30:02 UTC",
"account_uid": "a7229820277fe1a0aeaec",
"middle_name": "",
"source_code": "",
"account_name": "Anedot",
"address_city": "New Orleans",
"event_amount": "125.25",
"employer_name": "",
"submission_id": "71f73d91-d3c2-4d41-83ea-6675d176249e",
"action_page_id": "b4ffb2a2-1cc9-4152-86c1-3c8dcc4c1b63",
"address_line_1": "1340 Poydras St",
"address_line_2": "",
"address_region": "LA",
"commitment_uid": "",
"address_country": "US",
"action_page_name": "Campaign Nucleus",
"donor_profile_id": "848f9bbf-c553-4a6e-bf0c-7ad25800bbf0",
"referrer_to_form": "https://qa2.anedot.com/",
"amount_in_dollars": "125.25",
"payment_method_id": "9b3efb25-3944-4b67-a767-f2b813f6c0f7",
"created_at_iso8601": "2023-05-02T15:30:02Z",
"currently_employed": "true",
"updated_at_iso8601": "2023-05-02T15:30:02Z",
"address_postal_code": "70508",
"custom_field_responses": {
"would_you_like_to_subscribe_to_our_newsletter?": "yes"
},
"is_recurring_commitment": "false",
"communications_consent_email": "false",
"communications_consent_phone": "false"
},
"page_type": "donation"
}
Donation Completed
{
"event": "donation_completed",
"payload": {
"submission_id": "f42e7e4f-c93d-4956-a5a2-efab4eef4558",
"donation": {
"id": "d467208a8376024eacd71",
"donation_project": "",
"products":
[
{
"internal_identifier": "dl332",
"name": "Slipper"
}
],
"fees": {
"anedot_fees": {
"amount": "1.30"
},
"vendor_fees": []
}
},
"origin": "hosted",
"commitment_uid": "e1c696e4-4b7d-443b-a69d-1eb1f7027e29",
"event_amount": "25.00",
"amount_in_dollars": "25.0",
"net_amount": "23.70",
"frequency": "once",
"action_page_id": "e8f8f185-9a94-4fec-8c9c-974065b4db75",
"action_page_name": "New Donation Page",
"donor_profile_id": "",
"payment_method_id": "9d19c94c-8249-4a26-b1aa-299a423bc852",
"created_at": "2020-12-11 22:06:25 UTC",
"updated_at": "2020-12-11 22:06:26 UTC",
"address_line_1": "143 S 3rd St",
"address_line_2": "",
"address_city": "Philadelphia",
"address_region": "PA",
"address_postal_code": "19106",
"address_country": "US",
"email": "[[email protected]](/cdn-cgi/l/email-protection)",
"phone": "5552221212",
"first_name": "Susan",
"last_name": "Anthony",
"middle_name": "",
"occupation": "",
"employer_name": "",
"title": "",
"suffix": "",
"ip_address": "10.0.0.1",
"recurring": "true",
"is_recurring_commitment": "true",
"referrer": "https://secure.anedot.com/example/slug",
"referrer_to_form": "",
"custom_field_responses": `{`
"turn_up": "Option One"
},
"communications_consent_email": "",
"communications_consent_phone": "",
"currently_employed": ""
}
}
Donation Voided
{
"event": "donation_voided",
"payload": {
"submission_id": "f42e7e4f-c93d-4956-a5a2-efab4eef4558",
"donation": {
"id": "d467208a8376024eacd71",
"donation_project": "",
"products": [
{
"internal_identifier": "dl332",
"name": "Slipper"
}
],
"fees": {
"anedot_fees": {
"amount": "-1.30"
},
"vendor_fees": []
}
},
"origin": "hosted",
"commitment_uid": "e1c696e4-4b7d-443b-a69d-1eb1f7027e29",
"event_amount": "-25.00",
"amount_in_dollars": "25.0",
"net_amount": "-23.70",
"frequency": "once",
"action_page_id": "e8f8f185-9a94-4fec-8c9c-974065b4db75",
"action_page_name": "New Donation Page",
"donor_profile_id": "",
"payment_method_id": "9d19c94c-8249-4a26-b1aa-299a423bc852",
"created_at": "2020-12-11 22:06:25 UTC",
"updated_at": "2020-12-11 22:06:26 UTC",
"address_line_1": "143 S 3rd St",
"address_line_2": "",
"address_city": "Philadelphia",
"address_region": "PA",
"address_postal_code": "19106",
"address_country": "US",
"email": "[[email protected]](/cdn-cgi/l/email-protection)",
"phone": "5552221212",
"first_name": "Susan",
"last_name": "Anthony",
"middle_name": "",
"occupation": "",
"employer_name": "",
"title": "",
"suffix": "",
"ip_address": "2600:100c:b01f:815d:456d:5903:4547:f517",
"referrer": "https://secure.anedot.com/mje-test/slug",
"referrer_to_form": "",
"custom_field_responses": `{`
"turn_up": "Option One"
},
"communications_consent_email": "",
"communications_consent_phone": "",
"currently_employed": ""
}
}
Commitment Failed to Process
{
"event": "commitment_failed_to_process",
"payload": {
"id": "c89cc126-853d-42ec-85dd-d56834722413",
"total_amount_in_dollars": "10.3",
"fund_allocations": [
{
"amount_in_dollars": "10.3",
"fund": {
"id": "3bfe8049-aa5a-4db1-840c-c1ede521dd5c",
"identifier": "95263a32-4dc8-4e41-8ea1-174d527472f9",
"name": "General Fund"
}
}
],
"next_capture_on": "2021-04-03 12:55:10 UTC",
"cancelled_on": "",
"expired_on": "",
"failed_on": "",
"paused_on": "",
"token": "1500139abd7729e85079362ae4a8c768cd5d0b70",
"frequency": "monthly",
"action_page_id": "b9cb82d0-2e19-4ff1-9cf1-3a8a4b8f02ce",
"action_page_name": "Commitment Page",
"donor_profile_id": "",
"payment_method_id": "952219f9-b345-46c2-9e88-c362e4ba626f",
"submission_id": "3af17864-9db0-4083-b18b-d88d043266dc",
"created_at": "2021-01-03 12:55:10 UTC",
"updated_at": "2021-03-17 16:44:50 UTC",
"address_line_1": "123 Pelinor Way",
"address_line_2": "",
"address_city": "Pelinor",
"address_region": "TX",
"address_postal_code": "76545",
"address_country": "US",
"email": "[[email protected]](/cdn-cgi/l/email-protection)",
"phone": "8765456789",
"first_name": "Gandalf",
"last_name": "Thegrey",
"middle_name": "",
"occupation": "retired",
"employer_name": "",
"title": "",
"suffix": "",
"ip_address": "127.0.0.1",
"referrer": "http://secure.anedot.me:3000/washington/b9cb82d0-2e19-4ff1-9cf1-3a8a4b8f02ce",
"referrer_to_form": "",
"communications_consent_email": "",
"communications_consent_phone": "",
"currently_employed": "false",
"payment_status_message": "Declined",👈
"changed_attributes": `{``}`,
"cancellation_reason": "",
"whodunnit": ""
"status": "active"
}
}
Commitment Updated with Cancellation Reason
{
"event": "commitment_updated",
"payload": {
"id": "c89cc126-853d-42ec-85dd-d56834722413",
"total_amount_in_dollars": "10.3",
"fund_allocations": [
{
"amount_in_dollars": "10.3",
"fund": {
"id": "3bfe8049-aa5a-4db1-840c-c1ede521dd5c",
"identifier": "95263a32-4dc8-4e41-8ea1-174d527472f9",
"name": "General Fund"
}
}
],
"next_capture_on": "2021-04-03 12:55:10 UTC",
"cancelled_on": "2021-03-17 00:00:00 UTC",
"expired_on": "",
"failed_on": "",
"paused_on": "",
"token": "1500139abd7729e85079362ae4a8c768cd5d0b70",
"frequency": "monthly",
"action_page_id": "b9cb82d0-2e19-4ff1-9cf1-3a8a4b8f02ce",
"action_page_name": "Commitment Page",
"donor_profile_id": "",
"payment_method_id": "952219f9-b345-46c2-9e88-c362e4ba626f",
"submission_id": "3af17864-9db0-4083-b18b-d88d043266dc",
"created_at": "2021-01-03 12:55:10 UTC",
"updated_at": "2021-03-17 16:52:48 UTC",
"address_line_1": "123 Pelinor Way",
"address_line_2": "",
"address_city": "Pelinor",
"address_region": "TX",
"address_postal_code": "76545",
"address_country": "US",
"email": "[[email protected]](/cdn-cgi/l/email-protection)",
"phone": "8765456789",
"first_name": "Gandalf",
"last_name": "Thegrey",
"middle_name": "",
"occupation": "retired",
"employer_name": "",
"title": "",
"suffix": "",
"ip_address": "127.0.0.1",
"referrer": "http://secure.anedot.me:3000/washington/b9cb82d0-2e19-4ff1-9cf1-3a8a4b8f02ce",
"referrer_to_form": "",
"communications_consent_email": "",
"communications_consent_phone": "",
"currently_employed": "false",
"payment_status_message": "",
"changed_attributes": `{`
"cancelled_on": [
null,
"2021-03-17 00:00:00 UTC"
],
"updated_at": [
"2021-03-17 16:44:50 UTC",
"2021-03-17 16:52:48 UTC"
]
},
"cancellation_reason": "failure"
"whodunnit": ""
"status": "inactive"
}
}
Submission Created
{
"event": "submission_created",
"payload": {
"account_name": "Washington for President",
"account_uid": "ad603181ae28962ff2611",
"action_page_id": "991bd598-f047-4719-ace6-f6ec46123e4b",
"action_page_name": "Donation Page 3",
"address_line_1": "123 Somewhere Way",
"address_line_2": "",
"address_city": "Aneware",
"address_region": "TX",
"address_postal_code": "75409",
"address_country": "US",
"card_type": "visa",
"card_last_digits": "4242",
"card_expiration": "02/2023",
"communications_consent_email": "",
"communications_consent_phone": "",
"created_at": "2022-03-31 15:38:56 UTC",
"currently_employed": "",
"custom_field_responses": {
"appeal_id": "1",
"batch_prefix": "ANE"
},
"donation_amount": "$33.10",
"donations": [
{
"id": "d412f04fddbe6b4dbb456",
"fees": {
"anedot_fees": {
"amount": "1.09"
},
"vendor_fees": []
},
"fees_paid_by_donor": "false",
"fund": {
"id": "3bfe8049-aa5a-4db1-840c-c1ede521dd5c",
"identifier": "1412",
"name": "General Fund"
},
"gross_amount": "19.86",
"net_amount": "18.77",
"product": {``}
},
{
"id": "db40ee7bd45a80ab1347e",
"fees": {
"anedot_fees": {
"amount": "0.83"
},
"vendor_fees": []
},
"fees_paid_by_donor": "false",
"fund": {
"id": "b39b768f-3874-46cd-be10-042a18d2b174",
"identifier": "1412",
"name": "Multifunded"
},
"gross_amount": "13.24",
"net_amount": "12.41",
"product": {``}
}
],
"donor_profile_id": "",
"email": "[[email protected]](/cdn-cgi/l/email-protection)",
"employer_name": "",
"first_name": "Gandy",
"id": "f0bb1f8d-cebc-4f00-921a-46006306c6ee",
"ip_address": "127.0.0.1",
"last_name": "Grey",
"middle_name": "",
"occupation": "",
"payment_method_type": "credit_card",
"phone": "9036341111",
"product_code": "",
"product_id": "",
"product_name": "",
"product_value": "",
"referrer": "http://secure.anedot.me:3000/washington/991bd598-f047-4719-ace6-f6ec46123e4b",
"referrer_to_form": "http://secure.anedot.me:3000/washington/991bd598-f047-4719-ace6-f6ec46123e4b",
"source_code": "",
"suffix": "",
"title": "",
"updated_at": "2022-03-31 15:38:57 UTC",
"utm_campaign": "",
"utm_content": "",
"utm_medium": "",
"utm_source": "",
"utm_term": ""
}
}
Response Body (Success)
{``}
Response Status (Success)
200