Every WinRed donation.
A contact you can text.
Create a WinRed list, paste one webhook into WinRed, and every donation and lead lands as a contact in real time. Upserted by phone number. SMS opt-in enforced by default.
Donor exports go stale the day you pull them.
Export, clean, import, repeat. Refunds linger, opt-outs slip through, and the list you text is always last week’s list.
A weekly chore with a decay curve.
- 1Export from WinRed
- 2Clean the file
- 3Import the list
- 4Repeat next week
Every day between pulls, the list drifts further from reality.
One webhook. Zero maintenance.
- 1WinRed webhook fires
- 2Contact, ready to text
Refunds removed by rule. Opt-in gated by default. The list you text is the list as it exists right now.
Three steps. One paste.
No CSV mapping. No sync jobs to babysit. The whole setup is a copy and a paste.
Create the list.
Contact Management, New WinRed List. Political Comms mints a dedicated endpoint URL and a shared secret for that list. The secret shows once and can be rotated later.
https://…/webhooks/winred/…
Paste into WinRed.
Utilities, Integrations, Add Integration, Webhook. The endpoint URL goes in the URL field. The secret goes in a custom header. Enable donation and lead webhooks.
X-Webhook-Token: ••••••••
Donors flow in.
Every donation and lead upserts a contact by phone number the moment it happens. A wrong token fails loudly in WinRed’s screen, not silently in ours.
charge_created · lead_created
Set the rules once. Every event obeys them.
Each WinRed list carries its own settings panel. The webhook does the rest.
Opt-in enforced by default
Only donors and leads who opted into SMS on WinRed are added. The gate ships on. Turning it off is a choice you make, not a default you inherit.
Refunds handled by rule
Turn on Remove on refund and a refunded donation or a lost dispute takes the contact off the list. A later donation brings them back.
Retention on your terms
Keep contacts forever, or run a rolling 30, 60, 90, or custom-day window since their last donation or lead. A new donation restarts the clock and reactivates removed contacts. A nightly sweep enforces it.
Brand, if you want it
Attach the list to one of your brands or leave it unassigned. Donor fields like name, address, and amounts land as custom fields and work as merge tags in your messages.
WINRED LIST SETTINGS
Retention
Nightly sweep. A new donation or lead restarts the window and reactivates removed contacts.
Built for how webhooks actually behave.
Retries, refunds, renamed fields, misconfigured tokens. The pipeline absorbs all of it and hands you a clean list.
01 / INGESTION
Real time, deduplicated.
Donations and leads land as contacts the moment WinRed sends them, matched by phone number. WinRed retries deliveries; each event counts once. Conduit and subscription variants are handled.
02 / CONSENT
Opt-in gated at the door.
With the default gate on, only donors and leads who opted into SMS on WinRed enter the list. Compliance is a setting that ships on, not a cleanup job that comes later.
03 / HYGIENE
Refunds and retention, by rule.
A refunded donation or a lost dispute can remove the contact automatically. Rolling retention drops contacts a set number of days after their last donation or lead. The list maintains itself.
04 / PERSONALIZATION
Donor fields become merge tags.
Name, address, amounts, and the rest of the payload land as custom fields on the contact. Reference them as merge tags in any message the list receives.
Every WinRed list shows a badge, live delivery stats, and its settings panel on the list details page. A wrong token errors in WinRed’s screen the moment it happens, never as a silent drop.
Answered before you have to.
This is the defining platform. See how it's measured.
Every message delivered. At a known cost. On demand. At any scale.
