Install the Formstep node in n8n
Formstep for n8n is a community node, published on npm as n8n-nodes-formstep. Install it on a self-hosted n8n and set the address Formstep uses to reach your workflows.
Last checked
The setup guides were checked on self-hosted n8n 2.40 in Docker with version 0.11.1 of the node, and the examples on n8n 2.44 with version 0.13.0.
Before you start
- n8n 2.30 or later. The Formstep credential needs it.
- A Formstep account. Everything in these guides works on the Free plan except email invitations, reminders and unfinished drafts, which need Pro or Business. See Limits and quotas.
Self-hosted n8n
A self-hosted n8n needs two things before it can install the node:
- The owner account or an admin account. Only the owner and admins can install community nodes.
A public HTTPS address, from a reverse proxy or a tunnel. Formstep sends events and request callbacks only to
https://URLs on the public internet. An n8n that is reachable only onlocalhostcan connect but never receives anything.
1. Tell n8n its public address
n8n builds the URLs it hands to Formstep from its own settings, not from the address in your browser. Set these environment variables on the n8n container or process:
WEBHOOK_URL: the public HTTPS address, with a trailing slash, likehttps://n8n.example.com/. n8n builds the URL of a published trigger and the resume URL of Wait for the Outcome from it.N8N_EDITOR_BASE_URL: the same address. n8n builds a trigger’s test URL for Execute step from it, and the OAuth Redirect URL of the Formstep credential.N8N_PROXY_HOPS: set it to1when n8n runs behind one reverse proxy or tunnel, so n8n reads the proxy’s forwarded headers.
With Docker, that looks like this:
docker run -d --name n8n -p 5678:5678 \
-e WEBHOOK_URL=https://n8n.example.com/ \
-e N8N_EDITOR_BASE_URL=https://n8n.example.com/ \
-e N8N_PROXY_HOPS=1 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8nWith docker compose or an npm install, set the same variables in n8n’s environment. Point your proxy or tunnel at port 5678,
pass /webhook/, /webhook-test/ and /webhook-waiting/ through unchanged, and open n8n through the
public address from then on.
Formstep sends events to HTTPS addresses only
Formstep refuses to send events to an http:// URL or a private network address, and the Formstep nodes say so before they
try, with the URL n8n handed out. If a trigger shows this on Execute step, N8N_EDITOR_BASE_URL is not set;
on Publish, or on a Create request node with Wait for the Outcome, WEBHOOK_URL is not.
Set that variable, restart n8n, and try again. If you change WEBHOOK_URL later, unpublish and publish each Formstep
workflow again so its trigger registers the new address. With version 0.12 of the node or older, the same problem reads
VALIDATION_ERROR: targetUrl must use https.
2. Install the community node
Open Settings › Community nodes and click Install. Type n8n-nodes-formstep
under npm Package Name, tick the box that says you understand the risks of installing unverified code, and click
Install.
After a few seconds the package appears in the list with its two nodes:
Update or uninstall the package from the same list. If Community nodes is missing from Settings, your n8n was started
with N8N_COMMUNITY_PACKAGES_ENABLED=false; remove that setting.
n8n Cloud
Not available on n8n Cloud yet
n8n Cloud installs only community nodes that n8n has verified, and the Formstep node is not verified yet. Until it is, use a self-hosted n8n, or call the REST API from an HTTP Request node. A Cloud instance already has a public HTTPS address, so once the node is available there, only the install steps change.
Check the node
Open a workflow, click + and search for Formstep. The node details show six actions and six triggers:
Formstep Trigger starts a workflow on a public link submission that is created, updated or abandoned, or on a request that is completed, expires or is canceled.
Formstep creates a request, gets one or many, reminds the recipient, cancels a request, and replays its callback.