Every poll vote, form submit, or purchase fires a signed webhook the moment it happens — point it at Zapier's generic Webhooks trigger and every interaction lands in your CRM, spreadsheet, or Slack channel with no code.
MailInApp doesn't have an official Zapier app, and doesn't need one: the project webhook is already plain, signed JSON over HTTPS — exactly what Zapier's Webhooks by Zapier trigger (or Make, n8n, Pipedream, or anything else that catches an inbound webhook) expects.
Enable it once per project
On the Responses page, enter an HTTPS URL and click Enable. MailInApp shows a signing secret (whsec_…) once — keep it if you plan to verify signatures later.
Catch it, filter it, act on it
In Zapier, a Webhooks by Zapier → Catch Hook trigger receives every event. A Filter by Zapier step right after it narrows to what matters — event.action equals submit or purchase, a specific event.blockId, or lowScore is true for a manager-alerting Zap on bad CSAT/NPS responses.
Nothing's ever silently dropped
A dead Zap URL or a temporary outage counts as a failed delivery, retried automatically with backoff (roughly 1 minute, 5 minutes, 30 minutes, 2 hours, then 6 hours). The interaction itself is always stored in MailInApp first, so a missed delivery loses nothing — the Responses page is the source of truth, the webhook is the real-time signal.
It works both directions
A separate Webhooks by Zapier → POST step, as the last step of a different Zap ("ticket resolved," "deal closed"), can call your contact list's row-upsert endpoint to add or update a MailInApp contact automatically, keeping a send list current without a human re-exporting a CSV.
Getting started
Enable the webhook on your project's Responses page, catch it with a Webhooks by Zapier trigger, add a filter step for the events you care about, then wire up whichever action — Sheets, CRM, Slack — fits your workflow.