User input is currently supported for
Step (to collect parameters) and Router (to select routes). Other primitives (Condition, Loop, Steps) support confirmation only.Requirements
HITL workflows require a database to persist state between pauses:HITL Types
Supported Primitives
HITL is supported on all workflow primitives:Run Output Properties
When a workflow pauses, check these properties onWorkflowRunOutput:
Confirmation
Pause before executing a step. User confirms to proceed or rejects to skip/cancel.User Input
Collect parameters from the user before step execution.Route Selection
Let users choose which path(s) a Router executes.Error Handling
Pause when a step fails, letting the user retry or skip.This is only at the Step level.
OnReject Behavior
Theon_reject parameter controls what happens when a user rejects a step:
Streaming
HITL works with streaming workflows. Check for pauses in the event stream:The @pause Decorator
Mark custom function steps with HITL configuration using the@pause decorator:
Guides
Step HITL
Confirmation and user input on individual steps
Router HITL
User-driven route selection and confirmation
Condition HITL
User-controlled branching decisions
Loop HITL
Confirm before starting iterative execution
Steps HITL
Confirm before executing a pipeline
Error Handling
Retry or skip failed steps