Automation

Ballot Signal + Slack

Live Webhook Nonpartisan Incoming webhook URL

What is Slack?

Puts a warm supporter in front of a human in seconds — the difference between a record and a phone call.

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 + Slack integration works

Not a data destination — an attention destination. Ballot Signal posts a formatted alert when a supporter matching your rules is identified: name, the page that produced the signal, and giving history if a fundraising integration has enriched the record. Deliberately minimal: alerts should carry enough to act on and no more, because Slack is not a compliant place to store supporter data.

What syncs

  • Real-time supporter alerts

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 field mapping
Supporter record Payload Notes
firstName, lastName JSON payload or CSV row Left empty rather than guessed when resolution is not confident.
email 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. 1

    Create an incoming webhook in your Slack workspace and copy the URL.

  2. 2

    In Ballot Signal, add Slack as a destination and paste the URL.

  3. 3

    Choose the alert rule — for example, only supporters who viewed the donate page twice.

  4. 4

    Pick which fields appear in the alert.

  5. 5

    Send a test alert and confirm the channel is a private one appropriate for supporter names.

Why it matters

Puts a warm supporter in front of a human in seconds — the difference between a record and a phone call.

Ballot Signal + Slack: questions

Is the Slack integration available today?

Live. Built, tested and available to every customer today. You can turn this on yourself without talking to us.

What authentication does the Slack integration use?

Incoming webhook URL. Credentials are stored encrypted and are never rendered back into the interface after entry.

Will this create duplicate records in Slack?

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 Slack?

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.