> 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/automations-list-+-triggers-exact.md).

# Templates, starts, and steps

Every campaign template and what it does, every event a campaign can start from, and the built-in library automations.

This page is the reference for building campaigns: the templates on the **Templates** tab, every event a campaign can start from, and the built-in **Library** automations. [Open Automations →](https://shortcutco.com/settings/automations)

For how to build and publish, see [Build and publish a campaign](/readme/automations/build-and-publish-a-campaign.md).

## Templates

Open **Automations → Templates**. Each card shows four lines before you commit to anything:

* **Starts**: what starts it
* **Does**: its steps in order
* **Repeats**: how often the same customer or record can run through it
* **Needs**: what has to be set up for it to work

**Use template** opens a new, unsaved campaign with that recipe filled in. Nothing is live until you publish it, and you can change everything first.

<figure><img src="https://2299783971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOhi7KtJ4vY1pDKwWu5SV%2Fuploads%2Fgit-blob-d0d75cc6cbd7836c5065e28a7ad68aac043e0e1e%2Fautomations-templates-tab.png?alt=media" alt="The Templates tab showing the Get paid faster, Close more estimates, and Confirm visits groups, each card with its Starts, Does, Repeats, and Needs lines"><figcaption><p>Each template card shows how it starts, what it does, how often it repeats, and what it needs.</p></figcaption></figure>

### Get paid faster

**Overdue invoice recovery**: reminds customers about overdue invoices and hands ones that stay unpaid to your team.

* **Starts:** When customers meet conditions. The invoice is sent or overdue, 7 or more days past due, with a balance left.
* **Does:** Window → Email → wait 7 days → Branch → Task. It emails during a Mon–Fri 9:00–17:00 sending window, waits a week, and if the invoice still has a balance creates a staff task, *Review overdue invoice*, due the next day.
* **Repeats:** For the same invoice, at most once every 14 days. The run ends as soon as the invoice is paid or voided.
* **Needs:** Email · Staff assignee

### Close more estimates

**Estimate follow-up**: emails customers whose estimate is still pending, then creates a staff task for larger estimates.

* **Starts:** Estimate Changed (custom conditions). The estimate was sent and is awaiting a response.
* **Does:** wait 3 days → Window → Email → wait 3 days → Branch → …. After 3 days it waits for a 9:00–18:00 sending window (every day), then emails the customer if the estimate is still pending. Estimates of $1,000 or more that are still pending after another 3 days get a staff task, *Follow-up high-value estimate*.
* **Repeats:** For the same estimate, at most once every 7 days
* **Needs:** Email · Staff assignee

### Confirm visits

**Day-before service reminder**: combines tomorrow's visits into one reminder per customer.

* **Starts:** Day before service (grouped per customer)
* **Does:** Email. One email per customer listing tomorrow's visit date and services.
* **Repeats:** Every time
* **Needs:** Email
* Publishing it permanently replaces the Library **Day-Before Reminder**. See [the day-before exception](/readme/automations.md#the-day-before-reminder-is-the-one-exception).

**Visit reminder**: a separate text reminder for each visit, using the visit's current date.

* **Starts:** Visit scheduled. Only visits scheduled after you publish.
* **Does:** Date wait → Window → SMS. It waits until the day before the visit, then for a 9:00–18:00 sending window (every day), then texts the customer: *Reminder: your \[your company name] visit is scheduled for Monday, October 5.* The text only goes if the visit is still scheduled and its service isn't paused.
* **Repeats:** Once per visit
* **Needs:** SMS number
* A visit booked for tomorrow before 6:00 PM still gets its reminder that day. One booked later that evening, or for the same day, doesn't get one.

**Skipped visit follow-up**: gives your team a task and a notification without messaging the customer.

* **Starts:** Occurrence Changed (custom conditions), meaning a visit is marked skipped or needs rescheduling.
* **Does:** Task → Notify staff → Wait for event → Notify staff. It creates the task *Review the skipped visit and contact the customer if rescheduling is needed*, due in 1 day, and notifies company admins. If the task isn't completed and the visit hasn't been rescheduled, completed, or canceled within a day, it notifies them again.
* **Repeats:** Once per visit
* **Needs:** Staff assignee

### Win back quiet customers

**Seasonal service offer**: reaches customers who've had service before but have no visit scheduled.

* **Starts:** When customers meet conditions. Between Sept 1 and Nov 30, the customer has had service and has nothing upcoming.
* **Does:** Window → Email. The email waits for a 9:00–18:00 sending window (every day).
* **Repeats:** For the same customer, at most once every 90 days
* **Needs:** Email

**Customer reactivation**: a win-back offer based on completed visits only. Logins and notes don't count as activity.

* **Starts:** When customers meet conditions. The customer has had service before, no visit completed in the last 90 days, and nothing upcoming.
* **Does:** Window → Email. The email waits for a 9:00–18:00 sending window (every day).
* **Repeats:** For the same customer, at most once every 90 days
* **Needs:** Email
* This will also reach customers you've deactivated. Add **Customer account status** **is** **active** to the audience if you don't want that.

### Keep work moving

**Priority customer follow-up**: an example of a campaign with two different starts that share one follow-up.

* **Starts:** Lead created · or Customer tag added
* **Does:** Branch → Notify staff. It notifies company admins if the person is a lead or prospect, or an active customer.
* **Repeats:** For the same customer, at most once every 30 days
* **Needs:** Staff assignee

**Delivery evidence follow-up**: tells your team when a campaign email is delivered.

* **Starts:** Message Delivered (custom conditions). An automation email is confirmed delivered.
* **Does:** Notify staff
* **Repeats:** Every time
* **Needs:** Staff assignee
* This notifies company admins for **every** delivered campaign email, so it's best kept to small campaigns.

{% hint style="info" %}
**"Needs: Staff assignee"** means the template creates tasks or notifications for your team. Notifications go to company admins unless you change **Notify**. Tasks are created unassigned on the customer's record.
{% endhint %}

## Ways a campaign can start

| Start card                         | Start type   | What it does                                                                                                                                                 |
| ---------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **When something happens**         | **Event**    | Starts when one of the events below happens after the campaign goes live.                                                                                    |
| **When customers meet conditions** | **Audience** | Keeps checking your rules and starts for each customer or record that newly matches. Existing matches are only included if you choose that on first publish. |
| **On a date or schedule**          | **Date**     | **A specific date**, or **A date relative to a record** (before or after a date field, optionally **Repeat every year (anniversary)**).                      |
| (switch **Start type**)            | **Schedule** | **Daily**, **Weekly**, **Monthly**, or **Yearly** at a set time, with optional **Starts on** / **Ends on**.                                                  |

## Events you can start from

The **Event** picker groups them like this:

**Visits**

* Day before service (grouped per customer)

**Customers**

* Customer created · Customer account status changed · Customer marked as churned · Customer account became active
* Lead created · Public intake submitted · Lead lifecycle stage changed · Lead source changed · Lead dismissed

**Invoices & payments**

* Customer autopay setting changed
* Invoice record created (including drafts) · Invoice sent · Invoice paid · Invoice became overdue
* Invoice payment attempt failed · Invoice payment recorded (partial or full)
* Card added on file · Card details updated · Card removed from file

**Estimates**

* Estimate created · Estimate sent · Estimate accepted · Estimate declined · Estimate expired · Estimate voided

**Services & visits**

* Service record created · Service status changed · Service paused · Service resumed · Service canceled · Service assigned crew changed
* Visit scheduled · Visit date changed · Visit completed · Visit canceled · Visit skipped · Visit needs rescheduling · Crew arrived at visit · Visit crew override changed

**Tags & fields**

* Customer tag added · Customer tag removed
* Customer field value added · Customer field value changed · Customer field value cleared

**Staff work**

* Task created · Task completed · Task reopened

**Messages**

* SMS received
* Automation message accepted · Automation message delivered · Automation email bounced · Automation message failed
* Automation email open reported · Automation email link click reported

{% hint style="info" %}
"Open reported" and "click reported" are what the email provider tells us. They are not proof a person read the email. Some mail apps open messages automatically.
{% endhint %}

A few things can't be used as starts or conditions yet, such as territories, appointments, ZIP codes, and ACH bank details.

The event also decides which kind of email the campaign sends. That matters for customers who've turned some kinds of email off:

* **Billing:** **Invoices & payments** events, except **Customer autopay setting changed**
* **Service:** **Day before service**, and the **Estimates**, **Services & visits**, and **Staff work** events, and **SMS received**
* **Marketing:** all other events

See [Which kind a campaign email is](/readme/finances-invoices-and-payments/customer-email-preferences.md#which-kind-a-campaign-email-is).

## Steps

| Group          | Steps                                                                 |
| -------------- | --------------------------------------------------------------------- |
| **Messages**   | **Email**, **SMS**                                                    |
| **Timing**     | **Delay**, **Sending window**, **Date wait**                          |
| **Operations** | **Task**, **Internal notification**, **Tag update**, **Field update** |
| **Paths**      | **Branch**, **Wait for event**                                        |

What each one does is covered in [Build and publish a campaign](/readme/automations/build-and-publish-a-campaign.md#add-steps).

## Built-in library automations

These ready-made automations show in the list with a **Library** badge. They open in the classic editor, not the campaign builder. Turn each one on or off with **⋮ → Activate** / **Deactivate…**.

| Automation              | What it does                                                                                                                                   | Starts when (as shown on the row)                       |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| **New Lead Welcome**    | Welcomes a brand-new lead.                                                                                                                     | New Lead appears in system                              |
| **Proposal Sent**       | Sends the customer their proposal.                                                                                                             | Estimate sent                                           |
| **Proposal Reminder**   | Follows up on a sent proposal that still needs a response.                                                                                     | Estimate reminder                                       |
| **Proposal Voided**     | Tells the customer a proposal is no longer valid.                                                                                              | Estimate voided                                         |
| **Job Scheduled**       | Confirms a scheduled service date.                                                                                                             | Job schedule                                            |
| **Job Rescheduled**     | Shares the new date when a scheduled service moves.                                                                                            | Job reschedule                                          |
| **Job Canceled**        | Tells the customer a scheduled service was canceled.                                                                                           | Job canceled                                            |
| **Day-Before Reminder** | Reminds customers about tomorrow's service.                                                                                                    | Job day before                                          |
| **Invoice Paid**        | Confirms a payment with a receipt.                                                                                                             | Invoice paid                                            |
| **Invoice Overdue**     | Follows up on an unpaid invoice.                                                                                                               | Invoice overdue 30 days (or the number of days you set) |
| **Payment Failed**      | Asks the customer to update payment details after a failed charge. It won't send if a newer payment for that invoice is already going through. | Payment failed                                          |

<details>

<summary>Classic editor reference (library and legacy automations only)</summary>

In the classic editor you can change a library automation's wording and timing. On the current plan you can also restructure a **Legacy** automation or a duplicate. The right-hand panel has three sections:

* **Triggers**: New user, User status change, Estimate sent, Estimate reminder, Estimate voided, New message, Estimate accepted, Estimate rejected, Job schedule, Job reschedule, Job canceled, Job day before, Job completion, Invoice created, Invoice overdue, Invoice paid, Payment failed, New inquiry from webform, and **When...** for scheduled automations.
* **Special**: **After...** (a delay) and **Wait until...** (a weekday and time window).
* **Actions**: **Send email**, **Send SMS**, **Add task**.

Messages there use merge tags like `{{FIRSTNAME}}`, `{{COMPANYNAME}}`, `{{SCHEDULEDDATE}}`, `{{TOTALAMOUNT}}`, and `{{ESTIMATELINK}}`.

New automations are always built as campaigns. The classic editor is only for automations that already exist.

</details>

<details>

<summary>Still stuck?</summary>

Email **<hello@shortcutco.com>** with the template or automation name and a screenshot.

</details>
