> For the complete documentation index, see [llms.txt](https://docs.shortcutco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shortcutco.com/readme/automations.md).

# Automations

Automatic customer messages and follow-up work. Covers campaigns you build, Shortcut's built-in automations, and how to see exactly what each one did.

Automations send the right message, or create the right follow-up, at the right time, so nobody on your team has to remember.

Only **company admins** can open Automations. Open **Settings → Operations → Automations** (click your name at the bottom-left of the sidebar, then **Settings**), or type "Automations" into **Jump to…**. It opens inside Settings; click **Back to Shortcut** at the top of the settings list to return. [Open Automations →](https://shortcutco.com/settings/automations)

<figure><img src="https://2299783971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOhi7KtJ4vY1pDKwWu5SV%2Fuploads%2Fgit-blob-b3defa64839d2c5470e615dad83bbaa03ce713d4%2Fautomations-list.png?alt=media" alt="The Automations list on the Campaigns tab inside Settings, with the Review requests row pinned first and the built-in Library automations below it"><figcaption><p>Automations lives under Settings → Operations. Review requests is pinned to the top of the list.</p></figcaption></figure>

## Two kinds of automation

**Campaigns** are the automations you build. Each one has three parts:

* a **start**, such as "an invoice becomes overdue"
* **steps**, such as "email them, wait 7 days, create a task if they still haven't paid"
* **rules** for how often it can run

You build a campaign from a template or from scratch, review it, then start it. Shortcut records everything the campaign does, message by message.

**Built-in automations** are the ready-made messages Shortcut has always sent, like **Proposal Sent**, **Invoice Paid**, and **Day-Before Reminder**. They show in the same list with a **Library** badge. If you built or duplicated your own automations before campaigns existed, those show with a **Legacy** badge. Both keep working exactly as they did. See [Library and legacy automations](#library-and-legacy-automations).

**Review requests** has its own pinned row at the top of the list and its own settings page. See [Review requests](/readme/automations/review-requests.md).

{% hint style="info" %}
Campaigns are included on the current Shortcut plan and during your free trial. Some older plans can only switch the built-in automations on and off and edit their wording. On those plans the **Templates** tab says *Editing is limited on your plan* and there's no **New campaign** button. If your plan doesn't include automations, you'll see a preview of the page instead.
{% endhint %}

## How a campaign works

{% stepper %}
{% step %}

### Something starts it

Every campaign has at least one start. There are three kinds:

* **When something happens**: a business event, such as a visit being scheduled or an invoice becoming overdue.
* **When customers meet conditions**: Shortcut keeps checking and starts the campaign for each customer who newly matches your rules.
* **On a date or schedule**: a set date, a date relative to a record (like "3 days before a visit"), or a repeating schedule (like "every Monday at 9:00").
  {% endstep %}

{% step %}

### Each start becomes a run

A **run** is one trip through the campaign for one customer, or for one invoice, visit, or estimate. The campaign's **Run settings** decide how often the same customer or record can start a new run.
{% endstep %}

{% step %}

### Steps do the work

Steps send emails and texts, wait, notify your team, create tasks, change tags and custom fields, and split into paths. Each step can have its own **Only run when** condition.
{% endstep %}

{% step %}

### Everything is recorded

Every message gets a **receipt**: exactly what was sent, to whom, and what the email or text provider reported back. Every run shows the steps it took.
{% endstep %}

{% step %}

### Changes only affect new runs

Each time you publish, the campaign gets a new version number (v1, v2, and so on). Runs already in progress finish on the version they started with. Only new starts use your changes.
{% endstep %}
{% endstepper %}

To build one, see [Build and publish a campaign](/readme/automations/build-and-publish-a-campaign.md). To see what one did, see [Campaign results, activity, and receipts](/readme/automations/campaign-activity-and-receipts.md).

## Campaign statuses

| Status       | What it means                                                                                    |
| ------------ | ------------------------------------------------------------------------------------------------ |
| **Draft**    | Saved but never started. Nothing runs.                                                           |
| **Live**     | Running. New customers who qualify start runs. The campaign's own page shows this as **Active**. |
| **Stopped**  | Not accepting anyone new. Runs in progress were ended when you stopped it.                       |
| **Archived** | Stopped and hidden from the default list. History and receipts are kept.                         |

## The Automations list

The page has three tabs:

* **Campaigns**: everything, with Review requests pinned first.
* **Templates**: ready-to-edit starting points, grouped by what they're for. See [Templates, starts, and steps](/readme/automations/automations-list-+-triggers-exact.md).
* **Needs attention**: only campaigns with something to look at. The tab shows a count when there is one.

Use **Search name or purpose** to find something by name. The filter chips narrow the list:

| Filter          | Options                                                           |
| --------------- | ----------------------------------------------------------------- |
| **Status**      | Live, Draft, Stopped, Archived                                    |
| **Starts when** | Something happens, Customers match conditions, A date or schedule |
| **Channel**     | Email, SMS                                                        |
| **Health**      | Healthy, Needs attention                                          |

Sort by **Last updated**, **Name**, or **Runs**. Archived campaigns are hidden unless you tick **Archived** in the **Status** filter.

### Reading a row

Each row has five columns: **Campaign · Starts when · Activity · Health · Updated**.

* **Campaign**: a status icon (hover it to see **Live**, **Draft**, **Stopped**, or **Archived**), the name, and any badges: **Library**, **Legacy**, **Built-in** (Review requests), or **Draft changes** (a live campaign with saved edits that aren't published yet).
* **Starts when**: what starts it, for example *Invoice paid* or *Lead created · or Customer tag added*.
* **Activity**:
  * Campaigns show **N runs** and **N delivered**, or **N need attention** in red if something went wrong. These are all-time totals.
  * Library and legacy automations show **N starts · 30d** (starts in the last 30 days).
  * Review requests shows **N sent** and **N clicked**.
* **Health**: whether anything has gone wrong. It's separate from status: a live campaign can still need attention, and a stopped one can be perfectly fine.
* **Updated**: when it was last changed.

| Health                | What it means                                                                                                                             |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Healthy**           | Nothing has gone wrong. **Healthy · 3 active now** means three runs are in progress.                                                      |
| **N needs attention** | At least one run failed, or at least one message failed, bounced, was blocked, or has an unknown outcome. Open **Activity** to see which. |
| **Not published**     | A draft that has never been started.                                                                                                      |
| **Stopped**           | Not accepting new customers. For Review requests this reads **Not active**.                                                               |
| **History retained**  | Archived. Its activity and receipts are kept.                                                                                             |

### The row menu

Click **⋮** on a row:

| Row             | Menu                                                                                                                       |
| --------------- | -------------------------------------------------------------------------------------------------------------------------- |
| Campaign        | **Open**, **Edit draft**, **Duplicate**, **Stop…** (live), **Restart…** (stopped), **Archive…** or **Restore…** (archived) |
| Library         | **Open**, **Deactivate…** or **Activate**                                                                                  |
| Legacy          | **Open**, **Duplicate**, **Deactivate…** or **Activate**, **Archive…**                                                     |
| Review requests | No menu. Click the row to open its settings.                                                                               |

**Duplicate** on a campaign makes a new draft called *\[name] copy* and opens it. **Stop…**, **Restart…**, **Archive…**, and **Restore…** ask you to confirm first. See [Stop, restart, archive, and restore](/readme/automations/campaign-activity-and-receipts.md#stop-restart-archive-and-restore).

## Library and legacy automations

Your built-in automations haven't been converted or switched off. They keep running as before, and new campaigns don't change them. The one exception is the day-before reminder, explained below.

The **Library** set (see [what each one does](/readme/automations/automations-list-+-triggers-exact.md#built-in-library-automations)):

* **Proposal Sent**, **Proposal Reminder**, **Proposal Voided**
* **Job Scheduled**, **Job Rescheduled**, **Job Canceled**, **Day-Before Reminder**
* **Invoice Paid**, **Invoice Overdue**, **Payment Failed**
* **New Lead Welcome**

Opening a Library or Legacy row takes you to the classic editor. There you can see how often it has triggered, change the wording of its messages (merge tags like `{{FIRSTNAME}}` and `{{COMPANYNAME}}` fill in the customer's details), and click **Save changes**, **Deactivate**, or **Save & Activate**. To make your own copy of a Library automation, use **Duplicate** from the **⋮** menu inside the classic editor. On some older plans you can only change the wording and timing there.

<figure><img src="https://2299783971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOhi7KtJ4vY1pDKwWu5SV%2Fuploads%2Fgit-blob-29bcd8a77c5e5cc345222a8182dbd0ca41c54b4b%2Fautomation-detail-active-toggle.png?alt=media" alt="The classic editor for the Day-Before Reminder library automation, showing its trigger, trigger counts, and email step"><figcaption><p>Library and legacy automations still open in the classic editor.</p></figcaption></figure>

{% hint style="warning" %}
**Avoid sending the same thing twice.** If you build a campaign that does the same job as a Library automation, **Deactivate** the Library one. For example, an **Overdue invoice recovery** campaign next to **Invoice Overdue**, or a **Visit reminder** campaign next to **Day-Before Reminder**. Shortcut doesn't do this for you, except in the case below.
{% endhint %}

### The day-before reminder is the one exception

If you publish a campaign that starts on **Day before service (grouped per customer)**, it **replaces** the old Day-Before Reminder. You have to confirm this on the review screen. From then on:

* The old reminder never sends again, **even if you later stop or archive the new campaign**. If you stop the campaign, no day-before reminders go out at all until you restart it.
* Only one campaign can own the day-before reminder. To change it, edit that campaign.
* Shortcut won't let you switch over while old reminders are still waiting to send. Try again after they've gone out.

The new reminder goes out at the same time of day as the old one. It sends one message per customer covering all of their visits tomorrow.

## Good to know

{% hint style="warning" %}

* **Timing.** Campaign texts to customers only go out between 8:00 AM and 8:00 PM in the campaign's timezone. A text that's due overnight waits until 8:00 AM. Emails, and texts to your team, go out as soon as their step is reached. If time of day matters for those, add a **Sending window** step before the message. Every template that messages customers already has one, except **Day-before service reminder**, which goes out at the same time of day as the old reminder.
* **Timezone.** Each campaign uses the timezone in its **Run settings**, copied from your company timezone when the campaign is created. If your company timezone is ever corrected, update each campaign's **Run settings** too.
* **Opted-out and bounced customers.** These messages show as **Skipped**, not failed.
  * **Texts:** a customer who replied **STOP**, or a number your team has blocked, isn't texted by any automation, including campaigns, the day-before reminder, and [review requests](/readme/automations/review-requests.md).
  * **Emails** are held for an address that bounced or marked you as spam, and for a customer who turned off that kind of email from you. A campaign's emails are **billing**, **service**, or **marketing** depending on what started the run: an invoice or payment start sends billing emails, a visit, service, estimate, or task start sends service emails, and a customer, lead, or tag start sends marketing emails. Of the Library automations, **Invoice Overdue**, **Invoice Paid**, and **Payment Failed** are **billing** emails, the proposal and job automations are **service** emails, and **New Lead Welcome** is a **marketing** email. See [Which kind a campaign email is](/readme/finances-invoices-and-payments/customer-email-preferences.md#which-kind-a-campaign-email-is).
* **Deactivated customers.** Campaigns don't check whether a customer is active. If a campaign shouldn't reach former customers, add the rule **Customer account status** **is** **active** to its start.
* **Manual payments.** If a customer pays by cash or check, [mark the invoice as paid](/readme/finances-invoices-and-payments/mark-an-invoice-as-paid-manual.md) so payment reminders stop.
* **On your phone.** In the Shortcut mobile app you can watch campaigns, open receipts, and stop a campaign or a single run. Building and publishing happen on the web.
  {% endhint %}

## Related pages

* [Build and publish a campaign](/readme/automations/build-and-publish-a-campaign.md)
* [Templates, starts, and steps](/readme/automations/automations-list-+-triggers-exact.md)
* [Campaign results, activity, and receipts](/readme/automations/campaign-activity-and-receipts.md)
* [Review requests](/readme/automations/review-requests.md)
* [Troubleshooting: an automation didn't fire](/readme/automations/troubleshooting-an-automation-didnt-fire.md)

{% hint style="info" %}
Still stuck? Email **<hello@shortcutco.com>** with the automation or campaign name, the customer name, and a screenshot of its **Activity** tab.
{% endhint %}
