CRM & voter contact
Ballot Signal + Salesforce
What is Salesforce?
The enterprise floor for large PACs, advocacy organizations and party committees with real IT governance.
It sits in the CRM & voter contact category of a campaign stack. Your campaign's system of record — where every supporter eventually lands.
Who uses it
Nonpartisan. Used across both parties and by nonpartisan organizations.
How the Ballot Signal + Salesforce integration works
Today the supporter record reaches Salesforce through Zapier or the universal webhook, mapping to Contact or Lead with consent fields written to custom fields on the same object, and optional CampaignMember creation to attribute the supporter to a specific campaign. A native AppExchange listing would add packaged custom fields and a managed setup flow — that work is gated behind Salesforce's security review, which costs $999 per submission attempt for paid apps, takes roughly six to nine weeks for a first pass plus two to three weeks per resubmission, and which about half of first-time submissions fail. ISVforce partners also pay a 15% revenue share. We will label this native when it is native.
What syncs
- Contact
- Lead
- Campaign
- CampaignMember
Field mapping
The supporter record is the same shape everywhere. What changes is where each field lands. The full record is documented on what you get.
| Supporter record | CRM object | Notes |
|---|---|---|
| firstName, lastName | Person / contact record | Left empty rather than guessed when resolution is not confident. |
| Person / contact record — primary identifier | Primary match key. Lowercased before hashing. | |
| phone | Person / contact record — phone field | Present does not imply consent to be contacted on it. |
| addressLine1, city, state, zip | Person / contact record — address fields | Third dedupe fallback. |
| consentTimestamp | Custom fields or survey responses | ISO 8601, UTC. |
| consentVersion | Custom fields or survey responses | The language in force at the moment of consent. |
| consentSource | Custom fields or survey responses | The exact page URL where consent was captured. |
| consentCategories | Custom fields or survey responses | Normalized from your consent platform. |
| intentSignals | Tags or activist codes | Donate-page, volunteer-page, issue-page and any you define. |
| utmSource, utmMedium, utmCampaign, referrer | Custom fields or survey responses or source fields | Carried verbatim. |
| dedupeKey | Match key | Lowercased email hash. Match order: dedupeKey, then phone, then name + address. |
How to set it up
- 1
Create custom fields on Contact (or Lead) for consent timestamp, consent version, consent source URL and consent categories.
- 2
In Zapier, create a Zap with Ballot Signal as the trigger ('New identified supporter').
- 3
Choose the Salesforce action — Create Record or Find and Update Record — and map every supporter field, including the consent fields.
- 4
Add a Find Record step first if you want update-on-match rather than always-create.
- 5
Alternatively, point the Ballot Signal universal webhook at a Salesforce Apex REST endpoint if your org prefers no third-party middleware.
- 6
Test with a single record before turning the Zap on.
Why it matters
The enterprise floor for large PACs, advocacy organizations and party committees with real IT governance.
Related integrations
All CRM & voter contact →NationBuilder
All-in-one CRM and website builder — so it is both a destination for supporter records and a place the Ballot Signal tag itself gets installed.
HubSpot
The CRM most consultants and advocacy shops already run alongside a political database — often the reporting layer leadership actually looks at.
NGP VAN / EveryAction
The dominant Democratic and progressive campaign database — if your organizers live anywhere, they live here.
Campaign Sidekick
Widely used for field and canvassing on the Republican side, where the identified supporter needs to become a door on a walk list.
Ballot Signal + Salesforce: questions
Is the Salesforce integration available today?
Via Zapier. Not a native connector. This works today through our Zapier app, which means you will build and maintain a Zap and you may need a paid Zapier plan for the volume. It works — it is just not us doing the work.
What authentication does the Salesforce integration use?
OAuth2 (via Zapier) — native REST planned. Credentials are stored encrypted and are never rendered back into the interface after entry.
Will this create duplicate records in Salesforce?
No, assuming you leave deduplication on. We match on the lowercased-email hash first, then phone, then name plus address. On a match we update rather than create, and only the fields you have marked overwritable.
Does the consent record travel into Salesforce?
Yes. Consent timestamp, consent version, consent source URL and granted categories are included in every push, by default, and there is no configuration that strips them. That is the point of the product.
See what your own website already knows.
Book a 20-minute walkthrough. We will look at your site's current consent posture first — that part is useful whether or not you buy anything.