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":
Keep payloads concise. Include enough context for a reviewer to decide without opening external systems.
Completing tasks in the Console
See the Command Center guide for the full operator inbox.1
Open Command Center
Go to Command Center in the sidebar. Pending tasks are listed with workflow name, run ID, and task title.
2
Review the payload
Open the task to see the data the workflow paused on — draft email, proposed CRM update, generated summary, etc.
3
Approve or reject
Click Approve to continue the run with an approval result, or Reject to stop the branch with a rejection result. Some task types allow editing fields before submission.
What downstream steps receive
When a task completes, thehuman_task step result is a JSON object:
The Console Approve and Reject buttons send only
{ "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