> ## Documentation Index
> Fetch the complete documentation index at: https://loops.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflows

> Workflows let you send emails based on something happening, like a contact property updating, a new contact being created or an external event happening in another platform.

<Warning>
  Our automation feature "Loops" has been renamed to "Workflows".
</Warning>

## Getting Started

To start building your workflow, select a template or start from scratch.

<img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/getting-started.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=3ca8868a9bddc666b8293dc9ed17977f" alt="Workflow template selection" width="2280" height="1284" data-path="images/getting-started.png" />

Templates are added often and we're always open to taking suggestions!

## Building a workflow

A workflow is an email sequence that can be triggered by different events and contain emails, delay timers and branches.

You can add new nodes to your workflow by hovering over an arrow between nodes and clicking the `+` button.

More complex workflows can be built by [adding branches](/workflows/branching).

<img src="https://mintcdn.com/loops/QjyUTbSZfO6QLUMd/images/building-loop.png?fit=max&auto=format&n=QjyUTbSZfO6QLUMd&q=85&s=646e257bddc73e83497c74fc3bf80ccd" alt="Workflow builder canvas with nodes" width="2280" height="2084" data-path="images/building-loop.png" />

## Zoom and canvas navigation

You can zoom in and pan around the workflow canvas, which makes it easier to work with larger and multi-branch workflows.

Zoom and panning uses typical trackpad and mouse gestures, so should be familiar.

**On a trackpad**

* Pinch to zoom in and out
* Use two fingers to pan around the canvas

**With a scroll-wheel mouse**

* Use `⌘/Ctrl` and the scroll wheel to zoom
* Use the scroll wheel to pan vertically
* Use `Shift` and the scroll wheel to pan horizontally

To reset your view back to 100%, click the "Zoom" button that appears at the bottom of the canvas.

## Mailing lists

You can make a workflow send to a specific mailing list by using the dropdown in the top right of the workflow builder.

By selecting lists from this dropdown you can make sure that only contacts from those lists are added to the workflow.

<img src="https://mintcdn.com/loops/bPGNu1Db92yhoFXf/images/loop-mailinglist.png?fit=max&auto=format&n=bPGNu1Db92yhoFXf&q=85&s=956e8b5225a71a1da623003052c6aeae" alt="Mailing list selector in workflow builder" width="2280" height="1049" data-path="images/loop-mailinglist.png" />

<Note>
  When using the **Contact added to list** trigger, this option is removed and
  you can instead select the list from the trigger node.
</Note>

## Nodes

There are six types of nodes available in workflows:

* Trigger
* Email
* Timer
* Audience filter
* Branch ([read more](/workflows/branching))
* Experiment ([read more](/workflows/experiments))

### Triggers

<img src="https://mintcdn.com/loops/ffhyeftgaYR0NShT/images/triggers.png?fit=max&auto=format&n=ffhyeftgaYR0NShT&q=85&s=99ccf7c64edebce1dc92f92d75f3f4d5" alt="Workflow trigger options" width="2280" height="1409" data-path="images/triggers.png" />

The first node to add to a workflow is the trigger. This is what will send new people into the workflow.

There are four trigger options:

* **Contact added**: Triggered whenever a contact has been added to your audience.
  <Info>
    Only contacts who have been added via a [form](/forms/simple-form), the
    [API](/api-reference/intro) or an [integration](/integrations) will be added
    based on this trigger. Contacts added individually to the audience table
    will not be included. Contacts added or updated via CSV will only trigger if
    you select the [Trigger workflows](/add-users/csv-upload#trigger-workflows-via-csv)
    toggle during upload.
  </Info>
* **Contact updated:** Triggered whenever a contact property changes from one value to another. Can also conditionally trigger only if the previous property matches the inputted value.
* **Contact added to list:** Triggered whenever a contact is added to a certain [mailing list](/contacts/mailing-lists). You can select the list from the trigger node.
* **Event received**: Triggered when a certain [event](/events) is sent to Loops by the API or an integration. With this trigger you can start a workflow based on interactions in your app. Common custom events are `signUp`, `canceled` and `activated`.

You can read more about triggers [here](/workflows/triggers).

### Emails

You can add emails at any location inside your workflow, giving you flexibility to send mail immediately after the trigger or after a delay. You can also send to specific contacts by adding an audience filter, or by branching your workflows.

<img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/loop-email.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=d07521dcddc09d27873e6989f4fa401a" alt="Email node configuration in workflow builder" width="2280" height="1434" data-path="images/loop-email.png" />

You can add unlimited emails to each workflow.

To edit an email, click on the email node, then **Edit email**.

When a workflow is active, you cannot edit the email. Click **Pause** to pause the workflow and make changes to your email (and any other nodes). While paused, new contacts will be queued for up to 24 hours; they will enter your workflow as soon as you save your email by clicking **Resume**.

You can copy emails from other workflows by clicking the **Copy existing email** button after creating a new email node. This will bring up a dropdown of emails from other workflows that you can insert into your workflow.

<img src="https://mintcdn.com/loops/I7MiNuGd9K5dwTEQ/images/duplicate-loop-email.png?fit=max&auto=format&n=I7MiNuGd9K5dwTEQ&q=85&s=3912ccc10f8f2a52cb678a3348a888f6" alt="Duplicating emails" width="2280" height="1940" data-path="images/duplicate-loop-email.png" />

### Timers

<img src="https://mintcdn.com/loops/1DdZd7QTRR4Srm-l/images/timer.png?fit=max&auto=format&n=1DdZd7QTRR4Srm-l&q=85&s=34775e1322a25ce0e96886a26f237fa0" alt="Timer node in workflow builder" width="2280" height="1707" data-path="images/timer.png" />

A timer adds a fixed time period between two nodes in the workflow.

For example, you could add a "3 day" timer after a "Contact added" trigger to send an email three days after a signup.

You can select the “Immediately” option to bypass the timer or any increment of time to extend the duration of the workflow.

You can add multiple timers to your workflows, to add delays in different parts of your workflow.

### Audience filters

<img src="https://mintcdn.com/loops/Vqx-auiVy74YQr9S/images/audience-filters.png?fit=max&auto=format&n=Vqx-auiVy74YQr9S&q=85&s=4ff9eaae776b3d5d8a49a953aedd5e1b" alt="Audience filter node in workflow builder" width="2280" height="1707" data-path="images/audience-filters.png" />

Audience filters let you create fine-tuned workflows to target specific contacts.

For example, you can check in with contacts that have not signed up as a paying user 3 days after signing up by setting the Custom Event to `signup` the Timer duration to 3 days and the audience filter to `paid` equals `false`.

There are two options for applying audience filters:

* **All following nodes**: this will apply the filter when contacts reach every following node. If a contact no longer matches the filter's audience when they reach a following node, they will be removed from the workflow.
* **Next node only**: this will apply your filter before contacts reach the next node. This is a one-time filter and any changes to the contact's value after the filter will not be taken into account.

<CardGroup columns="2">
  <Card title="Branching workflows" icon="code-branch" href="/workflows/branching">
    Learn how to branch workflows using audience filters.
  </Card>
</CardGroup>

## Metrics

Click over to the **Metrics** tab to view simple metrics inline within the builder.

<img src="https://mintcdn.com/loops/W7EWSDUW0GR-XWrp/images/metrics.png?fit=max&auto=format&n=W7EWSDUW0GR-XWrp&q=85&s=885f5f8dc42e870f88ff5bbe6aa3e018" alt="Workflow metrics tab" width="2280" height="1859" data-path="images/metrics.png" />

Click **View details** to view detailed metrics for your workflow.

<img src="https://mintcdn.com/loops/1DdZd7QTRR4Srm-l/images/view-full-metrics.png?fit=max&auto=format&n=1DdZd7QTRR4Srm-l&q=85&s=daf80a1cc0012a5bd8d29187acfd7cd6" alt="Workflow metrics details view" width="2280" height="1494" data-path="images/view-full-metrics.png" />

## Testing workflows

You can test if a workflow works as expected by using email addresses with `@example.com` and `@test.com` domains (for example `test@example.com`).

First, add these as contacts in your audience, then depending on how your workflows are set up, you can add and update properties, or send events to these email addresses to see how contacts move through your workflows.

Emails will not be sent to `@example.com` or `@test.com` email addresses so this is a good method to test emailing contacts without affecting your sending domain’s reputation.

You can also send test emails for each of the emails in a workflow. Click on an email node and then the **Send a preview** airplane icon above the preview that appears.
