Skip to main content
Version: 0.4.1

Partyline is a CRM software used by Political organizations to manage data.

Anedot will send financial page data to Partyline directly via donation_completed events. Non-financial page data and custom field data are not supported at this time.

Connect Anedot to Partyline

To connect Anedot to Partyline, follow the steps below:

  1. Access the Settings > Integrations > Directory tab within your fundraising account.

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

  3. Select Partyline from the Directory list.

  4. Select the Action Pages you would like synced with Partyline. 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 Partyline.
  5. Enter your Partyline API Key .

  6. Enter your Client Secret .

  7. Click Save to complete the connection!

    1. The integration endpoint (not shown) hits Partyline’s Anedot API ( https://platform.gulfpartyline.com/api/anedot ).

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


Data Relays

  • We only send relays for financial pages (only send webhook donation_completed events).

    • We do not send custom fields.
  • Push Unsent (failed donations, all donations) + date range for relays works for financial pages.


Field Mapping

Relay Fields

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

Anedot FieldPartyline Field
“donation_completed”event
(Donation) iduid
createdAtdate
(Donation object: includes anedot & vendor fee amounts)fees ( multiple fields )
“[firstName] [lastName]”name
emailemail
phonephone
titletitle
amount (x100)amount
origin (Donation)origin
status (Donation)status
suffixsuffix
address { postalCode city region line1 country line2 }address { zip city state street country street_2 }
comments (Donation)comments
employerNameemployer
lastNamelast_name
“true” or “false”recurring
createdAtcreated_at
“individual” or “organization”donor_type
firstNamefirst_name
occupationoccupation
* (optional field)referred_by
actionPageIdcampaign_uid
totalAmount (x100)event_amount
phonemobile_phone
organizationorganization
actionPageNamecampaign_name
middleName ( first letter only )middle_initial
id of the first(originating) donation on the commitment ( if recurring )originating_uid
actionPageNamecampaign_identifier
“di”api_method

*referred_by is a numeric value that maps as follows:

Numeric valuePartyline referred_by Value
0"Magazine"
1"TV"
2"Newspaper"
3"Radio"
4"Facebook"
5"Twitter"
6"Online Ad"
7"Word of mouth"
8"Other"

Payload Data

Request Headers

`{``}` 

Request Body

`{`  
"event": "donation_completed",
"payload": `{`
"uid": "dbd0ce1bb5544cd767ddd",
"date": "2023-05-11T14:37:13.580Z",
"fees": `{`
"anedot_fees": `{`
"amount": "2.30"
`}`,
"vendor_fees": []
`}`,
"name": "Annie Dot",
"email": "[[email protected]](/cdn-cgi/l/email-protection)",
"phone": "2255011234",
"title": null,
"amount": "$50.00",
"origin": "hosted",
"status": "completed",
"suffix": null,
"address": `{`
"zip": "70503",
"city": "Lafayette",
"state": "LA",
"street": "123 Test Road",
"country": "US",
"street_2": null
`}`,
"comments": null,
"employer": null,
"last_name": "Dot",
"recurring": false,
"created_at": "2023-05-11T14:37:13.548Z",
"donor_type": "individual",
"first_name": "Annie",
"occupation": null,
"referred_by": null,
"campaign_uid": "00c7b970-c269-4062-979e-b7aa939995fe",
"event_amount": "$50.00",
"mobile_phone": null,
"organization": null,
"campaign_name": "Feed the Children - March Gala",
"middle_initial": null,
"originating_uid": null,
"campaign_identifier": "Feed the Children - March Gala"
`}`,
"api_method": "di"
`}`

Response Body (Success)

"Anedot Transaction Imported Successfully" 

Response Body (Failure)

"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> \n<html xmlns=\"http://www.w3.org/1999/xhtml\"> \n<head> \n<title>IIS 10.0 Detailed Error - 404.0 - Not Found</title> \n<style type=\"text/css\"> \n<!-- \nbody`{`margin:0;font-size:.7em;font-family:Verdana,Arial,Helvetica,sans-serif;`}` \ncode`{`margin:0;color:#006600;font-size:1.1em;font-weight:bold;`}` \n.config_source code`{`font-size:.8em;color:#000000;`}` \npre`{`margin:0;font-size:1.4em;word-wrap:break-word;`}` \nul,ol`{`margin:10px 0 10px 5px;`}` \nul.first,ol.first`{`margin-top:5px;`}` \nfieldset`{`padding:0 15px 10px 15px;word-break:break-all;`}` \n.summary-container fieldset`{`padding-bottom:5px;margin-top:4px;`}` \nlegend.no-expand-all`{`padding:2px 15px 4px 10px;margin:0 0 0 -12px;`}` \nlegend`{`color:#333333;;margin:4px 0 8px -12px;_margin-top:0px; \nfont-weight:bold;font-size:1em;`}` \na:link,a:visited`{`color:#007EFF;font-weight:bold;`}` \na:hover`{`text-decoration:none;`}` \nh1`{`font-size:2.4em;margin:0;color:#FFF;`}` \nh2`{`font-size:1.7em;margin:0;color:#CC0000;`}` \nh3`{`font-size:1.4em;margin:10px 0 0 0;color:#CC0000;`}` \nh4`{`font-size:1.2em;margin:10px 0 5px 0; \n`}`#header`{`width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:\"trebuchet MS\",Verdana,sans-serif; \n color:#FFF;background-color:#5C87B2; \n`}`#content`{`margin:0 0 0 2%;position:relative;`}` \n.summary-container,.content-container`{`background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;`}` \n.content-container p`{`margin:0 0 10px 0; \n`}`#details-left`{`width:35%;float:left;margin-right:2%; \n`}`#details-right`{`width:63%;float:left;overflow:hidden; \n`}`#server_version`{`width:96%;_height:1px;min-height:1px;margin:0 0 5px 0;padding:11px 2% 8px 2%;color:#FFFFFF; \n background-color:#5A7FA5;border-bottom:1px solid #C1CFDD;border-top:1px solid #4A6C8E;font-weight:normal; \n font-size:1em;color:#FFF;text-align:right; \n`}`#server_version p`{`margin:5px 0;`}` \ntable`{`margin:4px 0 4px 0;width:100%;border:none;`}` \ntd,th`{`vertical-align:top;padding:3px 0;text-align:left;font-weight:normal;border:none;`}` \nth`{`width:30%;text-align:right;padding-right:2%;font-weight:bold;`}` \nthead th`{`background-color:#ebebeb;width:25%; \n`}`#details-right th`{`width:20%;`}` \ntable tr.alt td,table tr.alt th`{``}` \n.highlight-code`{`color:#CC0000;font-weight:bold;font-style:italic;`}` \n.clear`{`clear:both;`}` \n.preferred`{`padding:0 5px 2px 5px;font-weight:normal;background:#006633;color:#FFF;font-size:.8em;`}` \n--> \n</style> \n \n</head> \n<body> \n<div id=\"content\"> \n<div class=\"content-container\"> \n  <h3>HTTP Error 404.0 - Not Found</h3> \n  <h4>The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.</h4> \n</div> \n<div class=\"content-container\"> \n <fieldset><h4>Most likely causes:</h4> \n  <ul> \t<li>The directory or file specified does not exist on the Web server.</li> \t<li>The URL contains a typographical error.</li> \t<li>A custom filter or module, such as URLScan, restricts access to the file.</li> </ul> \n </fieldset> \n</div> \n<div class=\"content-container\"> \n <fieldset><h4>Things you can try:</h4> \n  <ul> \t<li>Create the content on the Web server.</li> \t<li>Review the browser URL.</li> \t<li>Create a tracing rule to track failed requests for this HTTP status code and see which module is calling SetStatus. For more information about creating a tracing rule for failed requests, click <a href=\"http://go.microsoft.com/fwlink/?LinkID=66439\">here</a>. </li> </ul> \n </fieldset> \n</div> \n \n<div class=\"content-container\"> \n <fieldset><h4>Detailed Error Information:</h4> \n  <div id=\"details-left\"> \n   <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> \n    <tr class=\"alt\"><th>Module</th><td>&nbsp;&nbsp;&nbsp;IIS Web Core</td></tr> \n    <tr><th>Notification</th><td>&nbsp;&nbsp;&nbsp;MapRequestHandler</td></tr> \n    <tr class=\"alt\"><th>Handler</th><td>&nbsp;&nbsp;&nbsp;ASPClassic</td></tr> \n    <tr><th>Error Code</th><td>&nbsp;&nbsp;&nbsp;0x80070002</td></tr> \n     \n   </table> \n  </div> \n  <div id=\"details-right\"> \n   <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> \n    <tr class=\"alt\"><th>Requested URL</th><td>&nbsp;&nbsp;&nbsp;https://platform.gulfpartyline.com:443/core/webhooks/api/anedot/adf/sdf.asp</td></tr> \n    <tr><th>Physical Path</th><td>&nbsp;&nbsp;&nbsp;D:\\PLATFORM\\core\\webhooks\\api\\anedot\\adf\\sdf.asp</td></tr> \n    <tr class=\"alt\"><th>Logon Method</th><td>&nbsp;&nbsp;&nbsp;Anonymous</td></tr> \n    <tr><th>Logon User</th><td>&nbsp;&nbsp;&nbsp;Anonymous</td></tr> \n     \n   </table> \n   <div class=\"clear\"></div> \n  </div> \n </fieldset> \n</div> \n \n<div class=\"content-container\"> \n <fieldset><h4>More Information:</h4> \n  This error means that the file or directory does not exist on the server. Create the file or directory and try the request again. \n  <p><a href=\"https://go.microsoft.com/fwlink/?LinkID=62293&amp;IIS70Error=404,0,0x80070002,17763\">View more information &raquo;</a></p> \n   \n </fieldset> \n</div> \n</div> \n</body> \n</html> \n"

Response Status (Success)

200 

Response Status (Failure)

400 

Related Articles

Crimson and Julep by CMDI DonorPerfect Mapp Empower (Paramount, BlueHornet, Vervemail) Sendy