Skip to main content
Version: 0.4.1

Crimson and Julep by CMDI

Crimson and Julep by CMDI are a CRM used by political organizations and nonprofits. Anedot's integration with CMDI sends data collected from Action Pages to their systems.


Connect Anedot to Crimson or Julep

To connect Anedot to Crimson or Julep, follow the steps below:

  1. Before connecting Anedot to Crimson or Julep, be sure to create a donation page for the fundraising account. Skipping this step may cause the Anedot connection to Crimson to fail.

  2. Once that has been completed, access the Settings > Integrations > Directory tab within your fundraising account.

  3. Click the blue + New Connection button in the upper right corner of the Directory.

  4. Select Crimson or Julep from the Directory list.

  5. Select the Action Pages you would like synced with Crimson or Julep. The default is All Pages.

    1. To exclude pages, enter a comma-separated list of the Action Page IDs
    2. Optionally, you can scope the integration to only send team-specific data to Crimson.
  6. Apply your CMDI API Token .

  7. Click the blue Save button to complete!

Once the integration has been connected successfully, the CMDI Data Entry Page will automatically be created.


Data Relays

Anedot only relays data from Donation Pages (balance impacting transactions). Lead Page data cannot be relayed at this time.

The following Custom Fields are supported:

  • batchno
  • batchdate
  • pid
  • campgncode
  • chapcode
  • comment
  • refno
  • source_code
  • trackno

These are primarily for the data entry page. All can be passed as URL Parameters , some may be set on the page as well. Specifically batchno , batchdate , source_code , & pid are used to pre-populate fields on the form.

  • If PID is included, the page makes a call to an internal crimson/julep endpoint with the PID, which in turn hits the Crimson/Julep People API to get person data to prefill the form.
  • All but source_code are included in custom_field_responses on integration relays.
  • Source_code is relayed as usual (top-level property), batchdate corresponds to the donation date.

Field Mapping

Donation Relays

The Anedot Fields match the Submission's Raw Data (unless specified otherwise in parenthesis), and the Crimson Fields match the Request Body relay.

Anedot FieldCrimson/Julep Field
"donation_created"event
created_at (in UTC)date
"firstName lastName"name
emailemail
phonephone
donations originorigin
prefixprefix
(Donation) statusstatus
suffixsuffix
paymentMethod typepayment
(Donation) iddonation id
anedotFeeAmount (net amt in Donations -> Entries)donation {fees {anedot_fees amount `
vendorFeeAmount (net amt in Donations -> Entries)donation {fees {vendor_fees amount `
*billing agreement name or account displayNamedonation {fees {vendor_fees account `
"Donation from" firstName lastNamedonation {fees {vendor_fees `description``
actionPagesFund iddonation {fund id }
actionPagesFund namedonation {fund name }
actionPagesFund identifierdonation {fund identifier }
Product Name (Product)donation {product name }
Internal SKU (Product)donation {product identifier }
paymentMethod cardTypedonation card\_type
paymentMethod lastDigitsdonation card\_last\_digits
donation_project (hidden custom field) otherwise blankdonation donation\_project
"paymentMethod cardMonth / paymentMethod cardYear"donation credit\_card\_expiration
referrerreferrer
(Commitment) frequencyfrequency
lastNamelast_name
"true" or "false"recurring
firstNamefirst_name
netAmount (x100)net_amount
occupationoccupation
updatedAt (right above utmCodes in Submission Raw Data)updated_at
account idaccount_uid
middleNamemiddle_name
source_codesource_code
account nameaccount_name
address cityaddress_city
donations checkNumbercheck_number
netAmount (under Donation - Entries)event_amount
employerNameemployer_name
(Action Page) idaction_page_id
address {line1}address_line_1
address {line2}address_line_2
address regionaddress_region
(Commitment) idcommitment_uid
created_at (in UTC)processed_date
address countryaddress_country
actionPage nameaction_page_name
" https://anedot.com/ "referrer_to_form
donations amount (x100)amount_in_dollars
address postalCodeaddress_postal_code
Transactions Side-drawer Payment Methodpayment_description
customFieldResponses { multiple fields }custom field_responses {_multiple fields }
(Commitment) schedule_untilcommitment_recurring_until

Tip: The fund name in the relay is the Billing Agreement name. If the Billing Agreement name is left blank, the Anedot Account Name will be displayed.


Example Payloads

Request Headers

`{`  
"User-Agent": "Anedot-Hookshot/ae49a5d",
"X-Request-Id": "3f99e54b-03d5-44f2-8062-c2561fff4af1",
"X-Integration-Id": "97a64ea7-ee1a-4389-8db6-5e35e7106421",
"X-Integration-Event": "donation_completed",
"X-Request-Signature": "f9c15a4bfda0f5662b0281bc3059885ed9c69ced91f55229d3c50fb39c1b64b7"
`}`

Request Body

`{`  
"event": "donation_completed",
"payload": `{`
"date": "2023-01-05 16:58:04 UTC",
"name": "Anna Dote",
"email": "[[email protected]](/cdn-cgi/l/email-protection)",
"phone": "2252501301",
"origin": "hosted",
"prefix": "",
"status": "completed",
"suffix": "",
"payment": "credit_card",
"donation": `{`
"id": "d3fc8b4dd68300ed3bb4e",
"fees": `{`
"anedot_fees": `{`
"amount": "1.22"
`}`,
"vendor_fees": [`{`
"amount": "1.25",
"account": "Vendor Account Name",
"description": "Donation from Anna Dote"
`}`]
`}`,
"fund": `{`
"id": "ec082bf5-b1ed-48e5-b2ba-1c322c308b75",
"name": "General Fund",
"identifier": "141252"
`}`,
"products": [`{`
"name": "Sticker",
"internal_identifier": "001"
`}`],
"card_type": "visa",
"card_last_digits": "4242",
"donation_project": "",
"credit_card_expiration": "02/2023"
`}`,
"referrer": "https://anedot-sandbox.com/accounts/ab4ca5ac57b628c89d080/transactions/new",
"frequency": "once",
"last_name": "Dote",
"recurring": "false",
"first_name": "Anna",
"net_amount": "21.78",
"occupation": "",
"updated_at": "2023-01-05 16:58:04 UTC",
"account_uid": "ab4ca5ac57b628c89d080",
"middle_name": "",
"source_code": "",
"account_name": "Anedot",
"address_city": "New Orleans",
"check_number": "",
"event_amount": "23.00",
"employer_name": "",
"action_page_id": "fd6f6939-57a2-458f-a238-603624cc98be",
"address_line_1": "123 Anedot Way",
"address_line_2": "",
"address_region": "LA",
"commitment_uid": "",
"processed_date": "2023-01-05 16:58:04 UTC",
"address_country": "US",
"action_page_name": "Donation Page 1",
"referrer_to_form": "",
"amount_in_dollars": "23.0",
"address_postal_code": "99999",
"payment_description": "Visa •••• 4242",
"custom_field_responses": `{``}`,
"commitment_recurring_until": ""
`}`
`}`

Request Body (Success)

"request catcher <h1>request catcher</h1> No requests have been received yet :( <span class=\"code\"> curl -X POST -d 'Hello World!' https://<span>requestcatcher.com</span>/test </span> <a href=\"https://m.do.co/c/fd00053f4fc6\ " target=\"_blank\">Hosted on DigitalOcean. Get a $200 credit and support Request Catcher.</a> !function(e,a,t,n,g,c,o)`{`e.GoogleAnalyticsObject=g,e.ga=e.ga||function()`{`(e.ga.q=e.ga.q||[]).push(arguments)`}`,e.ga.l=1*new Date,c=a.createElement(t),o=a.getElementsByTagName(t)[0],c.async=1,c.src=\"//www.google-analytics.com/analytics.js\",o.parentNode.insertBefore(c,o)`}` .(window,document,\"script\",0\"ga\"),ga(\"create\",\"UA-55875288-1\",\"auto\"),ga(\"send\",\"pageview\")); "

Related Articles

Zapier FrontRunner Order Desk Salesforce NPSP Trail Blazer