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

# Triggers

> Define which Shopify events to watch and where to send notifications

## Overview

A trigger is a rule that watches for a specific Shopify event and sends a notification to a hub (Slack, Email, Telegram, or Discord) when that event occurs. Each trigger can be filtered with [conditions](/features/conditions) and scheduled for immediate or batched delivery.

***

## Trigger Types

Alius supports 20 trigger types across six Shopify entities:

### Product

| Trigger Type    | Fires when…                              |
| --------------- | ---------------------------------------- |
| Product created | A new product is added to the store      |
| Product updated | Any field on an existing product changes |
| Product deleted | A product is removed from the store      |

### Order

| Trigger Type    | Fires when…                        |
| --------------- | ---------------------------------- |
| Order created   | A new order is placed              |
| Order updated   | An existing order's details change |
| Order paid      | An order's payment is confirmed    |
| Order fulfilled | An order is marked as fulfilled    |

### Refund

| Trigger Type   | Fires when…                    |
| -------------- | ------------------------------ |
| Refund created | A refund is issued on an order |

### Customer

| Trigger Type     | Fires when…                                |
| ---------------- | ------------------------------------------ |
| Customer created | A new customer account is created          |
| Customer updated | A customer's profile or preferences change |
| Customer deleted | A customer record is removed               |

### Returns

| Trigger Type      | Fires when…                            |
| ----------------- | -------------------------------------- |
| Return requested  | A customer submits a return request    |
| Return approved   | A return request is approved           |
| Return declined   | A return request is declined           |
| Return processing | A return is being processed            |
| Return closed     | A return is closed                     |
| Return cancelled  | A return is cancelled                  |
| Return reopened   | A previously closed return is reopened |
| Return updated    | Any field on a return changes          |

### Cart

| Trigger Type   | Fires when…                                     |
| -------------- | ----------------------------------------------- |
| Cart abandoned | A checkout is abandoned (no purchase completed) |

***

## Trigger Fields

Each trigger has the following configurable fields:

| Field                   | Required | Description                                                                                                                 |
| ----------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Title**               | Yes      | A descriptive name shown in the triggers list                                                                               |
| **Status**              | Yes      | Active (live) or Disabled (paused)                                                                                          |
| **Type**                | Yes      | The Shopify event to watch (see trigger types above)                                                                        |
| **Notification Hub**    | Yes      | Where to send the notification: Slack, Email, Telegram, or Discord. Pro plan: select multiple hubs simultaneously           |
| **Channels/Recipients** | Yes      | For Slack: one or more enabled channels. For Email: verified recipients. For Telegram or Discord: the connected destination |
| **Schedule**            | Yes      | When to send: Instant, Hourly, Daily, Weekly, or Monthly. See [Schedule Types](/features/schedule-types)                    |
| **Template**            | No       | A saved [template](/features/templates) to use. Defaults to the built-in format if not set                                  |
| **Conditions**          | No       | One or more field-level filters. See [Conditions](/features/conditions)                                                     |

***

## Trigger Status

Each trigger has an **Active** / **Disabled** toggle:

* **Active** — The trigger is live and will fire notifications when events occur.
* **Disabled** — The trigger is paused. No notifications are sent, but configuration is preserved.

Triggers can be enabled or disabled from the trigger form or from the triggers list.

***

## Creating a Trigger

Creating a trigger is a two-step process:

**Step 1 — Choose a template**

Clicking **Create Trigger** opens the **template picker** page. You can either:

* Select a **pre-built template** (see [Pre-built Templates](#pre-built-templates) below) to start with a pre-configured type and conditions.
* Click **Blank Template** to start from scratch.

**Step 2 — Fill in the form**

1. Fill in the **Title**.
2. The **Type** and **Conditions** are pre-filled if you chose a template — you can adjust them.
3. Select a **Notification Hub**. On the Free plan this is a single-select dropdown; on Pro it is a multi-select so you can send to several hubs at once.
4. Select the **Channels/Recipients** for each hub.
5. Select a **Schedule** (defaults to Instant; non-instant schedules require Pro).
6. Optionally select a saved **Template**.
7. Click **Create Trigger**.

The trigger starts processing events immediately.

***

## Pre-built Templates

The template picker offers nine ready-made configurations. Selecting one pre-fills the trigger type, category, conditions, and condition mode — all of which can be adjusted before saving.

| Template             | Type             | Pre-set Condition    |
| -------------------- | ---------------- | -------------------- |
| Low Stock            | Product updated  | Inventory total \< 5 |
| Out of Stock         | Product updated  | Inventory total = 0  |
| High-Value Order     | Order created    | Total price > \$500  |
| Abandoned Checkout   | Cart abandoned   | —                    |
| New Order            | Order created    | —                    |
| Order Refund         | Refund created   | —                    |
| Return from Customer | Return requested | —                    |
| Return from Admin    | Return approved  | —                    |
| New Customer         | Customer created | —                    |

Templates are client-side only — no extra data is stored for choosing a template.

***

## Multi-Hub Notifications (Pro)

On the **Pro plan**, a single trigger can send to multiple hubs simultaneously — for example, Slack and Email and Discord all at once.

* The hub selector on the trigger form changes to **multi-select checkboxes**.
* Each selected hub uses its own channel/recipient configuration.
* Each hub+recipient pair produces a separate entry in [Notification History](/features/notification-history).

On the **Free plan**, only one hub can be selected per trigger. A banner in the form explains the restriction and links to the upgrade page.

***

## Editing and Deleting Triggers

* Click any trigger row on the **Triggers** page to open the edit form.
* Use the checkbox column to select multiple triggers and delete them in bulk.
* A confirmation modal appears before deletion.

***

## Trigger Limits

| Plan | Active Trigger Limit |
| ---- | -------------------- |
| Free | 3                    |
| Pro  | 10                   |
| Max  | Unlimited            |

Triggers are one of three automation types — Reports and Goals have their own separate limits. See [Reports](/features/reports), [Goals](/features/goals), and [Pricing](/guides/pricing).

When the plan limit is reached:

* The **Create Automation** button is disabled with a warning banner.
* The banner includes an **Upgrade** button linking to Shopify's pricing page.
* The server also enforces the limit — the form submission is rejected if the UI is bypassed.
