Human-in-the-Loop automation

Add checkpoints for human approvals or data input anywhere in your workflows, when not everything can be automated.

Visualization of how to use human approval or data input anywhere in an automated workflow

We all want as many of our repeated processes to be automated to save time and get consistent results. However, sometimes there are steps in a workflow that simply cannot be automated because a person needs to do something in the real world, provide missing data, or provide an approval.

For cases like these, has Human-in-the-Loop (HITL) steps. They let you insert checkpoints anywhere in your workflows whenever human judgment is needed. Human-in-the-Loop steps are particularly powerful when relying on AI in high-stakes automations. After all, nobody wants to send out completely synthetically generated contracts to customers without oversight.

4 Human-in-the-Loop steps

Adding Human-in-the-Loop steps in is as simple as adding automated steps in your workflow. We offer four kinds of HITL steps:

  1. Approvals
  2. Getting (missing) data input
  3. Completing a task (“in the real world”)
  4. Manual Path selection

When any of these steps are encountered during a workflow run, the run will pause and wait until the assignee of the step has completed their task (i.e., given the approval to continue, provided the missing data, etc.).

Human-in-the-Loop steps can be assigned to users in your workspace. Assignees can be notified via interactive notifications over Slack or email when their action is needed in a HITL step. Each notification can be accompanied with a custom message with instructions.

Screenshot overview human-in-the-loop (HITL) features in

1. Approvals

Approvals are the most basic Human-in-the-Loop step: they ask the assignee for approval to continue the run. When setting up this step, you can include any context (like variables) to aid the assignee in making the decision.

Screenshot of a human-in-the-loop approval step in

2. Getting data input

Perhaps the most powerful Human-in-the-Loop step is ‘Get data input’. It sends a small “form” to the assignee and asks them to fill it out. You can add as many form inputs as needed, all typed data. For example, you can specifically ask for a date when you need a ‘go-live date’, a piece of text when you need a ‘company name’, and a number when you need the ‘contract value’.

Screenshot of a human-in-the-loop step to input data in

3. Completing a Task

The ‘Complete a Task’ step is functionally very similar to the ‘Approval’ step. Instead of waiting for an ‘Approved’ acknowledgement from the assignee, it waits for a ‘Task completed’ acknowledgement. While you might use them in similar situations, the ‘Complete a Task’ step is typically used for situations where the assignee needs to do something “in the real world”, i.e., something that cannot be automated. Examples might be proofreading a document or calling a customer.

Screenshot of a human-in-the-loop task step in

4. Manual Path selection

The final Human-in-the-Loop step lets you create Paths, but instead of letting rules determine what Path should be taken each run, a human will be notified to explicitly pick a Path every time. This is particularly helpful when more complex decisions are needed from a person. Similar to regular rule-based Paths, you can add as many as you need.

Screenshot of a human-in-the-loop path selection step in

HITL step parameters

All of the Human-in-the-Loop steps are easy to configure and share the same parameters:

  • A medium to notify the assignee that action is required from them before the workflow run will continue. Assignees can be notified via either Slack or email.
  • The assignee may be:
    • any member of the workspace,
    • a dynamic Role (read more about Roles below),
    • or a Slack channel.
  • The message with optional instructions that the assignee will receive with their notification. These instructions may contain references to variable data from other places in the workflow.
  • An optional due date for the action.
  • Optional additional reminders to the assignee, for example, to notify them again three days after the initial notification was sent if they still haven’t acted on it.
  • Optional notifications to the run owner (the user that owns the workflow Trigger). For example, you may set up a run owner notification for every HITL notification that’s sent or when HITL actions are overdue.
  • Optional escalation behavior for overdue HITL actions. By default, the step will just continue waiting for the user to act, but it can also be configured to do any of the following after the due date:
    • Skip the HITL action and continue to the next step.
    • End the workflow run right away and not execute steps after this one.
    • Reassign the HITL step to another workspace user.
Screenshot of a human-in-the-loop step configuration in


A Role is essentially a “variable for a person”. For example, you might create a Role named ‘Client Manager’ in your workflow and dynamically assign it to a workspace member via an email address variable using the ‘Assign a role’ step. Afterwards, you can assign a Human-in-the-Loop step to a Role instead of directly to a workspace member. Now, depending on the workflow run, a different person might be receiving the Approval request!

Screenshot of human-in-the-loop role assignment in

Slack notifications

Slack notifications for Human-in-the-Loop steps come from the Slack bot and are interactive. This means that you can approve runs and even fill in data inputs right from Slack, even when you’re on the go!

Screenshot of human-in-the-loop slack notification generated by

Manual Trigger

While not quite a Human-in-the-Loop feature like the ones above, has a ‘Manual Trigger’ that lets you manually start workflow runs. Manual Triggers can be configured to require specific input data, in which case the user will be presented with a quick form every time they’re kicking off a workflow run.

Screenshot of the human-in-the-loop manually initiated run option in

Frequently asked questions

  • Who can I assign Human-in-the-Loop steps to?

    Human-in-the-Loop steps can be assigned to all workspace members (users), Roles and Slack channels. In the latter case, only members of the Slack channel that are also users will be able to interact with the notifications (and for example provide their approval)

  • Can I assign Human-in-the-Loop steps to users?

    Not at the moment. We’re interested in learning how you’d use this, though. Please send us an email to and we’ll get back to you!

  • What are Roles?

    Roles are essentially variables for people. They can be dynamically assigned to email addresses of users in the same workspaces. Roles can be used to assign Human-in-the-Loop steps to different people depending on the workflow run context.

  • Do I need to use Roles in order to use Human-in-the-Loop steps?

    No, you’re not required to use Roles. You can assign Human-in-the-Loop steps directly to other workspace members, a Slack channel or a Role.

  • Can I send notifications for Human-in-the-Loop steps via email?

    Yes. You may chose to send notifications for Human-in-the-Loop actions over email or via Slack.

  • Can I send notifications for Human-in-the-Loop steps via Slack?

    Yes. You may chose to send notifications for Human-in-the-Loop actions via Slack or over email.

  • Are Slack notifications interactive?

    Yes. Human-in-the-Loop actions like approvals, data inputs, task completions and Path selections can be performed right from within the Slack apps on web, desktop or mobile.

  • When should I use Approval steps versus assigning a Task?

    You typically assign a Task for use cases where the assignee needs to perform a task “in the real world”. This is usually something that cannot be automated.

  • Can I specify a deadline for a Human-in-the-Loop step?

    Yes, you can specify due dates for all Human-in-the-Loop actions, and specify various kinds of escalation behaviors when the deadline is hit.

  • Can I specify escalation behavior when the assignee doesn’t respond?

    Yes. By default, Human-in-the-Loop steps will continue to wait until the assignee takes action, but you can configure steps to either (1) skip the current action and continue to the next step, (2) end the workflow run right away, or (3) reassign the current action to another workspace user.

  • Are Human-in-the-Loop features free to use?

    Yes. All Human-in-the-Loop features all included in all plans for no extra cost. plans start at $9 per seat per month.

Author picture (Hassaan Raza) Tavus

“Relay is the only tool we’ve used that conforms to our processes, rather than having to adjust the process to conform to the tool. It truly is the only tool we’ve used that feels frictionless for human-in-the-loop workflows.”

Hassaan Raza
Co-Founder & CEO

What will you automate?

Sign up and get started with your first workflow today.
Background imageBackground image