# Workflows

### Overview

Workflows are part of **Metadata Activation**, Euno’s framework for turning metadata into action.\
They enable you to define triggers based on **EQL queries**, and notify users via Email, Slack, or webhook when the query results meet certain conditions.

Sample use-cases:

* Notify data owners when new ungoverned data sources appear.
* Alert analytics engineers when DBT model are created without proper documentation.
* Track the number of Looker dashboards missing certification.
* Identify new Tableau dashboards containing complex SQL.

Workflows run automatically on a daily schedule on a time of your choosing.

***

### Navigation

You can access Workflows from the main sidebar, under **Metadata Activation**

Under **Workflows**, you’ll find two sub-pages:

* **All Workflows** (default view): create and manage workflows.
* **Workflow runs**: view execution logs for up to 60 days.

***

### Creating a Workflow

To create a new workflow, navigate to\
**Metadata Activation → Workflows → All Workflow** and click **Create a New Workflow**.

**Name** - a unique identifier for your workflow. This name will be used when workflows are triggered, so it is suggested to make it as informative as possible.

**Description** - a place to add additional information and context on the workflow.

**Property Scope** - the EQL expression to which the workflow applies. For additional information about writing EQL queries, see the [guide](/using-euno/euno-query-language-eql.md).

**Type** - there are two types of workflows to choose from:

1. **New results since last run** - trigger an alert when new results appear compared to the previous run. When you create a new workflow, it runs in the background to generate the first result for comparison.
2. **Results count threshold -** trigger an alert when the number of results meets a predefined condition. Supported operators: `>, >=, <, <=, =`

**Scheduling** - workflows run daily at a time of your choosing. Note that time is always displayed based on your locale.

**Target Channel** -

1. Email - a list of comma separated email addresses
2. Slack - select one channel from the list of pre-approved channels. For more information on defining Slack integration, see the [guide](#setting-up-a-slack-integration) below.
3. Webhook - send a `workflow.triggered` event to endpoints configured in **Account Settings → Webhooks**. For setup details, event payloads, and channel filtering, see the [Webhooks guide](/setup-configuration/account-settings/webhooks.md).

**Tip:**\
Make sure to whitelist our alert email address (**<notifications@euno.ai>**) to prevent notifications from being filtered as spam.

***

### Setting up a Slack Integration

Before you can send Slack notifications, you’ll need to link your Slack workspace.

1. Go to **Account Settings → Linked Accounts → Slack**.
2. Click **Connect Slack**.
3. Complete the OAuth flow to install the Euno Slack App in your workspace.

The Slack App requires the following permissions:

* **`chat:write`** - send messages as @EunoBot
* **`channels:read`** - view basic information about public channels in a workspace
* **`groups:read`** - view basic information about private channels that EunoBot has been added to
* **`users:read`** - view people in a workspace and resolve target names or IDs
* **`users:read.email`** - view email addresses of people in a workspace

Once connected, you will need to invite **@EunoBot** to channels that you wish to allow interactions with. Once invited, you will be able to select these channels in your workflow configuration.

***

### Run History

Euno stores up to **60 days** of workflow history.\
Each record includes:

* Run date and time
* Triggered / Not triggered status
* Success / Failure status
* Error details (if applicable)

Common error reasons:

* **Failed to run query** – invalid or timed-out EQL query
* **Failed to send notification** – issue with email, Slack, or webhook delivery

If a failure occurs, an automatic email will be sent to the workflow owner with the failure information.

***

### Limitations & Best Practices

* **Query timeout**: Workflows have a maximum execution time limit of **60 seconds**. Complex queries may timeout if they take longer to execute. See the EQL [guide](/using-euno/euno-query-language-eql.md) for tips on how to write more efficient EQLs.
* **Result size limits**: Queries returning more than **100,000 results** will fail with a "query result too large" error to prevent system overload.


---

# 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.euno.ai/using-euno/metadata-activation/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.
