Skip to main content
The Human Step node brings a real person into your workflow. It sends them a message on a channel they already use (email through Gmail or Outlook, Slack, Microsoft Teams, or SMS), waits for their reply, and then continues your workflow on the branch that matches what they did.
Your AI writes the message with the context the moment needs, the person replies in plain words, and the workflow resumes on its own. There is no new app to learn and no approvals queue to check. The work reaches the right person, then keeps moving.

When to use

  • Get a sign-off before a risky action - “Approve this refund before we issue it?”
  • Keep someone in the loop - Let a manager know a deal closed, then carry on without waiting.
  • Collect details a workflow needs - Ask the person for a shipping date, a budget number, or a contact email.
  • Let someone choose - Offer a short list of options and route on the one they pick.
  • Ask for a review - Show a draft and capture a thumbs-up plus any comments.
  • Confirm an action - Have the person acknowledge before the workflow moves on.

How it works

  1. Pick the pattern that matches what you need the person to do (the six patterns are described below).
  2. Pick the channel to reach them on. For everything except Notify, the channel must be one the person can reply on (email, Slack, Teams, or SMS).
  3. Enter who to reach: their email address, Slack handle, Teams account, or phone number. You can use {{}} to pull this from an earlier step, for example {{manager.email}}.
  4. Write the message they will see. Use {{}} to drop in details from earlier steps, for example Approve the ${{order.amount}} refund for {{order.customer}}?
  5. The workflow pauses and waits. When the person replies, the workflow continues on the branch that matches their answer.
The wait can last days. The workflow stays paused, sends gentle reminders if the person goes quiet, and picks up exactly where it left off once they reply.

The six patterns

Each pattern shapes the message the person sees and the branches the node produces.
Ask the person to approve or reject. The workflow branches on their decision. You can optionally ask for a brief reason when they reject.
Send a one-way message and continue right away. Notify never waits for a reply, so use it only when you do not need an answer.
Ask for one or more pieces of information, one question at a time. Each field has a type, such as text, number, email, date, phone, or a choice from a list.
Ask the person to pick from a set of options. You can allow a single pick or several.
Show the person something to look over and capture their feedback, with room for optional comments.
Ask the person to acknowledge a message before the workflow continues.

Outcome branches

When you wire the node, you connect each outcome to whatever should run next. The outcomes you get depend on the pattern:
OutcomeWhen it firesPatterns
ApprovedThe person approvedApproval
RejectedThe person rejected (with an optional reason)Approval
CompletedThe person responded successfullyCollect info, Select, Review, Confirm
SentThe message was sent (fires right away)Notify
FailedThe person did not respond in time, or the information was incompleteAll except Notify
The Failed branch also tells you why it failed. The reason is either No Response (the person never replied) or Incomplete (a required answer was missing).
You do not have to connect every branch. If a branch has nowhere to go, that path simply ends.

Reminders

If the person goes quiet, the step sends gentle automatic reminders before giving up. You decide how many reminders to send and how far apart.
After the last reminder with still no reply, the step ends on the Failed branch with the reason No Response. Turning reminders off (setting them to zero) makes the step wait indefinitely: no reminders, and no automatic failure.

Questions during the step

You can give the assistant background about the task, plus knowledge bases to draw from, so the person can ask clarifying questions in the middle of the conversation and get answers.
This context is reference material only. The assistant uses it to answer the person’s questions, never to fill in the person’s own answer for them.

Example: refund approval

A common use is approving a refund before issuing it:
1

Choose the pattern and channel

Pick the Approval pattern and send it over email.
2

Address it and write the message

Send it to {{manager.email}} with the message: Approve the ${{order.amount}} refund for {{order.customer}}?
3

Wire the branches

  • Approved - Issue the refund.
  • Rejected - Log the reason using {{human_step_1.comment}} and notify the customer.
  • Failed - Escalate to a supervisor when no one replies in time.

Settings

pattern
string
required
What you need the person to do: Approval, Notify, Collect info, Select, Review, or Confirm.
channel
string
required
The channel to reach the person on (Gmail, Outlook, Slack, Microsoft Teams, or SMS). For every pattern except Notify, pick a channel the person can reply on.
recipient
string
required
Who to reach: an email address, Slack handle, Teams account, or phone number. Supports {{}} to pull the value from an earlier step.
message
string
The message the person sees. Supports {{}} to insert details from earlier steps. For Collect info, this is an optional lead-in before the questions.
reminders
number
default:"3"
How many automatic reminders to send if the person goes quiet, and how far apart. Set to zero to wait indefinitely with no reminders.
context and knowledge
object
Optional background about the task plus knowledge bases, so the person can ask clarifying questions during the step. Used only to answer questions, never to fill in their answer.

Outputs

Read these in later steps using {{human_step_1.<field>}}. Some fields appear only for certain patterns.
outcome
string
The branch that fired: Approved, Rejected, Completed, Sent, or Failed.
failedReason
string
On the Failed branch only: either “No Response” or “Incomplete”.
responder
string
Who responded (name or identifier).
started_at
string
When the step began the interaction.
responded_at
string
When the person last replied.
ended_at
string
When the interaction ended.
attempts_made
number
How many reminders were sent.
transcript
array
The full back-and-forth of the conversation.
decision
string
Approval only: “Approved” or “Rejected”.
comment
string
Approval only: the reason the person gave when rejecting, if any.
collected
object
Collect info only: the answers, as a bundle of field name and value.
fields_captured
array
Collect info only: the fields that were answered.
fields_missing
array
Collect info only: the required fields that are still missing.
selected
string
Select only: the option or options the person chose.
comments
string
Review only: the reviewer’s feedback (may be empty).
acknowledged
boolean
Confirm only: true once the person acknowledges.

Next steps

Channels

Set up the email, Slack, Teams, or SMS channel the message is sent on.

Conversation Flow

Embed a richer, multi-turn conversation when one question is not enough.