User Interaction Nodes
User Interaction nodes suspend workflow execution and wait for a human to provide input — through a form, a chat message, or an approval decision. These are the Human-in-the-Loop (HIL) building blocks of Flow Studio.
How HIL Suspension Works
When a User Interaction node executes, it:
- Suspends the workflow at that node (status becomes
Suspended) - Notifies the assigned actor(s) via configured channels (email, notification, WorkDesk inbox)
- Waits for the human response (up to the configured timeout)
- Resumes execution with the human's response data available in
$json
User Interaction Node Reference
form
Presents an Atlas Form to a specified user or group and waits for submission.
| Field | Description |
|---|---|
| Form ID | The Atlas Form to display |
| Assigned To | Expression resolving to a user ID, email, or group |
| Pre-fill Data | JSON expression to pre-populate form fields |
| Timeout | Duration to wait before routing to the timeout port (e.g., 48h) |
Output ports: submitted, timeout, error
Resume data: { submittedBy, submittedAt, formData }
chat
Sends a message to a user via the EdgeInteract chat interface and waits for a reply.
| Field | Description |
|---|---|
| Channel | Chat channel ID to send the message on |
| Message | The message text (supports expressions: Hello {{$json.name}}) |
| Expected Response | Free text, or a set of quick-reply buttons |
| Timeout | Wait duration |
Output ports: replied, timeout, error
chat-receive
Waits for an inbound message on a specified channel without sending one first. Used to react to user-initiated messages.
approval
Sends an approval request to one or more approvers and routes based on their decision.
| Field | Description |
|---|---|
| Approvers | List of user IDs or expressions. Supports single approver, any-of, all-of. |
| Approval Mode | Any one approver, or require all approvers |
| Subject / Message | The approval request message |
| Timeout | Escalation timeout |
Output ports: approved, rejected, timeout, error