---
title: Data-driven steps
slug: data-driven-steps
docTags: 
createdAt: 2026-09-08T13:45:28.624Z
---

In workflows, it is possible to track the execution progres&#x73;**&#x20;based on data&#x20;**&#x66;rom the **current process.**

*Administrators* can configure this feature by adding the required number of steps and specifying the conditions for their **‘ongoing’&#x20;**&#x61;nd **'completed’**. These conditions can reference properties that fall within the current administrator's permission scope. However, even *end users* without permissions to access those specific properties will be able to see the execution or completion status of the steps.

:::hint{type="danger"}
Please also note that if [Step node](docId\:Zcb6Dqb3jrKjhVRRxsavK) are configured in the current process, **they will be overridden by the settings of the current steps.**
:::

:::hint{type="info"}
*This feature applies to all processes within the current definition as a whole, rather than to process runs activities.*
:::

## Setting configuration

### Feature configuration

![Feature config](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/ZpJe1gP12iaFqLonX1yBu_image.png)

1. This feature is located in the **"Steps"** tab
2. Here you can add the number of steps
3. Number of added steps
4. Number of active steps (*enabled*)
5. List of added steps

### Step header configuration

![Step header config](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/xhcRIkM9ypbNw9jf-qdHv_image.png)

1. Option to change the step display order (**this change will be visible to the end user**)
2. Step configuration collapse button
3. Display of the step name in the current interface language (required field)
4. Rule activation toggle (**disabling step without deletion**)
5. Rule deletion button

### Step body configuration

![Step body config](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/cgd8eE1Cc5E7DTKLsMZd7_image.png)

1. Step name input block (multilingual, required field)
2. "Ongoing/Completed" status condition block

### Condition configuration

![Condition config](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/vAcepzK8TdJJk0j6dBgt0_image.png)

1. Add condition property
2. Add filter group
3. Select filtering method (*AND or OR*)
4. Delete property button
5. Delete filter group button
6. Property removed from definition or inaccessible to the current administrator

## How it works

In the step settings, the *administrator* configures the number of steps, their order, their names, and the conditions for displaying them in the "Ongoing" and "Completed" states.

Conditions are configured based on the administrator's property permissions; **if the administrator lacks access to specific properties, they cannot select them.**

**Available properties, including hidden ones, can be selected.**

When an end user accesses an process, they see the configured steps at the top, regardless of their own permissions. This allows for the configuration of conditions based on properties that are unknown to the end user.

:::hint{type="info"}
The execution order of steps need not be sequential; it is based on data rather than the display order. For instance, if **"Step 1"** is awaiting data that *has not yet appeared,* while **"Step 5"** has already received the data *needed for completion*, **"Step 5"** will appear green *while* **"Step 1"** remains *gray*.
:::

## Rendering conditions

Steps have four states:

<font color="#6b7280">`gray`</font> – the step is not yet due to run

<font color="#6366F1">`blue`</font> – the step is "ongoing"

<font color="#22C55E">`green`</font> – the step is complete

<font color="#EF4444">`red`</font> – the step failed via failed process

The display of a step's state depends on several factors:

- process status
- fulfillment of one of the conditions

### Full list of states

| "Completed" condition            | "ongoing" condition              | Process status                         | Step color                         |
| -------------------------------- | -------------------------------- | -------------------------------------- | ---------------------------------- |
| <font color="#22C55E">yes</font> | —                                | any                                    | <font color="#22C55E">green</font> |
| <font color="#EF4444">no</font>  | <font color="#22C55E">yes</font> | <font color="#22C55E">succeeded</font> | <font color="#6366F1">blue</font>  |
| <font color="#EF4444">no</font>  | <font color="#22C55E">yes</font> | <font color="#6366F1">running</font>   | <font color="#6366F1">blue</font>  |
| <font color="#EF4444">no</font>  | <font color="#22C55E">yes</font> | <font color="#EF4444">failed</font>    | <font color="#EF4444">red</font>   |
| <font color="#EF4444">no</font>  | <font color="#22C55E">yes</font> | <font color="#EAB308">canceled</font>  | <font color="#6366F1">blue</font>  |
| <font color="#EF4444">no</font>  | <font color="#EF4444">no</font>  | any                                    | <font color="#6b7280">gray</font>  |

**TLDR:**

&#x20;In summary, there are only four output values:

\- <font color="#22C55E">`Green`</font> — step completed;

\- <font color="#EF4444">`Red`</font> — step is running, but the process has failed ("ongoing" and failed);

\- <font color="#6366F1">`Blue`</font> — step is running with any other process status (‘started’, ‘completed’, ‘cancelled’);

\- <font color="#6b7280">`Gray`</font> — step has not yet started (neither ‘completed’ nor ‘ongoing’).

## Examples

1. <font color="#6366F1">`Running`</font> process

![Example - Running process](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/MIC9CVDfGck0CmD1n1ZZ-_image.png)

2. <font color="#EAB308">`Canceled`</font> process

![Example - Canceled process](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/qiBqOsFZQuKvM1-tZhNkI_image.png)

3. <font color="#EF4444">`Failed`</font> process

![Example - Failed process](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/54ydQhiC7R-UB1zhIi_vC_image.png)





