How human tasks work
- A workflow reaches a
human_taskstep - The run pauses and creates a pending task with the
task_payloadyou defined - The task appears in Command Center and in per-run task lists
- A project contributor completes the task (approve, reject, or submit edits)
- The run resumes with the completion result available to downstream steps
Authoring a human task step
Add a step withtype: "human_task":
| Field | Description |
|---|---|
task_type | Category such as approval or edit |
task_payload | JSON shown in the UI — title, description, fields to review, optional editable values |
Completing tasks in the Console
See the Command Center guide for the full operator inbox.Open Command Center
Go to Command Center in the sidebar. Pending tasks are listed with workflow name, run ID, and task title.
Review the payload
Open the task to see the data the workflow paused on — draft email, proposed CRM update, generated summary, etc.
What downstream steps receive
When a task completes, thehuman_task step result is a JSON object:
| Field | Always present | Description |
|---|---|---|
approved | Yes | true if approved, false if rejected |
{ "approved": true } or { "approved": false }. They do not rename or edit draft fields automatically.
To pass edited text to downstream steps, either:
- Reference the upstream LLM/MCP step that produced the draft (for example
{{steps.draft-review.result.text}}) and gate withcondition: "{{steps.approve-review.result.approved}}" - Complete the task via API with an optional
resultobject (merged into the step result alongsideapproved)
{{steps.approve-review.result.comment_body}}.
API completion
Automate or integrate approvals via the API:- Per run:
GET /v1/workflows/{id}/runs/{runID}/tasks/pending - Tenant inbox:
GET /v1/tasks/pending
Design patterns
| Pattern | When to use |
|---|---|
| Approve before send | LLM drafts content; human approves before an MCP email/send step |
| Escalation | Low-confidence LLM output routes to human review via a condition + human_task branch |
| Data correction | Human edits extracted fields before downstream MCP writes |