formbase is now Formstep. Old formbase.so links still work.

Formstep

Why not just use a form builder?

A form builder is made for many anonymous people. A workflow that needs one customer to confirm their details hits six gaps. Here is each one, and the fix.

It is the first question I get when I show Formstep to someone who builds automations, and it is a fair one. You already pay for a form builder. It has a webhook. Why not send the customer a form link and catch the submission?

For a lot of jobs, you should. A form builder is made for a link that many people open: a survey, a sign-up, a lead form, an event registration. Nobody in particular has to answer, and anyone may.

A workflow asking a customer is the opposite case. One known person has to confirm, correct or approve one record, and a run is waiting for them. Here is where the form-link setup starts to leak, and what a Formstep request does instead.

A form link is the same for everyone. To tie an answer to a record, you add the record’s id to the URL as a hidden field and look it up when the webhook arrives. Anyone with the link can submit, as often as they like, and a forwarded link answers for the wrong record.

A request is addressed to one recipient. Its link opens as often as they need, from any device, and accepts exactly one completion.

2. Prefill travels in the URL

Tally and Typeform, for example, take prefilled values from URL parameters. That works, but a URL gets copied, forwarded, logged and previewed, and now a customer’s IBAN or home address is part of it.

A request keeps its prefill on the server. You send it once with the API call, and the link the customer gets carries a token, not their data.

3. A prefilled value can be changed

When a value comes from the URL, whoever holds the link can change it, before the form loads or after. Some builders add read-only fields or stored prefill links, and that closes part of the gap.

In a request, you lock the fields that must not change, per request. The customer sees the company name you have on file and cannot edit it. Values the customer should see but never change, like a case number or an amount, go in as request context: the form can mention them, and they come back in the callback untouched.

4. Nobody chases the customer

A link that does not know who it is for cannot remind the person who has not opened it. So you build the chasing yourself: a status column, a delay step per customer, and a lookup to find the row when the answer arrives. It breaks when a row moves.

A form in Formstep carries a reminder schedule, like one day idle, then three days, then a week. On Pro and Business, Formstep emails the recipient on that schedule and stops once the request ends.

5. Nothing ends

A form link stays open until you close the form. If the customer never answers, the run waits forever, or you add a timer and decide what “never” means in every workflow.

A request expires, after 30 days unless you set another date. Every request ends exactly once, as completed, expired or canceled, and the caller hears about each one: request.completed, request.expired or request.canceled.

6. The answer does not come back to the run

A form’s webhook fires for every submission to that form. The workflow that sent the link has moved on, so a second workflow receives the submission, works out which record it belongs to, and restarts the process from there. The payload names each answer by its label or a generated id, unless your builder lets you set your own. A label breaks when someone rewords or translates the question. A generated id says nothing.

A request calls back the URL the caller passed when it created it, such as the resume URL of an n8n Wait node. The signed callback carries your External ID and, when the form has a Decision question, the outcome: approve, decline or changes. Every answer is keyed by a field key you chose, frozen at first publish. The same run carries on.

When a form builder is the right tool

If the form is for anyone, like a survey, a newsletter sign-up or a waitlist, a form builder is the right tool. Nobody needs chasing, nothing is prefilled, and no run is waiting. Formstep is one too: every published form also gets a share link that any number of people can answer, with the same logic, translations and integrations. The form you send one customer as a request can sit on your website as a public form, and you don’t need a second tool.

Reach for a request when the person is outside your company, you already know part of the answer, and the workflow has to carry on once they confirm it. The n8n walkthrough shows the whole pattern in four nodes, and the integrations page covers Zapier, MCP and the REST API.

Start free

Give your workflow a customer step.

Publish a sample form, answer it on your phone as the customer, and watch the callback arrive. No account needed.