Skip to main content
Campaign Nucleus
Updated over a week ago

Campaign Nucleus is a CRM software used by Political organizations to manage supporter data.


Connecting Anedot to Campaign Nucleus

  1. Select which Action Pages you would like to sync with Campaign Nucleus (default: all Action Pages).

  2. Optionally, you can enter a comma separated list of Action Page IDs that you would like excluded from Campaign Nucleus.

  3. Optionally, you can also scope the integration to only send team-specific data to Campaign Nucleus (if no team is selected it will sync all Action Pages specified in the fields above).

  4. Enter your Campaign Nucleus Client ID (used to create the proper endpoint).

  5. Select the trigger events you would like relayed to Campaign Nucleus (same events as webhooks).

  6. Once you save the credentials, you are all set!

The Action Pages, Team, and credentials can be modified at any time post-setup.

Campaign Nucleus Available Trigger Events

Trigger Commitment Events

  • Commitment Created

  • Commitment Failed to Process

  • Commitment Updated

Trigger Donation Events

  • Donation ACH Returned

  • Donation Chargeback

  • Donation Chargeback Reversed

  • Donation Completed

  • Donation Partially Refunded

  • Donation Refunded

  • Donation Settled

  • Donation Voided

Trigger Submission Events:

  • Submission Created


Data Relays

  • Supports financial and non-financial pages.

    • Custom fields are supported (same as webhooks).

  • Push Unsent (failed donations, all donations) + date range for relays works for all Action Pages, regardless of page type.


Field Mapping

Anedot Field

Campaign Nucleus Field

“donation_completed”

event

email

email

phone

phone

title

title

origin

origin

suffix

suffix

donation (object), includes:

id,

fees: {

anedot,

vendor

},

fund: {

id,

name,

identifier

},

product: {

name,

internal identifier

},

card: {

type,

lastDigits

},

donation_project,

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” or “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 are webhook payloads, the only difference is they point to a specific Campaign Nucleus endpoint. Below is an example of a donation_completed event (can look at webhooks doc for more examples).

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": "[email protected]",
"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]",
"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]",
"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]",
"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]",
"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]",
"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

Did this answer your question?