> ## 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.

# Best Practices

> Proven trigger configurations for the most common Shopify store alerts

## Overview

This guide covers the most popular alert setups that Shopify store owners rely on daily. Each recipe includes the exact trigger configuration, recommended conditions, and a suggested custom template — all achievable with Alius's current feature set.

***

## 1. Low Stock Alert

<Info>
  **Why it matters:** Running out of stock on a best-seller means lost revenue and disappointed customers. A low-stock alert gives you lead time to reorder before it's too late.
</Info>

### Configuration

| Setting            | Value                     |
| ------------------ | ------------------------- |
| **Title**          | Low Stock Warning         |
| **Type**           | Product updated           |
| **Condition Mode** | All conditions must match |

**Conditions:**

| Field             | Operator  | Value |
| ----------------- | --------- | ----- |
| Total Inventory   | Less than | 10    |
| Inventory Tracked | Equals    | true  |

### Suggested Template

```
🚨 Low Stock Alert: {{product.title}}

Inventory is running low!
  Current Stock: {{product.inventoryTotal}}
  Previous Stock: {{product_previous.inventoryTotal}}

Vendor: {{product.vendor}}
Product Type: {{product.productType}}
Status: {{product.status}}

⚡ Reorder now before it's too late!
View Product: {{product.adminUrl}}
```

### Why This Works

* The **Total Inventory** field is the sum of all variant inventory quantities, fetched via the Shopify GraphQL API.
* Adding **Inventory Tracked = true** prevents false alerts for products where inventory isn't tracked (e.g., digital goods, services).
* Alius only fires this alert when the inventory value **actually changes** (thanks to snapshot-based change detection), so you won't get spam from unrelated product updates.

### Variations

| Variation                   | Condition Change                              |
| --------------------------- | --------------------------------------------- |
| Critical stock (almost out) | Total Inventory \< 3                          |
| Warehouse buffer            | Total Inventory \< 50                         |
| Per-vendor monitoring       | Add condition: Vendor Equals "\[Vendor Name]" |

***

## 2. High-Value Order Alert

<Info>
  **Why it matters:** Large orders deserve immediate attention — faster fulfillment, personalized thank-you notes, and fraud review.
</Info>

### Configuration

| Setting            | Value                     |
| ------------------ | ------------------------- |
| **Title**          | High-Value Order          |
| **Type**           | Order created             |
| **Condition Mode** | All conditions must match |

**Conditions:**

| Field       | Operator     | Value |
| ----------- | ------------ | ----- |
| Total Price | Greater than | 200   |

### Suggested Template

```
💰 High-Value Order: {{order.name}}

Total: {{order.totalPrice}} {{order.currency}}
Customer: {{order.customerFirstName}} {{order.customerLastName}}
Email: {{order.email}}

Financial Status: {{order.financialStatus}}
Fulfillment: {{order.fulfillmentStatus}}

Shipping To:
  {{order.shippingName}}
  {{order.shippingCity}}, {{order.shippingProvince}} {{order.shippingCountry}}

View Order: {{order.adminUrl}}
```

### Variations

| Variation              | Condition Change               |
| ---------------------- | ------------------------------ |
| VIP threshold (\$500+) | Total Price > 500              |
| Specific currency      | Add: Currency Equals "USD"     |
| Exclude test orders    | Add: Test Order Equals "false" |

***

## 3. New Customer Welcome Alert

<Info>
  **Why it matters:** New customers are a growth signal. Alerting your team lets you welcome them, trigger onboarding sequences, or flag trends in acquisition.
</Info>

### Configuration

| Setting            | Value                                        |
| ------------------ | -------------------------------------------- |
| **Title**          | New Customer Signup                          |
| **Type**           | Customer created                             |
| **Condition Mode** | (No conditions — fire for all new customers) |

### Suggested Template

```
👋 New Customer: {{customer.firstName}} {{customer.lastName}}

Email: {{customer.email}}
Phone: {{customer.phone}}
Accepts Marketing: {{customer.acceptsMarketing}}

View Customer: {{customer.adminUrl}}
```

### With Conditions (Marketing-Opted-In Customers Only)

| Field             | Operator | Value |
| ----------------- | -------- | ----- |
| Accepts Marketing | Equals   | true  |

This filters to only customers who opted in to marketing — ideal for triggering welcome email sequences.

***

## 4. Order Fulfillment Status Change

<Info>
  **Why it matters:** Tracking fulfillment status changes helps operations teams stay on top of shipping, identify delays, and update customers proactively.
</Info>

### Configuration

| Setting            | Value                     |
| ------------------ | ------------------------- |
| **Title**          | Order Fulfilled           |
| **Type**           | Order updated             |
| **Condition Mode** | All conditions must match |

**Conditions:**

| Field              | Operator | Value     |
| ------------------ | -------- | --------- |
| Fulfillment Status | Equals   | fulfilled |

### Suggested Template

```
📦 Order Fulfilled: {{order.name}}

Customer: {{order.customerFirstName}} {{order.customerLastName}}
Email: {{order.email}}
Total: {{order.totalPrice}} {{order.currency}}

Shipped To:
  {{order.shippingCity}}, {{order.shippingCountry}}

View Order: {{order.adminUrl}}
```

### Variations

| Variation           | Condition Change                        |
| ------------------- | --------------------------------------- |
| Partially fulfilled | Fulfillment Status Equals "partial"     |
| Not yet fulfilled   | Fulfillment Status Equals "unfulfilled" |

***

## 5. Refund & Cancellation Monitor

<Info>
  **Why it matters:** Spotting refunds and cancellations quickly lets you reach out to unhappy customers, investigate quality issues, and track return rates.
</Info>

### Configuration (Refund Alert)

| Setting            | Value                     |
| ------------------ | ------------------------- |
| **Title**          | Order Refunded            |
| **Type**           | Order updated             |
| **Condition Mode** | All conditions must match |

**Conditions:**

| Field            | Operator | Value    |
| ---------------- | -------- | -------- |
| Financial Status | Equals   | refunded |

### Configuration (Cancellation Alert)

| Setting            | Value                     |
| ------------------ | ------------------------- |
| **Title**          | Order Cancelled           |
| **Type**           | Order updated             |
| **Condition Mode** | All conditions must match |

**Conditions:**

| Field            | Operator | Value  |
| ---------------- | -------- | ------ |
| Financial Status | Equals   | voided |

### Suggested Template (Refund)

```
⚠️ Order Refunded: {{order.name}}

Total Refunded: {{order.totalPrice}} {{order.currency}}
Customer: {{order.customerFirstName}} {{order.customerLastName}}
Email: {{order.email}}

Cancel Reason: {{order.cancelReason}}

View Order: {{order.adminUrl}}
```

***

## 6. Product Price Change Alert

<Info>
  **Why it matters:** Unintended price changes can cost revenue or erode customer trust. Monitoring price changes catches mistakes before they impact sales.
</Info>

### Configuration

| Setting            | Value                                       |
| ------------------ | ------------------------------------------- |
| **Title**          | Price Change Monitor                        |
| **Type**           | Product updated                             |
| **Condition Mode** | (No conditions — monitor all price changes) |

### Suggested Template

```
💲 Price Change: {{product.title}}

Current Price: {{product.price}}
Previous Price: {{product_previous.price}}

Compare at Price: {{product.compareAtPrice}}
Previous Compare at: {{product_previous.compareAtPrice}}

Cost per Item: {{product.costPerItem}}
Vendor: {{product.vendor}}

View Product: {{product.adminUrl}}
```

<Note>
  Since Alius's snapshot system tracks all product fields, this trigger will fire whenever **any** product field changes. The template ensures the price information is always visible even if the change was to a different field. For true price-only alerts, add a condition: **Price Doesn't Equal 0** (to filter out products without prices), or use multiple triggers with specific price thresholds.
</Note>

### Variation: Significant Price Drop

| Field | Operator  | Value |
| ----- | --------- | ----- |
| Price | Less than | 20    |

This alerts you when any product's price drops below \$20 — useful for catching accidental discounts.

***

## 7. International / Regional Order Routing

<Info>
  **Why it matters:** If you ship internationally, certain countries may require customs documentation, different carriers, or longer handling times. Routing these orders to a dedicated Slack channel keeps your logistics team organized.
</Info>

### Configuration

| Setting            | Value                        |
| ------------------ | ---------------------------- |
| **Title**          | International Order (Non-US) |
| **Type**           | Order created                |
| **Channel**        | #international-orders        |
| **Condition Mode** | All conditions must match    |

**Conditions:**

| Field            | Operator      | Value |
| ---------------- | ------------- | ----- |
| Shipping Country | Doesn't Equal | US    |

### Suggested Template

```
🌍 International Order: {{order.name}}

Shipping To: {{order.shippingCountry}}
  {{order.shippingName}}
  {{order.shippingAddress1}}
  {{order.shippingCity}}, {{order.shippingProvince}} {{order.shippingZip}}

Total: {{order.totalPrice}} {{order.currency}}
Customer: {{order.customerFirstName}} {{order.customerLastName}}

View Order: {{order.adminUrl}}
```

### Variation: Specific Country Alerts

| Goal               | Condition                                                                             |
| ------------------ | ------------------------------------------------------------------------------------- |
| Orders from Canada | Shipping Country Equals "CA"                                                          |
| EU orders          | Shipping Country Contains "DE" (repeat for each EU country, condition mode = **Any**) |

***

## 8. VIP Customer Activity Tracker

<Info>
  **Why it matters:** Your biggest spenders deserve VIP treatment. Track when their profiles are updated so you can maintain personalized service.
</Info>

### Configuration

| Setting            | Value                     |
| ------------------ | ------------------------- |
| **Title**          | VIP Customer Change       |
| **Type**           | Customer updated          |
| **Condition Mode** | All conditions must match |

**Conditions:**

| Field                 | Operator     | Value |
| --------------------- | ------------ | ----- |
| Lifetime Amount Spent | Greater than | 1000  |

### Suggested Template

```
⭐ VIP Customer Update: {{customer.firstName}} {{customer.lastName}}

Email: {{customer.email}}
Lifetime Spent: {{customer.amountSpent}}
Total Orders: {{customer.numberOfOrders}}
Tags: {{customer.tags}}

View Customer: {{customer.adminUrl}}
```

***

## 9. Product Deleted / Unpublished Monitor

<Info>
  **Why it matters:** Accidental product deletions or status changes to "draft" can make products disappear from your storefront. Catching these immediately prevents lost sales.
</Info>

### Configuration (Deleted)

| Setting            | Value                                    |
| ------------------ | ---------------------------------------- |
| **Title**          | Product Deleted Alert                    |
| **Type**           | Product deleted                          |
| **Condition Mode** | (No conditions — fire for all deletions) |

### Configuration (Unpublished/Archived)

| Setting            | Value                   |
| ------------------ | ----------------------- |
| **Title**          | Product Archived        |
| **Type**           | Product updated         |
| **Condition Mode** | Any condition can match |

**Conditions:**

| Field  | Operator | Value    |
| ------ | -------- | -------- |
| Status | Equals   | draft    |
| Status | Equals   | archived |

### Suggested Template (Deleted)

```
🗑️ Product Deleted: {{product.title}}

This product has been permanently removed from your store.

Vendor: {{product.vendor}}
Type: {{product.productType}}
Tags: {{product.tags}}
```

***

## 10. Tagged Order Routing

<Info>
  **Why it matters:** Many merchants use order tags to flag special handling — wholesale orders, subscription renewals, gift orders, etc. Routing tagged orders to dedicated channels keeps workflows clean.
</Info>

### Configuration

| Setting            | Value                     |
| ------------------ | ------------------------- |
| **Title**          | Wholesale Order           |
| **Type**           | Order created             |
| **Channel**        | #wholesale                |
| **Condition Mode** | All conditions must match |

**Conditions:**

| Field | Operator | Value     |
| ----- | -------- | --------- |
| Tags  | Contains | wholesale |

### Suggested Template

```
🏷️ Wholesale Order: {{order.name}}

Tags: {{order.tags}}
Total: {{order.totalPrice}} {{order.currency}}
Customer: {{order.customerFirstName}} {{order.customerLastName}}

Source: {{order.sourceName}}
Payment: {{order.paymentGatewayNames}}

View Order: {{order.adminUrl}}
```

### Variations

| Goal                 | Condition                         |
| -------------------- | --------------------------------- |
| Gift orders          | Tags Contains "gift"              |
| Subscription renewal | Tags Contains "subscription"      |
| Priority shipping    | Tags Contains "rush" or "express" |

***

## Free Plan Strategy

On the **Free plan** (1 trigger limit), here's how to maximize value:

<Tip>
  **Use a broad trigger** with a well-crafted template to cover the most ground. The best single-trigger options are:

  1. **"Order created" (no conditions)** — Captures every new sale. The most universally useful alert for solo merchants.
  2. **"Order created" with Total Price > \[threshold]** — If you get high volume, filter to only significant orders.
  3. **"Product updated" with Total Inventory \< 10** — If inventory management is your top priority.
</Tip>

When you're ready for more granular control, upgrade to **Pro** for unlimited triggers and create targeted alerts for each scenario in this guide.

***

## Channel Organization Tips

<Steps>
  <Step title="Create dedicated channels">
    Use channels like `#orders`, `#inventory-alerts`, `#customer-activity` to keep different alert types separated.
  </Step>

  <Step title="Route by urgency">
    Send critical alerts (low stock, high-value orders) to a channel with Slack notifications enabled. Send informational alerts (new customers, product updates) to a channel with notifications muted.
  </Step>

  <Step title="Team-specific routing">
    Send order alerts to the fulfillment team's channel, inventory alerts to operations, and customer alerts to customer success.
  </Step>

  <Step title="Use Slack's notification settings">
    Configure per-channel notification preferences in Slack so team members are only interrupted by truly urgent alerts.
  </Step>
</Steps>
