WorkflowManager API
TheWorkflowManager class manages workflow discovery, loading, and execution from markdown files.
Import
WorkflowStep
A dataclass representing a single step in a workflow.Constructor
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
name | str | required | Step name |
description | str | "" | Step description |
action | str | "" | The action/prompt to execute |
condition | Optional[str] | None | Condition for execution |
on_error | Literal["stop", "continue", "retry"] | "stop" | Error handling mode |
max_retries | int | 1 | Maximum retry attempts |
context_from | Optional[List[str]] | None | Steps to include context from |
retain_full_context | bool | True | Include all previous outputs |
output_variable | Optional[str] | None | Custom variable name for output |
agent_config | Optional[Dict[str, Any]] | None | Per-step agent configuration |
tools | Optional[List[Any]] | None | Tools for this step |
Agent Config Options
When usingagent_config, you can specify:
| Key | Type | Description |
|---|---|---|
role | str | Agent role (e.g., “Researcher”) |
goal | str | Agent goal |
backstory | str | Agent backstory |
llm | str | LLM model override |
verbose | bool | Enable verbose output |
Example
Workflow
A dataclass representing a complete workflow with multiple steps.Constructor
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
name | str | required | Workflow name |
description | str | "" | Workflow description |
steps | List[WorkflowStep] | [] | List of workflow steps |
variables | Dict[str, Any] | {} | Default variables |
file_path | Optional[str] | None | Source file path |
default_agent_config | Optional[Dict[str, Any]] | None | Default agent config for all steps |
default_llm | Optional[str] | None | Default LLM model |
memory_config | Optional[Dict[str, Any]] | None | Memory configuration |
planning | bool | False | Enable planning mode |
planning_llm | Optional[str] | None | LLM for planning |
Example
WorkflowManager
The main class for managing and executing workflows.Constructor
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
workspace_path | Optional[str] | None | Path to workspace (defaults to cwd) |
verbose | int | 0 | Verbosity level (0-3) |
Methods
execute()
Execute a workflow synchronously.Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
workflow_name | str | required | Name of workflow to execute |
executor | Optional[Callable] | None | Function to execute each step |
variables | Optional[Dict] | None | Variables to substitute |
on_step | Optional[Callable] | None | Callback before each step |
on_result | Optional[Callable] | None | Callback after each step |
default_agent | Optional[Any] | None | Default agent for steps |
default_llm | Optional[str] | None | Default LLM model |
memory | Optional[Any] | None | Shared memory instance |
planning | bool | False | Enable planning mode |
stream | bool | False | Enable streaming output |
verbose | int | 0 | Verbosity level |
Returns
Example
aexecute()
Execute a workflow asynchronously.Parameters
Same asexecute().
Example
list_workflows()
List all available workflows.Returns
List ofWorkflow objects.
Example
get_workflow()
Get a specific workflow by name.Parameters
| Parameter | Type | Description |
|---|---|---|
name | str | Workflow name (case-insensitive) |
Returns
Workflow object or None if not found.
create_workflow()
Create a new workflow file.Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
name | str | required | Workflow name |
description | str | "" | Workflow description |
steps | Optional[List[Dict]] | None | List of step definitions |
variables | Optional[Dict] | None | Default variables |
Example
get_stats()
Get workflow statistics.Returns
reload()
Reload workflows from disk.Variable Substitution
Workflows support variable substitution using{{variable}} syntax:
| Variable | Description |
|---|---|
{{variable_name}} | User-defined variable |
{{previous_output}} | Output from previous step |
{{step_name_output}} | Output from specific step |

