# n8n

Start an n8n workflow for every form submission with a Webhook node, and verify that requests come from Nisuform.

n8n receives submissions through a [webhook](/docs/integrations/webhooks), which is available on Pro. From there your workflow can send them anywhere, including your own database or self-hosted tools.

## Connect n8n

1. Add a **Webhook** node with the HTTP method `POST` and copy its production URL.
2. In Nisuform, open the form's **Integrations** tab, choose **Webhook** and paste the URL.
3. Choose **Send test** while the workflow is listening.
4. Read the answers from `body.data.fields` in the next nodes.

## Verify the signature

To check that requests really come from Nisuform, add a Code node that verifies the `webhook-signature` header. See [Verify the signature](/docs/integrations/webhooks#verify-the-signature).

## Tips

* Every value in `data.fields` is a string. Convert numbers and dates in your automation if the next app needs them.
* Filter out tests with a condition on `data.test` being `false`.
* The same submission can arrive twice after a retry. Use `data.submissionId` as a unique key where your app supports one.
