---
title: "Plans, runs and extra runs - Workflow Suite"
description: "What a run is, what counts against your plan and what is free, the four plans with their limits, and paid extra runs with a cap you set."
canonical: "https://docs.workflow-suite.app/plans-runs-and-extra-runs"
---

# Plans, runs and extra runs

Every plan has all triggers and all step types. Plans differ in the number of workflow runs, how long the run history is kept, storage limits, the email sending limit and text message alerts.

## What a run is

A run is one execution of a workflow, however many steps it has. A workflow with one step and a workflow with sixty steps and a loop over 300 items each use one run.

**Counts as a run:**

- A run started by a store event, a schedule, an incoming webhook or a storefront event
- A run started by another workflow
- **Run now** in the editor, and **Run again** in the run history
- A run started for real over the Developer API
- A run that fails. It was still a run

**Free:**

- Test runs, **Test this step** and debug sessions, also when run for real
- Events the trigger filter rejects
- Runs that were not started: stopped by loop protection or by the plan limit
- A waiting run does not cost more for waiting
- Function runs inside a workflow. The workflow run is what counts

Runs are counted over a **rolling 30 days**, not per calendar month. A run from 31 days ago no longer counts.

## The plans

| | Free | Starter | Grow | Unlimited |
| --- | --- | --- | --- | --- |
| Price per month | $0 | $19 | $49 | $129 |
| Workflow runs per 30 days | 1,000 | 10,000 | 50,000 | Unlimited |
| Run history kept | 30 days | 60 days | 90 days | 180 days |
| Text message alerts per month | None | 20 | 100 | 300 |
| Email recipients per day | 50 | 500 | 5,000 | 50,000 |
| Files in total | 100 MB | 1 GB | 5 GB | 50 GB |
| Largest file | 5 MB | 10 MB | 25 MB | 50 MB |
| Key-value keys | 1,000 | 10,000 | 100,000 | 1,000,000 |
| Storage for documents | 5 MB | 50 MB | 250 MB | 1 GB |

Plans are billed through Shopify, on your Shopify invoice. You choose and change your plan on Shopify's plan page for the app. The plan usage on the app's **Home** page links to it.

## When the runs are used up

When your plan's runs for the last 30 days are used up, new runs are not started. Each one is kept in the run history as **Not started** with the reason, so you can see what was missed. Runs start again as soon as the rolling window frees up, or when you upgrade or allow extra runs. Runs that are already waiting continue.

Two alerts warn you in time: **Quota warning** at a threshold you choose, and **Quota exceeded**. See [Alerts by email and text message](https://docs.workflow-suite.app/alerts.md).

## Extra runs (pay as you go)

Instead of upgrading, you can go past your plan's included runs. Extra runs are a usage charge of **$1.50 per 1,000 runs** ($0.0015 per extra run). Only runs above your allowance are billed; test runs are always free.

1. On the **Home** page, find the **Extra runs** card.
2. Tick **Allow paid extra runs beyond my plan**.
3. Set **Max extra runs per 30 days**, a safety cap on paid runs. The line under the field shows what that cap costs at most. Leave it blank for no self-limit.
4. Select **Save**. Shopify may ask you to approve the usage charge.

When it is off, runs above your allowance are blocked until the rolling 30-day window frees up. The card shows the extra runs used in the last 30 days.

Above 86,000 extra runs a month, the Unlimited plan ($129 per month) works out cheaper. The **Help** page in the app has a small calculator.

> [!NOTE]
> **Extra runs are set in the app only**
> Turning billed extra runs on or off and setting the cap is only possible in the app, by a person. It cannot be done over the Developer API, on purpose: nothing that costs you money can be switched on by a key. The API shows the current setting.

## Use fewer runs

- **Filter on the trigger.** Events the filter rejects are free. A Condition inside the workflow is not. See [Trigger filters](https://docs.workflow-suite.app/trigger-filters.md).
- **Pick a change trigger over an updated event.** **Product variant price changed** starts far less often than **Product updated**. See [Change triggers with before and after values](https://docs.workflow-suite.app/change-triggers.md).
- **Be careful with busy triggers.** Storefront behaviour triggers and **Inventory quantity changed** can fire thousands of times a day.
- **Batch on a schedule.** One scheduled run that handles 50 orders in a loop is one run, not 50.
- **Schedules add up.** Every 5 minutes is 8,640 runs in 30 days; every hour is 720.

The **Home** page shows your usage, and the **Workflows** list shows runs per workflow for the last 30 days, so you can see where runs go.

## Related

- [How a workflow runs: triggers, steps and runs](https://docs.workflow-suite.app/how-a-workflow-runs.md)
- [Key-value store and Storage](https://docs.workflow-suite.app/key-value-store-and-storage.md)
- [Files, SFTP and downloads](https://docs.workflow-suite.app/files-sftp-and-downloads.md)
