# Workflows

The *Workflows* menu allows you to schedule various tasks and execute them at a specific date and time. This allows the execution of different Extractors and Transformers, so that they are tightly chained together.

## Creating a Workflow

To create a new Workflow, go to '*Data Pipelines*' > '*Workflows*', then click the green button labeled '*Create Workflow*'. Then create one or more *New Schedule* intervals:

![](/files/-MeR2b4cfbg0NqoD-mzs)

Then add one or more steps that should be executed:

![](/files/-MeR33X7R-mfxALsonoT)

* Provide a meaningful N**ame** for the Workflow
* Optionally you can provide a detailed **Description**
* Set the **Type** of the step using the drop-down menu
* Provide the option that goes with the selected **Type**. This can be your Extractor, Transformer, Report or another name
* Depending on the selected Step Type, you can provide an offset date. This value is used during the execution of that step. Typically this would be used for a **From** date offset (i.e. **-1** for yesterday)
* A **To** date offset can be provided for some step types (i.e. **0** for today)
* In case multiple steps need to be executed in parallel, you may choise to remove the **Wait** checkbox.&#x20;
* Additional arguments can be sent to the step. This applies only to some **Extractors** and when executing a custom **Command**

You can delete a step using the bin icon in the right upper corner. To execute a workflow click the *Run Now* button:

![](/files/-MeR3ZOojgzcs9YbYB_n)

Bear in mind that the selected date will be influenced by date offsets difined in any given step. To view historical Workflow results, click the **Status** tab.

### Special Workflow Steps

Apart from adding *Extractor*, *Transformer* and *Report* steps, there are a few other special *Workflow* Step types:

![](/files/-MeR4KXCHlG2jDG4cd0Z)

#### Publish Report

This step type will trigger a Publish Report event, which can be consumed by the notification engine.

#### Evaluate Budget

This step type will evaluate all budgets, which can be consumed by the notification engine.

#### Execute

The Execute step enables you to execute an external command, like a script:

![Call external commands or scripts](/files/-LNPtR2AV9DTUYWeRoNY)

As an example: you could run a Powershell script to obtains some data from a special data source that Exivity Extractors are not able or allowed to connect to. This script could be executed the following manner:

```
powershell.exe "D:\script\special.ps1" ((get-date).addDays(-1)).ToString("""yyyyMMdd""")
```

The above command calls the Powershell executable to run the *special.ps1* script, with a dynamically generated parameter that is evaluated at run time. This particular example always provides yesterdays date in *yyyyMMdd* format as a parameter to the *special.ps1* script. Many other variations and scripting languages are possible. Feel free to experiment.


---

# 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://olddocs.exivity.io/3.5.4/data-pipelines/workflows.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.
