ISPolitical is a web-based fundraising solution used for fundraising and compliance management for political campaigns and events.
Connect Anedot to ISPolitical
To connect Anedot to ISPolitical, follow the steps below:
Access the Settings>Integrations>Directory tab within your fundraising account.
Click the blue + New Connection button in the upper right corner of the Directory.
Select ISPolitical from the Directory list.
Select the Action Pages you would like synced with ISPolitical. The default is All Pages.
To exclude pages, enter a comma-separated list of the Action Page IDs
Optionally, you can scope the integration to only send team-specific data to ISPolitical.
Enter your ISPolitical Account Name.
Your ISP Account Name can be found in the ISP Portal.
Do not include "ISP" when entering the Account Name.
Click the blue Save button to complete the connection!
Data Relays
Action Pages
Anedot only sends data from Donation Pages. Lead Page data cannot be passed at this time.
If there are 5 failed relay attempts in a row, the connection is marked as Inactive and no longer attempts relays.
Submissions can be found under the Pending Imports within ISP.
When records are available to import, you will have an Import block available on your Dashboard within ISP. If the Import block is not shown, this indicates that no records are available to import. See the image below.
By clicking the 'Click to Process' button within the Import block, you will be redirected to a new screen called Pending Imports Matches. Here you will find pending imports and potential matches with already existing records in your database. See the image below.
If you are experiencing loading delays within ISP, you can access your records within the Reports>Fundraising/Analysis tab and filter by a date range. See the image below.
ISP Data Entry Workflow
Data Entry Page Prerequisites
You should not run into any issues out of the ordinary at this point, but we have had some instances where accounts (typically transitioning from Campaigns to Action Pages) did not have all the necessary configuration completed.
The usual culprits for failure are one or more of the following:
Default Action Page Design Configuration
Default Action Page Amount Configuration*
Default Action Page Fund Configuration
Default Action Page Payment Configuration
Default Donation Action Page Field Configuration*
Default Action Page Upgrade Configuration
Default Donation Action Page Confirmation Configuration
Default Action Page General Configuration
The errors now being surfaced by the integration should indicate which configurations need to be set. The configurations may already exist, but the account must have one of each flagged (not just named) as default
. These default configurations are used to create the ISP page.
โ
*There are only 2 ISP page-specific presets at this time: Amount and Field presets (labeled ISP Data Entry
). This is due to certain requirements around how the integration works (e.g. ISP requires certain custom fields and their own transaction limits outside of the account's other presets). The rest of the page areas use the corresponding Default
preset for that area (which is why not having a default preset prevents the integration from being created).
Setup In Anedot
When you create a new ISP connection, Anedot creates a hidden campaign called "ISP Data Entry" that allows users to navigate to this link: < env >.com/isp/donations/new?account_uid=< account-uid >.
Integration page setup doesn't matter - manual entry exists outside of that.
This form requires email OR phone regardless if the account is pro-enabled or not.
Since phone number is not required, when it's not supplied we don't send it (the submission will have a fake phone number associated with it (
000-000-0000
) but we have logic to bypass relaying this phone number to ISP).Increased verified limit is automatically enabled (manual bank donations accepted up to $30,000) (regardless of account settings).
From there, you will see a donation form (stripped down VT) with the ability to enter donations on behalf of any user.
The following URL params are supported (work like our other URL params):
email
phone
title
first_name
middle_name
last_name
suffix
address OR line_1
unit OR apt OR line_2
city
state (should be 2 digit code, e.g. "LA")
zip
country (should be 2 digit code, e.g. "US")
amount
employer_name
occupation
Setup in ISP
Search for your desired contact.
On the contact's details page, go to the "Add" menu at the bottom of the page.
You will then see a new option called "Enter Credit Card (Anedot)" (this name may change but this is what we have from them currently).
Selecting this option will take you to the ISP Data Entry page with contact details filled in via URL params.
Field Mapping
Relays Fields:
The Anedot Fields match the Submission's Raw Data and the ISPolitical Fields match the Request Body relay.
Anedot Field | ISPolitical Field |
address {city} | City |
address {line1} | Line1 |
"Received via Anedot [origin]" | Notes |
address {region} | State |
Emails {EmailAddress} | |
- | Phones { |
actionPageName | Source |
employerName | Company |
address {postalCode} | ZipCode |
employerName | Employer |
lastName | LastName |
firstName | FirstName |
middleName | MiddleName |
prefix | NamePrefix |
suffix | NameSuffix |
occupation | Occupation |
"Work" | AddressType |
- | Transactions { |
sourceCode | BudgetCategory |
**URL Parameters listed in the ISP Data Entry Workflow can be added as well.
Example Payloads
Request Headers
{}
Request Body
{
"City": "",
"Line1": "",
"Notes": "Received via Anedot Hosted",
"State": "",
"Emails": [{
"EmailAddress": "[email protected]"
}],
"Phones": [{
"PhoneType": "Mobile",
"PhoneNumber": "2252501301"
}],
"Source": "Feed the Children - March Gala",
"Company": "",
"ZipCode": "",
"Employer": "",
"LastName": "Dote",
"FirstName": "Annie",
"MiddleName": "",
"NamePrefix": "",
"NameSuffix": "",
"Occupation": "",
"AddressType": "Work",
"Transactions": [{
"City": "New Orleans",
"Date": "2023-05-11",
"Line1": "1340 Poydras St",
"Line2": null,
"State": "LA",
"Amount": 50.0,
"ZipCode": "70112",
"AddressType": "Home",
"NoteForInternal": "FundId:5181b4d8-6075-4c69-8fe7-64d921a86639,FundName:General Fund,InternalIdentifier:1001",
"UniqueIdentifier": "731732b4-fa3f-4fd6-bbef-3dfe69ed1442"
}],
"BudgetCategory": ""
}
Response Body (Donation - Success)
{
"id": 123456,
"result": true,
"success": true,
"responseText": null
}
Response Body (Donation - Failure)
{
"id": 0,
"result": false,
"success": false,
"responseText": "You have provided invalid credentials or do not have access to this account. Please contact technical support."
}
Response Body (Lead)
{}
Response Status (Donation - Success)
201
Response Status (Donation - Failure)
201
Response Status (Lead)
null