Step
| Parameter | Type | Default | Description |
|---|---|---|---|
name | Optional[str] | None | Name of the step for identification |
agent | Optional[Agent] | None | Agent to execute for this step |
team | Optional[Team] | None | Team to execute for this step |
executor | Optional[StepExecutor] | None | Custom function to execute for this step |
step_id | Optional[str] | None | Unique identifier for the step (auto-generated if not provided) |
description | Optional[str] | None | Description of the step's purpose |
max_retries | int | 3 | Maximum number of retry attempts on failure |
timeout_seconds | Optional[int] | None | Timeout for step execution in seconds |
skip_on_failure | bool | False | Whether to skip this step if it fails after all retries |
add_workflow_history | bool | False | If True, add the workflow history to the step |
num_history_runs | int | None | Number of runs to include in the workflow history, if not provided, all history runs are included |
human_review | Optional[HumanReview] | None | All HITL settings in a single config. Equivalent to passing the flat fields below. See HumanReview Config. |
requires_confirmation | bool | False | Pause for user confirmation before execution |
confirmation_message | Optional[str] | None | Message shown to user when requesting confirmation |
requires_user_input | bool | False | Pause to collect user input before execution |
user_input_message | Optional[str] | None | Message shown to user when requesting input |
user_input_schema | Optional[List[UserInputField]] | None | Schema defining expected input fields |
requires_output_review | Union[bool, Callable[[StepOutput], bool]] | False | Pause after execution to review the step's output. See Output Review. |
output_review_message | Optional[str] | None | Message shown to user during output review |
hitl_max_retries | int | 3 | Max re-executions when an output review is rejected with OnReject.retry |
hitl_timeout | Optional[int] | None | Seconds before the HITL pause auto-resolves. See Timeout. |
on_timeout | Union[OnTimeout, str] | OnTimeout.cancel | Action when the HITL timeout expires: approve, reject, cancel |
on_reject | OnReject | OnReject.skip | Action when rejected: skip, cancel, retry |
on_error | OnError | OnError.fail | Action on error: fail, skip, pause |
When the step's agent or team calls a tool decorated with @tool(requires_confirmation=True), requires_user_input=True, or external_execution=True, the workflow pauses with pause_kind="executor". See Executor HITL.