---
title: "Introduction to Workflow Suite"
description: "Workflow Suite automates your Shopify store: a visual editor with triggers, conditions, Shopify actions, HTTP requests, email, files and code steps."
canonical: "https://docs.workflow-suite.app/introduction-to-workflow-suite"
---

# Introduction to Workflow Suite

Workflow Suite automates your Shopify store. You build a workflow in a visual editor: one **trigger** that starts it, and **steps** that do the work. The app runs the workflow for you every time the trigger happens, and keeps a history of every run.

A few examples of what merchants build:

- Tag every order above an amount, and tell the team in Slack.
- Hide a product when it sells out and bring it back when stock returns.
- Email a buyer who left a checkout behind.
- Send new orders to an ERP, or let the ERP set stock by SKU.
- Pick up a CSV file from an SFTP server every morning and update prices from it.

## What a workflow is made of

**One trigger.** Every Shopify event (order created, product updated, refund created and many more), change triggers that tell you what changed with the value before and after (tags added, price changed, back in stock, metafield changed), schedules, a manual run, an incoming webhook from another system, another workflow, storefront behaviour, and waiting triggers such as an abandoned checkout. See [Choosing a trigger](https://docs.workflow-suite.app/choosing-a-trigger.md).

**Steps.** Each step does one thing, and later steps can read what earlier steps returned:

| Step | What it does |
| --- | --- |
| Condition | Splits the workflow: one path when the rules match, another when they do not |
| Repeat for each | Repeats steps once for every item of a list, for example every line item |
| Wait | Pauses the run for minutes, hours or days |
| Shopify actions | Ready-made actions with a simple form, plus every mutation and query of the Shopify Admin API |
| HTTP request | Calls any API or webhook URL |
| Send email | Sends an email through your own sender |
| Slack, Discord and Teams | Posts a message to a channel |
| Run function | Runs your own JavaScript |
| Liquid script | Reads and changes your store from one Liquid script |
| Key-value store and Storage | Remember values and documents between runs |
| Files, File transfer, Download file | Work with files, SFTP, FTP and FTPS servers and https links |
| Start another workflow | Starts a run of another workflow |
| Log and Fail the run | Write a note into the run history, or end the run as failed |

Every text field of every step accepts variables and Liquid. See [Variables and the variable picker](https://docs.workflow-suite.app/variables.md) and [Liquid in every field](https://docs.workflow-suite.app/liquid-in-fields.md).

## Built to be tested

- **Test** runs the workflow as it is on screen. By default it is a preview: reads and conditions run for real, and steps that would change something only report what they would do.
- **Test this step** runs one step on its own.
- **Debug** runs the workflow one step at a time, with breakpoints.
- **Versions** keeps every saved change, and you can restore any of them.

See [Test, preview and debug](https://docs.workflow-suite.app/test-preview-and-debug.md).

## Built to keep running

- Steps that fail for a temporary reason are tried again automatically. See [Automatic retries](https://docs.workflow-suite.app/automatic-retries.md).
- Loop protection recognises the echo of a workflow's own change and stops workflows from triggering each other in circles. See [Loop protection](https://docs.workflow-suite.app/loop-protection.md).
- The run history shows every run with each step's result, its error and its tries. See [Run history and troubleshooting](https://docs.workflow-suite.app/run-history-and-troubleshooting.md).
- Alerts tell you by email, and by text message on paid plans, when a run fails or a workflow is turned off. See [Alerts by email and text message](https://docs.workflow-suite.app/alerts.md).

## Around the app

| Page | What it is for |
| --- | --- |
| Home | Runs, plan usage, top workflows, recent failures, notification settings and extra runs |
| Workflows | Create, edit, test and turn workflows on or off |
| Functions | Your saved JavaScript functions for the Run function step |
| Permissions | Grant or revoke the store data your workflows may read and write |
| Secrets | Encrypted values such as API keys, read as `{{ secrets.NAME }}` |
| Files | The files your workflows store and read |
| Email senders | The mail accounts the Send email step sends through |
| Run history | Every run with its steps, results and errors |
| Developer | API keys, the REST API and the MCP server for AI assistants |
| Help | Support, documentation and plans |

## Plans

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 and text message alerts. A run is one execution of a workflow, however many steps it has. Test runs are free. See [Plans, runs and extra runs](https://docs.workflow-suite.app/plans-runs-and-extra-runs.md).

## Where your data lives

Workflow Suite is hosted in the European Union (Google Cloud, region europe-west1, Belgium). Run data is stored encrypted. See [Data, privacy and hosting](https://docs.workflow-suite.app/legal.md).

## Next steps

- [Build your first workflow](https://docs.workflow-suite.app/build-your-first-workflow.md) - from a blank canvas to a workflow that is turned on.
- [Start from a template](https://docs.workflow-suite.app/start-from-a-template.md) - more than 140 ready-made workflows.
- [How a workflow runs: triggers, steps and runs](https://docs.workflow-suite.app/how-a-workflow-runs.md) - triggers, steps and runs in detail.
