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, Relay.app 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 Relay.app is as simple as adding automated steps in your workflow. We offer four kinds of HITL steps:
- Approvals
- Getting (missing) data input
- Completing a task (“in the real world”)
- 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 Relay.app 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.
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.
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’.
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.
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.
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 Relay.app 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 Relay.app 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.
Roles
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 Relay.app 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!
Slack notifications
Slack notifications for Human-in-the-Loop steps come from the Relay.app 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!
Manual Trigger
While not quite a Human-in-the-Loop feature like the ones above, Relay.app 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.