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

# Triggers

> Every event that can start an automation, plus filters, audience rules, and re-entry settings.

A trigger is the event that pulls a contact into your automation. Each automation has exactly one trigger; the trigger's settings control who gets in and how often.

## Trigger events

What's available depends on your connected integrations:

### Store events (Shopify / WooCommerce)

| Event                          | Fires when                 | Typical use                                                      |
| ------------------------------ | -------------------------- | ---------------------------------------------------------------- |
| **Checkout started**           | A shopper begins checkout. | [Abandoned cart recovery](/automations/abandoned-cart-recovery). |
| **Order placed**               | A new order is created.    | Thank-you and cross-sell flows.                                  |
| **Order paid**                 | Payment is confirmed.      | Receipts-adjacent follow-ups.                                    |
| **Order fulfilled**            | The order ships.           | Delivery follow-up, review requests.                             |
| **Order cancelled / refunded** | An order is reversed.      | Service recovery flows.                                          |
| **Product back in stock**      | Inventory returns.         | Back-in-stock alerts to waiting customers.                       |

### Retainful events

| Event                             | Fires when                                                                             |
| --------------------------------- | -------------------------------------------------------------------------------------- |
| **Subscribed to list**            | A contact joins a specific list — the classic welcome-series trigger.                  |
| **Subscribed to email marketing** | A contact opts in to marketing.                                                        |
| **Email opened / clicked**        | A contact engages with a campaign or flow email — great for interest-based follow-ups. |

### Custom events

Any event your own systems send through the [Events API](/developers/api/events) can trigger an automation — a booking confirmed, a subscription renewed, a quiz completed. The event's data is available for filters and personalization.

## Trigger filters

Filters narrow which events qualify, using the event's own data. Examples:

* Order total **is greater than** 100
* Checkout currency **is** USD
* List **is** "VIP waitlist"

An event that doesn't pass the filters simply doesn't start the flow for that contact.

## Audience filters

Where trigger filters look at the **event**, audience filters look at the **contact** — their properties, segment membership, or history. Example: only enter contacts whose order count is 1 (first-time buyers).

## Re-entry rules

What happens when the same contact triggers the flow again?

| Setting                       | Behavior                                                                                                                                                                                                |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **No re-entry**               | One trip through the flow, ever. Right for welcome series.                                                                                                                                              |
| **Allow re-entry**            | Enter again any time the trigger fires (after finishing the previous run).                                                                                                                              |
| **Re-entry after a cooldown** | Enter again only after a set number of hours, days, or weeks. Right for [cart recovery](/automations/abandoned-cart-recovery#re-entry) (1 day) and for win-back flows you don't want to repeat monthly. |

<Note>
  A contact is only ever in one run of a given automation at a time — triggering it again mid-flow doesn't create a second parallel run.
</Note>

## Exit early

Flows can drop a contact out before the end when the goal is reached — most importantly, a cart recovery flow should stop as soon as the shopper completes their purchase, so nobody gets a "you forgot something!" email about an order they already placed.

<Warning>
  Exiting on the goal is not automatic — it happens only if you configure an exit rule. For cart recovery, the rule to set is [Order paid **or** Order fulfilled since the start of the flow](/automations/abandoned-cart-recovery#exit-rule).
</Warning>
