Skip to content

Webhook step

A Webhook step sends each response to a URL you choose, as a JSON POST. Use it for your own systems. For Zapier, Make or n8n, use a Send to app step instead (see Zapier).

Add a Webhook connection with:

  • Endpoint URL: where to send it. It must be a public https address.
  • Signing secret (optional): generate one and give the same value to your endpoint.

Under Body, choose:

  • Fields you choose: a flat JSON object of the keys and values you add, like email → the Email answer, or source → website. Values can be answers, details of the response (see Answers in steps) or fixed text.
  • The full response: every answer with its label and type, the files, the payment, plus details of the run. It’s the same shape the API returns, with a workflow object added: the run and step ids, an Event name you can set (sent as workflow.event), and the outcome and comment of an approval earlier in the run.

With a signing secret, each request carries an X-Nextforms-Signature header: sha256= followed by the HMAC-SHA256 of the raw request body, keyed with the secret, in lowercase hex. Compute the same on your side and compare before trusting the request.

  • A 408, 502, 503 or 504 answer, a timeout or a connection error is retried up to 3 times; a 429 up to 10 times, honouring Retry-After.
  • A 401 or 403 pauses the connection: you get an email, and runs wait on the step until it’s fixed.
  • Any other error status fails the step, and the run shows what your endpoint answered.

Redirects aren’t followed. See Runs and fixing failures to retry a failed run.