User Task Nodes
Bring humans into workflows - forms that pause runs, fire-and-forget task assignment, and AI-generated form schemas.
Human-in-the-loop nodes let workflows delegate judgment calls to people: reviewing an AI draft, approving a refund, or enriching data only a colleague knows.
Submitted tasks appear in the recipient's Tasks inbox in the main app (with an outstanding-count badge), where they fill out the dynamic form you defined.
User Input
Creates a form task and suspends the run until someone submits it. The submitted values become available to downstream nodes - the classic approval gate.
| Field | Type | Required | Description |
|---|---|---|---|
title | String | Yes | Task title shown to the assigned user(s). |
instructions | Expression | No | Rich text (HTML) shown above the form. Supports {{ ... }}. |
contextPayload | Object | No | Key/value pairs rendered as a table before the form, e.g. { "request": "{{ nodes.step_1.output }}" }. |
formSchema | Array | Yes | Form field definitions: { name, label, type, required, options }. |
assignedUserIds | Array | No | Who may complete the task. Omit/empty for any signed-in user. |
Output: taskId and the task's status.
Form schema example
[
{ "name": "decision", "label": "Decision", "type": "select", "required": true,
"options": ["Approved", "Rejected"] },
{ "name": "comment", "label": "Comment", "type": "string", "required": false }
]Assign Task
Creates form tasks without pausing the run - useful for notifications-with-a-form ("please update your onboarding details") or broadcasting work to several people at once. Each submission can independently fire a Task Completed trigger to kick off follow-up automations.
| Field | Type | Required | Description |
|---|---|---|---|
title | String | Yes | Task title shown to the assigned user(s). |
instructions | Expression | No | Rich text instructions above the form. Supports {{ ... }}. |
contextPayload | Object | No | Friendly key/value context rendered before the form. |
formSchema | Array | Yes | Form field definitions (name, label, type, required, options). |
audience | Select | Yes | Specific users or All users. |
assignedUserIds | Array | No | User IDs when audience is Specific users. Supports {{ ... }} expressions. |
Output: taskIds (one per assignee) and count.
User Input vs. Assign Task
Choose User Input when the run must wait on the answer. Choose Assign Task when work should be handed off while the run continues - and pair it with a Task Completed trigger to react to submissions.
Generate Form
Asks one of your configured agents to draft a form schema from a natural-language prompt - then feed the result into a User Input or Assign Task node's formSchema field.
| Field | Type | Required | Description |
|---|---|---|---|
agentConfigId | Select | Yes | The agent whose model generates the schema. |
prompt | Expression | Yes | Describe the form you need. Supports {{ ... }}. |
Example prompt:
Create a form collecting the reviewer's decision (approve/reject),
a mandatory comment, and an optional budget adjustment number.Review generated schemas
Generated schemas are drafts. Validate the output before wiring it straight into production tasks - or add a human review step in between.