> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encord.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Orm.workflow

## WorkflowAction Objects

```python theme={"dark"}
class WorkflowAction(str, Enum)
```

Actions that can be applied to a workflow stage for a task.

**Values**:

**REOPEN:** Reopen a task at a given stage.
**COMPLETE:** Mark a task as completed at a given stage.

## WorkflowStageType Objects

```python theme={"dark"}
class WorkflowStageType(str, Enum)
```

Type of a workflow stage in a project workflow.

**Values**:

**ANNOTATION:** Annotation stage where labelers create or edit labels.
**REVIEW:** Review stage where labels are reviewed and approved/rejected.
**USER\_ROUTER:** Router stage that routes tasks based on user assignment rules.
**PERCENTAGE\_ROUTER:** Router stage that routes tasks based on percentage splits.
**CONSENSUS\_ANNOTATION:** Annotation stage with consensus logic applied across annotators.
**CONSENSUS\_REVIEW:** Review stage with consensus logic applied across reviewers.
**DONE:** Terminal stage indicating that workflow processing is complete.
**AGENT:** Agent stage where tasks are handled by an automated agent.

## LabelWorkflowGraphNode Objects

```python theme={"dark"}
class LabelWorkflowGraphNode()
```

This class only required to indicate correct request type to basic querier,
don't use this anywhere else.

## LabelWorkflowGraphNodePayload Objects

```python theme={"dark"}
class LabelWorkflowGraphNodePayload(BaseDTO)
```

Payload describing an action to perform on a label workflow node.

**Arguments**:

* `action` - Workflow action to apply to the node (for example, reopen or complete).

## BaseWorkflowNode Objects

```python theme={"dark"}
class BaseWorkflowNode(BaseDTO)
```

Base class for workflow nodes in a project workflow graph.

**Arguments**:

* `stage_type` - Type of the workflow stage (annotation, review, router, etc.).
* `uuid` - UUID of the workflow stage.
* `title` - Human-readable title of the stage.

## WorkflowNode Objects

```python theme={"dark"}
class WorkflowNode(BaseWorkflowNode)
```

Standard workflow node.

Represents all workflow stages except agent stages. Agent stages are
represented by [WorkflowAgentNode](/sdk-documentation/sdk-references/orm.workflow#workflowagentnode) instead and are validated
separately.

## AgentNodePathway Objects

```python theme={"dark"}
class AgentNodePathway(BaseDTO)
```

Outgoing pathway from an agent workflow node.

**Arguments**:

* `uuid` - UUID of the pathway itself.
* `title` - Human-readable title or label for the pathway.
* `destination_uuid` - UUID of the destination workflow stage that this pathway leads to.

## WorkflowAgentNode Objects

```python theme={"dark"}
class WorkflowAgentNode(BaseWorkflowNode)
```

Workflow node representing an agent stage.

Agent stages route tasks automatically based on agent logic and can
have multiple outgoing pathways defined by
[AgentNodePathway](/sdk-documentation/sdk-references/orm.workflow#agentnodepathway) objects.

## WorkflowDTO Objects

```python theme={"dark"}
class WorkflowDTO(BaseDTO)
```

Full workflow definition for a project.

**Arguments**:

* `stages` - List of workflow stages in the project workflow graph.
  This can include both standard workflow nodes and agent nodes.
