Skip to content

Delivery — webhooks, email, Slack

A destination fires on each submission.

Set a webhook URL and each submission is POSTed as JSON.

If you set a signing secret, the request carries an HMAC of the body:

x-freezeforms-signature: sha256=<hex>

Recompute HMAC-SHA256 of the raw body with your secret and compare. Reject anything that does not match — that check is the entire point of the secret. Compare with a constant-time function, not ==.

Email notifies a recipient that a submission arrived.

Posts a notification to a Slack channel.