Skip to main content

Tutorial: Building a Multi-Step Approval Form

Let's explore how you can configure a multi-step form that includes multiple levels of approval.

Updated today

In this step-by-step tutorial, we will demonstrate how to create a form that incorporates a sequential, multi-step approval process. This workflow is essential for processes like expense claims, leave requests, or procurement orders where multiple levels of authorization are required.

The Goal

We will build a workflow that achieves the following:

  1. Submission: The Requestor fills in their section of a form and requests a review from a pre-defined list of managers.

  2. Level 1 Approval: The Manager is automatically notified via email with a link to the request. They open the form to complete their specific approval section and decide to Approve or Reject the request.

  3. Level 2 Approval (Sequential): Only after the first manager approves does the Secondary Approver receive a notification. They then fill out their section to provide final approval or rejection.

  4. Outcome: The Requestor receives an email notification regarding the final status of their request. If the request is rejected at any stage, the process stops, and the user is notified immediately.

Step-by-Step Configuration

To build a multi-step form, you will incorporate all approval steps into a single form definition, using specific "Approval Blocks" for each stage of the review.

1. Build the Initial Request

First, drag and drop the necessary standard components into your form builder to create the initial section.

  • Example: If this is an expense claim, add fields for "Expense Amount," "Date," "Receipt Upload," and "Description."

2. Add the First Approval Step

Once the user section is complete, drag and drop an Approval Component (found under the Advanced Componentssection) to the bottom of the form.

  • Label: Give this a clear name, such as "Manager Approval."

  • Content: You can drag additional components inside this approval block if you require specific data from the manager (e.g., a comments box or a file upload for stamped documents).

3. Configure Level 1 Settings

Navigate to the Approval tab within the settings of your new component:

  • Approvers: Select who allows to approve this step (e.g., select from your Microsoft 365 Entra list).

  • Notifications: Configure the email templates used when requesting, approving, rejecting, or revoking an approval.

4. Add the Second Approval Step

Next, drag in a second Approval Component. This represents the final sign-off.

  • Label: Name this "Director Approval" or "Secondary Review."

  • Configuration: Set your approvers and email templates as you did in the previous step.

5. Chain the Approvals (The Critical Step)

By default, both approval blocks might appear to run in parallel. To make them sequential:

  1. Select your second approval component.

  2. Locate the Depends On setting.

  3. Select the Manager Approval (the first step) from the list.

That’s it! You have now created a dependency. The second approval block will not trigger or notify the secondary approver until the first block has been successfully approved.

Important Considerations

Here are a few key details to keep in mind when designing your approval workflows:

  • Automatic Metadata: You do not need to add fields inside the approval block to capture "Date Approved" or "Approver Name." The system automatically tracks this metadata (who approved and when) and associates it with the record.

  • Forms within approvals: You can place entire form structures inside approval blocks. This allows approvers to contribute data, not just a "Yes/No" decision.

  • Security: Only the specific users listed in the "Approvers" setting can answer questions located inside that approval block.

  • Data Integrity: The answers provided by the original Requestor cannot be changed by the Approver. If the data is incorrect, the Approver should Reject the request. The Requestor can then "Revoke" the status, correct their original submission, and re-request approval.

  • Conditional Logic: You can use the Conditional Approval tab to create rules for when an approval is actually required (e.g., Only require Secondary Approval if 'Expense Amount' is greater than $10,000).

  • Revising Decisions: Approvers can change their decision by re-opening a request and clicking Update, provided the workflow hasn't already moved to a finalized state that prevents it.

Did this answer your question?