# Workflow Components

## Workflows and their Steps

#### **Differences Between a Workflow and a Step**

In Chassy, a workflow is a collection of steps that are executed in a specific order. Each step can contain multiple tasks that must complete in parallel before the next step can begin.

Here is a summary of the key differences between workflows, steps, and tasks:

### **Workflow**

A workflow is a high-level representation of an automated process or pipeline consisting of multiple steps and tasks.

To relate workflows to a potentially familiar structure, workflows are structurally analogous to the mathematical notion of a graph, particularly a directed graph. If it is helpful, one may also notice that every workflow is also a tree.

| Chassy Notion             | Indicated By        | Math Analog |
| ------------------------- | ------------------- | ----------- |
| Workflow                  | Collection of steps | Graph       |
| Step                      | Rounded rectangle   | Vertex      |
| *Depends on* relationship | Lines between steps | Edge        |

### **Step**

A step is a unit of work that is executed as part of a workflow. There are several types of steps you can read more about in the [Steps](/reference/workflow-components/steps.md) reference. In graph theory terms, a step is the workflow analog for a vertex within a graph.

Steps can be said to depend on other steps to indicate a sequence of execution. If step *B* depends on step *A*, then step *B* will only execute after step *A* has completed. Step dependency is the workflow analog for an edge within a graph.

#### **Example of Multiple Steps within a Workflow**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd7F0UTGPwGhyT1DooJqDVGdh8oLALeVmNaAOo6007pkH4vU-9q7Sec-lk5TR-MQgFTp43fDbi5QkWrlYSocTUWa-CntDEo98g_MDPpbSleT8uQv6Uu3PDTprwoTeC4jkx6Q_kF14W0gJPvnE2dhtaNWE9u?key=CrjAmK76ZdHhNlRMtvcEMw" alt="A workflow consists of multiple steps that follow and depend on the previous one, with possible forks."><figcaption></figcaption></figure>

In the above example, the vertically grouped tasks are in the same step. Steps are executed sequentially from left to right on the workflow graph.

#### Step Status

<div align="left"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc3GsmHWwOrDPJ32JJWlwPCuX9X7tP6r1hIyVXJm5rA4ihaXj8rrDVkh7EDoEw67v5BlCFSNMRjO0Dwe6CsI9u4hlI-KmzcwIxJIKbQbG_lLI9Hj4sMFtTgEidtY6HLZ0uj-U3Fe6noXnJKQ3e52txGZqo6?key=CrjAmK76ZdHhNlRMtvcEMw" alt="Each step could be grey, green, yellow, or red, showing its status." width="188"><figcaption></figcaption></figure></div>

In the workflow graph, step statuses are denoted by color:

* Greyed out: Not started
* Green: Completed
* Yellow: Issue
* Red: Critical issue


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chassy.io/reference/workflow-components.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
