Skip to content

n8n

n8n runs on your own server or on n8n cloud. Nextforms connects to it with a team API key rather than a sign-in, so nothing depends on a callback URL Nextforms can reach. The connection is a workflow step, Send to app, so you decide where in the flow a response goes to n8n. Every delivery shows in the workflow’s runs. It’s available on every plan.

Nextforms is a verified n8n node: in the node picker, search for Nextforms and install it, on n8n cloud and self-hosted alike. On self-hosted n8n you can also install n8n-nodes-nextforms under Settings → Community nodes.

In Nextforms, under Settings → Connected apps, create a key with forms:read, responses:read and hooks:manage. Copy it: it’s shown once. In n8n, add a Nextforms API credential and paste the key. The key belongs to the team, so the n8n workflow keeps running when the person who made it leaves; any editor can revoke it.

Add a Nextforms Trigger node, pick the credential and the form, and activate the workflow. Every new response now starts it.

Activating adds a workflow to the form in Nextforms, named “n8n: your workflow’s name”: Form submitted, then a Send to app step. To send only some responses, move the step after an approval or onto one branch. Give each step an event name when one n8n workflow should tell them apart; it arrives as workflow.event. Deactivating removes that workflow, unless you changed or renamed it; then it stays, and activating the same n8n workflow again picks it back up (even if you renamed it in n8n), live at once unless its workflow has unpublished edits.

The Nextforms node reads what the key may: List Forms, Get Fields (a form’s questions, with their ids and labels) and Get Responses (the newest, up to 100). Answers are keyed by question id, with a label and a readable display; see API for the shape.

The Nextforms Trigger attaches every uploaded file as binary data, file_1, file_2 and so on in form order, so the next node (Google Drive, Dropbox, an email attachment) takes the file directly. Turn off Download Files on the trigger if a workflow doesn’t need them.

To get a file later, for example from an older response, use Download File on the Nextforms node: it takes the response’s id and a file’s id (each answer’s files lists them) and returns the file as binary data. The download links in files stop working after a few minutes; the attached files and Download File don’t depend on them.

  • No workflow appeared in Nextforms: the n8n workflow isn’t active, or its trigger is set to another form.
  • A run failed with “The app did not take the response”: n8n answered 404, 401 or 403: its webhook is gone or the workflow is inactive. The run fails rather than waiting, and the team’s owners get an email. Activate the workflow again, then use Retry on the runs. If it answers like this for 3 days, it is disconnected as if it had been deactivated; activating the n8n workflow again brings the step back.
  • The credential test fails: the key was revoked, or it lacks a scope. Create a new one.
  • You revoked the key: what the n8n workflows set up in Nextforms is removed, with the workflows made for them. A workflow you changed stays, and its Send to app step says the app was disconnected. Create a new key, enter it in the n8n credential, and switch the n8n workflow off and on (or restart n8n): it registers again, and steps that sent to it follow it. A step that still says it was disconnected needs the n8n workflow picked again. Responses that failed meanwhile can still go: Retry them and choose Use the latest published version.
  • Self-hosted n8n behind a private address: Nextforms can only deliver to a public https URL. Set n8n’s WEBHOOK_URL to the public address. If that address changes, deactivate and activate each workflow so it registers the new one; its steps follow it by the workflow’s name.