Automation
Ballot Signal + n8n
What is n8n?
Self-hostable, so supporter records never leave infrastructure you control — the answer for the most privacy-conservative organizations.
It sits in the Automation category of a campaign stack. The universal escape hatch — webhook, Zapier, CSV.
Who uses it
Nonpartisan. Used across both parties and by nonpartisan organizations.
How the Ballot Signal + n8n integration works
Point the Ballot Signal universal webhook at an n8n Webhook node. Because n8n can be self-hosted, this is the path for organizations that want supporter data to stay inside their own infrastructure end to end.
What syncs
- Supporter record (full)
- Consent events
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 | Payload | Notes |
|---|---|---|
| firstName, lastName | JSON payload or CSV row | Left empty rather than guessed when resolution is not confident. |
| JSON payload or CSV row — primary identifier | Primary match key. Lowercased before hashing. | |
| phone | JSON payload or CSV row — phone field | Present does not imply consent to be contacted on it. |
| addressLine1, city, state, zip | JSON payload or CSV row — address fields | Third dedupe fallback. |
| consentTimestamp | Included by default, every field | ISO 8601, UTC. |
| consentVersion | Included by default, every field | The language in force at the moment of consent. |
| consentSource | Included by default, every field | The exact page URL where consent was captured. |
| consentCategories | Included by default, every field | Normalized from your consent platform. |
| intentSignals | Payload attributes | Donate-page, volunteer-page, issue-page and any you define. |
| utmSource, utmMedium, utmCampaign, referrer | Included by default, every field 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
Add a Webhook node to an n8n workflow and copy the production URL.
- 2
In Ballot Signal, add a webhook destination pointing at it.
- 3
Add a Code node that verifies the HMAC signature before anything else runs.
- 4
Send a test event and confirm the signature check passes.
- 5
Build your downstream nodes and activate the workflow.
Why it matters
Self-hostable, so supporter records never leave infrastructure you control — the answer for the most privacy-conservative organizations.
Related integrations
All Automation →Universal webhook
The honest answer to 'do you integrate with X?' when X is not on this list — and the reason our coverage claim does not depend on a marketplace review queue.
CSV export
The exit door. A vendor who makes export hard is telling you something about the relationship — we make it a button.
Slack
Puts a warm supporter in front of a human in seconds — the difference between a record and a phone call.
Zapier
The fastest route to broad coverage: one app, thousands of destinations, without waiting on every vendor's roadmap.
Ballot Signal + n8n: questions
Is the n8n integration available today?
Via webhook. Not a native connector. This works today through our signed universal webhook, and someone on your side (or your consultant) wires up the endpoint. Full supporter record, full consent record, no UI.
What authentication does the n8n integration use?
Webhook (HMAC). Credentials are stored encrypted and are never rendered back into the interface after entry.
Will this create duplicate records in n8n?
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 n8n?
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.