UiPath Documentation
maestro-automate
latest
false
Maestro Automate user guide

Add human approval to a workflow

Pause a workflow at a review step, send an approval task to an approver, and continue based on their response.

What you build​

A workflow that pauses at a review step, sends an approval task to a designated approver, and continues on the correct path once the human responds, approved or rejected. The pattern is the building block for any workflow that requires a human sign-off before proceeding.

This guide uses the Quick Form task type, where the approval form is built directly on the node.

Nodes used​

  • Manual Trigger: starts the workflow on demand.
  • Quick Form: pauses the run and creates an approval task for the assigned approver.
  • Terminate: ends the rejected path cleanly.

Steps​

Tip:

With a coding agent set up, you can skip the manual steps. Ask it:

Build a Maestro Automate workflow that starts manually with a request, sends it to a Quick Form node that has Approve and Reject outcomes, and continues on a separate path for each outcome.
Build a Maestro Automate workflow that starts manually with a request, sends it to a Quick Form node that has Approve and Reject outcomes, and continues on a separate path for each outcome.

Then open the workflow on the canvas, check it against the steps below, and test it. Set up your coding agent describes the setup.

1. Build the pre-approval steps​

First, set up the nodes that run before the approval point. Create a new workflow and add the nodes that fetch or receive the data the approver needs to review, then transform it into a readable format.

2. Add a Quick Form node​

Add the node that creates the approval task and pauses the workflow.

  1. Select the + on the output handle of the last pre-approval node, and open the Human category of the Add node panel.
  2. Select Quick Form. The new node connects to the previous node automatically.
  3. In the properties panel, configure the task:
    • Task Delivery: review the admin-configured channels where the task is delivered, such as Action Center, the UiPath app where humans handle tasks, or Slack.
    • Assignment criteria: set the approver as a single user, a variable-based custom assignment, or a group assignment strategy such as round robin, which assigns tasks in turn, or workload distribution.
    • Schema: define the form. Add input fields for the read-only context the approver reviews (for example, the invoice amount, the requester name, and a link to the supporting document), each bound to a workflow value such as $vars.manualTrigger1.output["amount"]. For this scenario, add two outcomes: Approve and Reject.
    • Priority: set to High if the task is time-sensitive.

3. Branch on the approver's response​

The Quick Form node has one output handle per outcome you defined, so you route each outcome directly.

  1. Connect the Approve outcome handle to the continuation of the workflow (for example, a system write or a notification).
  2. Connect the Reject outcome handle to a Terminate node to end that path cleanly.

4. Test and debug​

A real approver is not needed to test this workflow. Either approach works:

  • Run in debug without mocking: debug the workflow with Debug at the top left of the toolbar and let it reach the Quick Form node. The task opens inline within the canvas, so it can be completed without leaving the debugger, and both the Approve and Reject branches can be verified with the actual task experience.
  • Use a static mock: simulate a response instead of completing a task.
    1. Open the expanded view of the Quick Form node, and set the mode menu in the Output column to Static mock.
    2. Set status to Approve (or Reject to test the rejection branch).
    3. Debug the workflow and verify the correct branch executes.
    4. Set the mode back to Live before deploying.

Result​

The workflow pauses at the Quick Form node, sends the approval form to the designated approver, and routes the run on the correct path once the human responds. The approved path continues the automation, and the rejected path ends cleanly.

Extend this workflow​

  • Notify the approver: before the Quick Form node, add a notification step (email or Slack) to tell the approver that a task is waiting.
  • Escalate on rejection: on the Reject path, instead of terminating immediately, invoke an Autonomous Agent or route to a second approver.
  • Collect the approver's notes: add an output field to the schema (for example, a comment) and read it after the node with $vars.approval.output.comment.

Next steps​

Was this page helpful?

Connect

Need help? Support(opens in new window)

Want to learn? UiPath Academy(opens in new window)

Have questions? UiPath Forum(opens in new window)

Stay updated