> For the complete documentation index, see [llms.txt](https://docs.does.qa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.does.qa/configuration/run-recipes.md).

# Run Recipes

A **Run Recipe** is a saved Run setup: which Flows and Test Cases to include, plus any Value overwrites. Use one when the same selection should start from **Settings**, a [Schedule](/configuration/schedules.md), or [CI / CD](/configuration/ci-cd.md).

Create and manage recipes under **Settings → Run Recipes**. Open a recipe to edit it, or use **Run** to start it straight away.

## When to use a Recipe

* Start the same smoke or staging selection without re-picking tags each time.
* Point Schedules and CI at one recipe so every trigger stays aligned.
* Overwrite Values for an environment without editing each Flow.
* Iterate a list of Value sets, such as country or currency variants, in one recipe.

## Create a Recipe

{% stepper %}
{% step %}

## Open Run Recipes

Go to **Settings → Run Recipes**, then create a new recipe and give it a clear **Title**.
{% endstep %}

{% step %}

## Choose Flow filters

Control which Flows are included:

| Filter           | What it means                                    |
| ---------------- | ------------------------------------------------ |
| **Include Tags** | The Flow must have **all** of the selected tags  |
| **Exclude Tags** | The Flow must have **none** of the selected tags |

Tags usually come from [Tag Test](/test-steps/utility/tag-test.md) on each Flow Branch. See [Build smoke and regression coverage](/better-coverage/build-smoke-and-regression-coverage.md).
{% endstep %}

{% step %}

## Choose Test Case filters

Optionally narrow Test Cases inside the matching Flows with the same include and exclude tag rules.
{% endstep %}

{% step %}

## Set Value overwrites

Add key-value pairs that replace matching account Values from [Assets → Values](/values/creating-values.md) for this Run. When Start Run, DoesQA Run, or CI/CD body Values set the same name, those this-run Values win. Full order: [Value Store](/values/value-store.md).

Example:

```json
{
  "BASE_URL": "https://staging.example.com",
  "USERNAME": "testuser123",
  "COUNTRY": "UK",
  "FEATURE_FLAG_CHECKOUT_V2": true
}
```

Use overwrites for environment URLs, credentials, regions, or feature flags without editing the Flow.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Pro tip:** Name recipes after the job they do, such as `Smoke - Staging` or `Checkout - UK DE FR`, so Schedules and CI keys stay obvious.
{% endhint %}

## Iterate over Value sets

Provide an array of objects in **Value Overwrites** when the same Flows should run once per data set. Each object is one pass with its own Values.

Set `primaryValue` inside each object when you want results to show which data set ran.

```json
[
  {
    "primaryValue": "United Kingdom",
    "COUNTRY": "UK",
    "USERNAME": "user_uk",
    "BASE_URL": "https://uk.example.com",
    "CURRENCY": "GBP"
  },
  {
    "primaryValue": "Germany",
    "COUNTRY": "DE",
    "USERNAME": "user_de",
    "BASE_URL": "https://de.example.com",
    "CURRENCY": "EUR"
  },
  {
    "primaryValue": "France",
    "COUNTRY": "FR",
    "USERNAME": "user_fr",
    "BASE_URL": "https://fr.example.com",
    "CURRENCY": "EUR"
  }
]
```

In this example the recipe runs the selected Flows three times: once for the UK, once for Germany, and once for France.

## Related

* [Schedules](/configuration/schedules.md)
* [CI / CD](/configuration/ci-cd.md)
* [Value Store](/values/value-store.md)
* [Tag Test](/test-steps/utility/tag-test.md)
* [Build smoke and regression coverage](/better-coverage/build-smoke-and-regression-coverage.md)
* [Run across environments](/better-coverage/run-across-environments.md)
* [Max Concurrency](/configuration/max-concurrency.md)
