1 min readUpdated
Open a form's Settings → Connections and choose Webhook. Paste the address that should receive each response. Zapier's “Catch Hook” trigger and Make's “Custom webhook” module both give you one.
What arrives
A POST with the form, the respondent, every answer with its question and key, the calculations and any payment. A file upload or voice recording also carries a fileUrl to download it from. The Formkit-Event header says response.created, response.updated (the person changed a response they had sent), response.paid, response.deleted (you deleted it; only its id is sent) or response.test. Under each connection, pick which of these it is sent.
Checking the signature
When you add a webhook you are shown its secret once. New secret makes another, and the old one stops matching at once. Each delivery carries Formkit-Signature: t=…,v1=…, an HMAC-SHA256 of the timestamp and the body. The API page has code for checking it.
When a delivery fails
Formkit tries again after a minute, then after ten. Recent deliveries, and what the other end answered, are listed under the connection, and Send again resends one. Send a test to set things up before real answers arrive.
Discord and Microsoft Teams
Like Slack, each new response can post a short message to a Discord channel (Integrations → Webhooks) or a Teams channel (the “Post to a channel when a webhook request is received” workflow).