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

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

To connect your Anedot account to Campaign Nucleus:

  1. Navigate to Settings > Integrations >Directory within your fundraising account.
  2. Click the blue + New Connection button in the upper right corner.
  3. Select Campaign Nucleus from the directory.
  4. 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.
  5. (Optional) Scope the integration to send only Team-specific data.
    • If no Team is selected, all designated Action Pages will be synced.
  6. Enter your Campaign Nucleus Client ID (used to create the correct endpoint).
  7. Select the Trigger Events you want to relay (these match Anedot Webhook Events).
  8. 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
email email
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