Formstep

Client intake and onboarding form template

A client intake form collects what you need from a new client before work starts. This one asks for contact and billing details, your terms and a signature, with what you already know filled in.

Updated

Use this template

Opens in the editor. No account needed to try it.

The Welcome Aboard client onboarding form under a photo of two people shaking hands, with full name, email and phone questions
What the recipient sees. Swap the photo and logo for your own.

What it asks

QuestionField key
Full Namefull_name
Email Addressemail
Phone Numberphone
Companycompany_name
Billing Addressbilling_address
I agree to the terms of serviceterms_accepted
Signaturesignature

What the customer ID does

The form has a hidden field, customer_id, that shows in the welcome text. Your caller sets it on the request, the client cannot change it, and it comes back with the answers. That is how the answers find their way to the right record in your CRM.

How to use it

  1. Select Use this template, then add your logo, colors and the questions your service needs.
  2. Publish it, and create a request with the client’s name, email and company filled in. They only correct what is wrong.
  3. Send the link yourself, or on Pro let Formstep email it and remind them until they finish.
  4. A new deal in your CRM can start the same request from n8n, Zapier or an AI agent.

With HubSpot, a request can be prefilled from a contact, and the answers update that contact. To send it automatically to everyone who leaves an email on your site, import the Zapier or n8n workflow template.

What to change

  • Billing. billing_address is one multiline question. Split it into street, city and country if your invoicing tool wants separate fields, each with its own key.
  • Your terms. Put them in the form text above terms_accepted, or add a Documents question with the PDF attached, so the client reads the real document before the switch and the signature.
  • The work itself. Add what you need to start: a dropdown for the service, a date for the kickoff, a file upload for brand assets. Questions only some clients should see can sit behind a logic rule.
  • Keys. Your CRM mapping reads the keys, not the titles, so rename questions freely once the form is published.

Send it from a workflow

A closed deal in your CRM has the client’s name, email and company. Send those in as prefill, lock the email so the answers stay with the right contact, and put your record id in customer_id.

{
  "method": "requests.create",
  "params": {
    "formId": "j57...",
    "recipient": { "email": "ada@acme.example", "name": "Ada Lovelace" },
    "context": { "customer_id": "C-2041" },
    "prefill": { "full_name": "Ada Lovelace", "email": "ada@acme.example", "company_name": "Acme Ltd" },
    "readonly": ["email"],
    "delivery": "email",
    "externalId": "deal-2041",
    "callbackUrl": "https://automation.example/webhook/deal-2041"
  }
}

The callback returns context.customer_id unchanged and the answers under their keys: billing_address, phone, terms_accepted: true and the signature. The n8n and Zapier steps take the same fields, and the HubSpot integration writes mapped answers back to the contact without a workflow at all.

Clients abroad can answer in their own language, because one form can run in up to 65.

When another template fits

  • Vendor onboarding is the mirror image: a supplier’s tax and bank details before you pay them.
  • Document collection when you only need files from a client you already have on record.
  • Approval when a client has to sign off on a proposal or a scope, not fill in details.
  • Payment request to take a deposit before the work starts.

More templates

Questions about this template

Something else on your mind? The docs cover every setting, and we answer email.

Read the docs

It is the first thing a new client fills in after saying yes. It collects the contact and billing details you need to start working, and records that they accepted your terms.

Edit the text in the form, or add a Documents question with your terms attached so the client reads them before signing. A request can also carry its own documents.

Yes. Each client or brand can have its own workspace, with its own forms and answers. Team members and workspaces are unlimited on every plan.

Contact details, the company and billing address, what the client needs from you, and a signed acceptance of your terms. Add questions about their project, and file uploads for anything you need before you start.

Intake collects what you need to know before you start, and onboarding is the process of starting the work. One form can do both, which is how this template is built.

Collect information from anyone.

Publish a sample form, answer it as your recipient would, and watch the answers come back. No account needed.

Read the docs