Skip to main content

Overview

Every trigger in Alius starts with a type — the Shopify event you want to monitor. But the real power comes from advanced conditions, which let you filter which instances of that event should generate a notification. Without conditions, a “Product updated” trigger fires for every product change in your store. With conditions, you can narrow it down to “only when inventory drops below 10” or “only when the vendor is Nike”.

Creating a Trigger

1

Open the Trigger Form

Navigate to TriggersCreate Trigger.
2

Set the Basics

  • Title: A descriptive name (shown in the triggers list).
  • Status: Active (live) or Disabled (paused).
  • Type: The Shopify event to watch.
  • Notification Hub: Select Slack.
  • Channels: Choose one or more enabled Slack channels.
3

Select a Template (Optional)

Pick a saved template from the dropdown, or leave it blank to use the built-in default format. See Templates for more.
4

Add Conditions (Optional)

Click the icon under “Additional conditions” to add your first filter row.
5

Save

Click Create Trigger. The trigger starts working immediately.

How Conditions Work

Condition Rows

Each condition consists of three parts:
PartDescriptionExample
FieldThe data point to checkTotal Inventory
OperatorThe comparison to applyLess than
ValueThe threshold or target10
You can add multiple condition rows to a single trigger.

Condition Mode

When you have more than one condition, you choose how they combine:
ModeBehaviorExample
All conditions must matchEvery condition must be true for the notification to fire. (AND logic)Inventory < 10 AND Vendor equals “Nike”
Any condition can matchAt least one condition must be true. (OR logic)Vendor equals “Nike” OR Vendor equals “Adidas”
If no conditions are set, the trigger fires for all events of its type.

Operators

The available operators depend on the field’s data type: String Fields:
OperatorBehavior
EqualsExact match (case-insensitive)
Doesn’t EqualNot an exact match
ContainsField value includes the search text (case-insensitive, punctuation-tolerant)
Doesn’t ContainField value does not include the search text
Numeric Fields:
OperatorBehavior
EqualsExact numeric match
Doesn’t EqualNot equal
Greater thanField value is strictly above the threshold
Less thanField value is strictly below the threshold

Condition Fields by Entity

Product Condition Fields

Available for trigger types: Product created, Product updated, Product deleted.
FieldTypeDescription
TitleStringThe product’s title
StatusStringactive, draft, or archived
Product TypeStringThe product type classification
VendorStringThe product vendor/manufacturer
TagsStringComma-separated product tags
URL HandleStringThe URL-friendly handle
DescriptionStringProduct description (HTML body)
FieldTypeDescription
Published AtStringWhen the product was published
Published ScopeStringPublication scope (web, global)
FieldTypeDescription
CategoryStringShopify product category
Is Gift CardStringWhether the product is a gift card (true/false)
Requires Selling PlanStringWhether a selling plan is required
Has Only Default VariantStringWhether the product has just one variant
Has Out-of-Stock VariantsStringWhether any variant is out of stock
CollectionsStringCollections the product belongs to
FieldTypeDescription
PriceNumberProduct price
Compare at PriceNumberCompare-at (original) price
Unit PriceNumberPer-unit price
Cost per ItemNumberCost of goods per item
FieldTypeDescription
Total InventoryNumberSum of inventory across all variants
Charge TaxStringWhether tax is charged (true/false)
Physical ProductStringWhether the product requires shipping
Inventory TrackedStringWhether inventory is tracked
FieldTypeDescription
SEO Page TitleStringMeta title for SEO
SEO Meta DescriptionStringMeta description for SEO

Order Condition Fields

Available for trigger types: Order created, Order updated.
FieldTypeDescription
Order NumberNumberThe sequential order number
NumberNumberInternal order number
Order NameStringDisplay name (e.g., #1001)
FieldTypeDescription
Total PriceNumberGrand total of the order
Subtotal PriceNumberSubtotal before tax/shipping
Total DiscountsNumberTotal discount amount applied
Total TaxNumberTotal tax charged
Total Line Items PriceNumberSum of all line item prices
Total OutstandingNumberAmount remaining to be paid
Total WeightNumberCombined weight of items
Current Total PriceNumberCurrent total (after edits)
Current Subtotal PriceNumberCurrent subtotal
Total Tip ReceivedNumberTip amount
FieldTypeDescription
EmailStringEmail associated with the order
Contact EmailStringContact email address
PhoneStringPhone number
CurrencyStringOrder currency code (e.g., USD)
Presentment CurrencyStringDisplay currency
Financial StatusStringpaid, pending, refunded, etc.
Fulfillment StatusStringfulfilled, partial, unfulfilled
Customer IDStringAssociated customer ID
NoteStringOrder notes
Source NameStringWhere the order originated
TagsStringOrder tags
Customer LocaleStringCustomer’s locale
Cancel ReasonStringReason for cancellation
Landing SiteStringLanding page URL
Payment Gateway NamesStringPayment methods used
FieldTypeDescription
Buyer Accepts MarketingStringMarketing opt-in status
Test OrderStringWhether this is a test order
Tax ExemptStringWhether the order is tax exempt
Taxes IncludedStringWhether prices include tax
ConfirmedStringWhether the order is confirmed
EditedStringWhether the order has been edited
Display Financial StatusStringHuman-readable financial status
Display Fulfillment StatusStringHuman-readable fulfillment status
Duties IncludedStringWhether duties are included
FieldTypeDescription
Shipping CityStringCity
Shipping ProvinceStringProvince/state
Shipping CountryStringCountry
Shipping ZipStringPostal/ZIP code
Shipping Address 1StringStreet address
Shipping PhoneStringPhone on shipping address
Shipping NameStringName on shipping address
FieldTypeDescription
Billing CityStringCity
Billing ProvinceStringProvince/state
Billing CountryStringCountry
Billing ZipStringPostal/ZIP code
Billing Address 1StringStreet address
Billing PhoneStringPhone on billing address
Billing NameStringName on billing address
FieldTypeDescription
Customer EmailStringCustomer’s email
Customer First NameStringCustomer’s first name
Customer Last NameStringCustomer’s last name
Customer PhoneStringCustomer’s phone

Customer Condition Fields

Available for trigger types: Customer created, Customer updated, Customer deleted.
FieldTypeDescription
EmailStringCustomer email address
First NameStringFirst name
Last NameStringLast name
PhoneStringPhone number
TagsStringCustomer tags
Accepts MarketingStringEmail marketing opt-in status
Lifetime Amount SpentNumberTotal amount customer has spent
Lifetime Number of OrdersNumberTotal number of orders placed
LocaleStringCustomer’s locale
Product Subscriber StatusStringSubscription status
Tax ExemptionsStringTax exemption info

Condition Evaluation

Conditions are evaluated at the moment a webhook is processed, against the current state of the entity. Here’s how it works:
  1. A Shopify webhook arrives (e.g., products/update).
  2. The worker loads the current product data and (for products) enriches it via the Shopify GraphQL API to fetch fields like collections, SEO data, and inventory totals.
  3. The worker checks each active trigger of the matching type.
  4. For each trigger with conditions, the evaluator checks:
    • Each condition row’s field is looked up in the entity data.
    • The operator is applied against the value.
    • Results are combined using the trigger’s condition mode (all = AND, any = OR).
  5. If the condition evaluation returns true, the notification is sent.
  6. If the trigger has no conditions, the notification is always sent (assuming the event has actual changes).
For “Product updated” and “Order updated” triggers, notifications are only sent when there are actual changes detected compared to the previous snapshot. This prevents duplicate alerts from Shopify’s occasional webhook re-deliveries.

Examples

Example 1: Low Stock Alert

Goal: Get notified when any product’s inventory drops below 10.
SettingValue
TypeProduct updated
Condition FieldTotal Inventory
OperatorLess than
Value10

Example 2: High-Value Order Alert

Goal: Get notified only for orders over $200.
SettingValue
TypeOrder created
Condition FieldTotal Price
OperatorGreater than
Value200

Example 3: VIP Customer Update

Goal: Get notified when a customer who has spent over $1,000 updates their profile.
SettingValue
TypeCustomer updated
Condition FieldLifetime Amount Spent
OperatorGreater than
Value1000

Example 4: Specific Vendor Product Changes

Goal: Only track product changes from a specific vendor.
SettingValue
TypeProduct updated
Condition FieldVendor
OperatorEquals
ValueNike

Example 5: International Orders

Goal: Get alerted when an order ships to a country outside the US.
SettingValue
TypeOrder created
Condition FieldShipping Country
OperatorDoesn’t Equal
ValueUS