1import{j as e,S as n,g as o,T as s,s as t,L as i}from"./index-B1JCX_-d.js";import{L as r}from"./List-Bq6CPE7n.js";import{I as a}from"./IconPuzzle-D23OF60d.js";function h(){return e.jsxs(n,{gap:"lg",children:[e.jsx(o,{order:2,children:"How to Create a Multi-Step Approval Process in Google Forms"}),e.jsx(s,{size:"sm",c:"dimmed",children:"Morgan Hopkins, Customer Success Manager"}),e.jsx(s,{size:"sm",c:"dimmed",children:"Last Updated: Mar 9, 2026"}),e.jsx(s,{children:"Many business processes require more than one person to sign off. A purchase request might need a manager's approval before going to finance. A new hire onboarding form might need HR review followed by IT provisioning. Google Forms⢠is great at collecting the initial request, but it has no built-in concept of sequential approvals. Here's how to add multi-step approval workflows to any Google Form."}),e.jsx(o,{order:3,children:"Why Multi-Step Approvals Matter"}),e.jsx(s,{children:"Single-approver workflows are simple: someone submits a form, one person approves or rejects. But in reality, most organizations have processes that involve multiple stakeholders:"}),e.jsxs(r,{spacing:"sm",children:[e.jsxs(r.Item,{children:[e.jsx(s,{fw:600,span:!0,children:"Segregation of duties:"})," The person who approves a budget request shouldn't be the same person who processes the payment"]}),e.jsxs(r.Item,{children:[e.jsx(s,{fw:600,span:!0,children:"Escalation paths:"})," Low-value requests might only need a team lead, while high-value ones need a director"]}),e.jsxs(r.Item,{children:[e.jsx(s,{fw:600,span:!0,children:"Cross-department coordination:"})," An IT equipment request might need both a manager's approval and IT's confirmation of availability"]}),e.jsxs(r.Item,{children:[e.jsx(s,{fw:600,span:!0,children:"Compliance:"})," Audit trails that show each approver's decision and timestamp"]})]}),e.jsx(o,{order:3,children:"How Multi-Step Approvals Work with Form Approvals"}),e.jsx(s,{children:"The Form Approvals add-on supports sequential approval chains directly within Google Forms. Each step in the chain is processed in order â the second approver only receives their notification after the first approver has responded."}),e.jsx(o,{order:4,children:"Step 1: Design Your Form"}),e.jsx(s,{children:"Create your Google Form as you normally would. Include email address fields for each approver in the chain. For example, a purchase request form might include:"}),e.jsxs(r,{spacing:"xs",children:[e.jsx(r.Item,{children:"The request details (item, quantity, cost, justification)"}),e.jsx(r.Item,{children:`A "Manager's email" field for the first approver`}),e.jsx(r.Item,{children:`A "Finance approver's email" field for the second approver`})]}),e.jsxs(s,{children:["Make sure to enable ",e.jsx(s,{fw:600,span:!0,children:"Collect email addresses"})," in Settings > Responses so the original submitter is notified of the final outcome."]}),e.jsxs(s,{fs:"italic",px:"lg",py:"sm",style:{borderLeft:"3px solid var(--mantine-primary-color-5)"},children:["Want to skip form setup entirely? The"," ",e.jsx(t,{component:i,to:"/my-forms/builder/",children:"AI Form + Workflow Builder"})," ","can generate a complete form with multi-step approval routing â just describe your process."]}),e.jsx(o,{order:4,children:"Step 2: Install and Open Form Approvals"}),e.jsxs(s,{children:[e.jsx(t,{component:i,to:"/support/#installing-the-addon",rel:"noopener noreferrer",children:"Install the Form Approvals add-on"}),", then open it from the puzzle piece ",e.jsx(a,{size:16,style:{verticalAlign:"middle"}})," icon in your form."]}),e.jsx(o,{order:4,children:"Step 3: Add Multiple Recipients"}),e.jsx(s,{children:"In the Form Approvals sidebar, add each approver as a dynamic recipient in the order you want them to approve. The first recipient added will be the first person notified. Once they approve, the second recipient is automatically notified, and so on down the chain."}),e.jsx(s,{children:"You can also mix dynamic recipients (email addresses from form responses) with static recipients (fixed email addresses). For example, the first approver might be the submitter's manager (dynamic, from a form field), while the second approver is always the finance team (static, a fixed email)."}),e.jsx(o,{order:4,children:"Step 4: Configure the Workflow"}),e.jsx(s,{children:"Form Approvals gives you control over the workflow behavior:"}),e.jsxs(r,{spacing:"sm",children:[e.jsxs(r.Item,{children:[e.jsx(s,{fw:600,span:!0,children:"Sequential routing:"})," Each approver is notified only after the previous one has approved. If any approver rejects, the workflow stops and the submitter is notified of the rejection."]}),e.jsxs(r.Item,{children:[e.jsx(s,{fw:600,span:!0,children:"Automatic notifications:"})," The original submitter receives an email when the entire chain is complete, whether the request was approved or rejected."]}),e.jsxs(r.Item,{children:[e.jsx(s,{fw:600,span:!0,children:"Reminders:"})," Approvers who haven't responded can be sent reminders, keeping the process moving."]})]}),e.jsx(o,{order:4,children:"Step 5: Test the Workflow"}),e.jsx(s,{children:"Submit a test response to your form. You should see:"}),e.jsxs(r,{type:"ordered",spacing:"xs",children:[e.jsx(r.Item,{children:"The first approver receives an email with the form data and approve/reject buttons"}),e.jsx(r.Item,{children:"After they approve, the second approver receives their notification"}),e.jsx(r.Item,{children:"After all approvers respond, the original submitter gets the final outcome"})]}),e.jsx(o,{order:3,children:"Real-World Example: Purchase Approval Workflow"}),e.jsx(s,{children:"Consider a company that needs purchase requests approved by two levels:"}),e.jsxs(r,{type:"ordered",spacing:"sm",children:[e.jsx(r.Item,{children:"An employee submits a purchase request via Google Forms, entering their manager's email and the finance team's email"}),e.jsx(r.Item,{children:"The manager receives the request, reviews the business justification, and approves"}),e.jsx(r.Item,{children:"Finance then receives the request, reviews the budget impact, and approves"}),e.jsx(r.Item,{children:"The employee receives an email confirming the purchase has been approved"})]}),e.jsx(s,{children:"If either the manager or finance rejects, the employee is immediately notified with the reason. The entire audit trail is captured in the linked Google Sheetâ¢."}),e.jsx(o,{order:3,children:"Tips for Multi-Step Workflows"}),e.jsxs(r,{spacing:"sm",children:[e.jsx(r.Item,{children:"Keep approval chains as short as possible â each additional step adds time to the process"}),e.jsxs(r.Item,{children:["Use"," ",e.jsx(t,{component:i,to:"/blog/how-to-use-google-forms-branching-to-create-an-interactive-workflow/",children:"Google Forms branching"})," ","to conditionally show different approver fields based on request type or value"]}),e.jsx(r.Item,{children:"Set up reminders so approvers don't become bottlenecks"}),e.jsx(r.Item,{children:"Use the Form Approvals dashboard to monitor pe
1nding approvals and identify delays"})]}),e.jsx(o,{order:3,children:"Get Started"}),e.jsxs(s,{children:["Multi-step approvals are available on all Form Approvals plans, including the free plan (20 responses/month)."," ",e.jsx(t,{component:i,to:"/pricing/",children:"View pricing"})," or"," ",e.jsx(t,{component:i,to:"/support/getting-started/",children:"get started today"}),"."]})]})}export{h as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.