Formstep

Approval form template for clients

An approval form records a yes, a no or a request for changes from someone outside your team, with no login. You get a clear outcome back, and a signature when they approve.

Updated

Use this template

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

The Your Approval form under a photo of a person signing a paper, with name and company questions and a decision with approve, decline and request changes
What the recipient sees. Swap the photo and logo for your own.

What it asks

QuestionField key
Your Namefull_name
Companycompany_name
Your Decision (approve, decline or changes)decision
What should change? (shown when they request changes)requested_changes
Signature (shown when they approve)signature

What each answer does

The form changes with the decision. Choosing Request changes shows a question asking what should change, and choosing Approve asks for a signature. The answer to decision becomes the request’s outcome, so what happens next never depends on reading free text.

How to use it

  1. Select Use this template. It is the same form the demo starts from.
  2. Publish it, and create a request with the approver’s name filled in and locked. Set the hidden reference field to your quote or contract number.
  3. Attach the document to review by adding a Documents question.
  4. In Zapier, Request Completed starts a Zap with the outcome. In n8n, Wait for the Outcome resumes the same run.

To replace Approval by Zapier with this form, follow the two-Zap walkthrough.

What to change

  • The words, not the keys. Reword “Approve” as “Accept the offer” or “Sign off” and translate the labels; the option keys stay approve, decline and changes, so nothing downstream changes.
  • What they decide on. Add a Documents question and attach the quote or contract per request, or describe it in the form text, where the hidden reference can be shown by name. A hidden number field carries an amount the same way.
  • The signature. It appears only on approve. Drop it when a click is enough, or show it on every outcome if your process needs a signed decline too.
  • Who they are. full_name and company_name are prefilled and locked in the example below. Drop them for approvers you do not know in advance.

Send it from a workflow

The approver’s name and company come from your CRM, the document from your file store. Lock what identifies them, put your quote number in reference, and attach what they are deciding on.

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

The callback’s data.request.outcome is approve, decline or changes, next to status, so a Switch node or a Paths step branches without reading any text. On changes, answers.requested_changes says what; on approve, the signature is in the answers too. No answer by the expiry sends request.expired instead, which is a fourth branch worth handling.

When another template fits

More templates

Questions about this template

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

Read the docs

Create a request from this form, attach what they should review as a document or a link, and send it. They choose approve, decline or request changes, and the request records the outcome.

No. They open a link and answer on any device. That is the difference from approval buttons in Slack, which suit colleagues.

Yes. The Decision question sets the request’s outcome to approve, decline or changes, so a Filter, Paths or Switch step can branch on it. See the decisions guide in the docs.

Who is deciding, what they are deciding on, a clear approve, decline or changes choice, and a signature if you need one. This template asks what should change only when they request changes.

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