Home Dashboard
The Home page is your command center. It provides an at-a-glance overview of your store’s alert activity and setup status.Setup Guide
When you first open Alius, the Home page displays an interactive Setup Guide with three steps:| Step | Description | Auto-detected |
|---|---|---|
| 1. Connect Slack | Link your Slack workspace via OAuth on the Integrations page. | ✅ Yes — detected when Slack status is “Connected” |
| 2. Send test message | Send a test notification to confirm messages are flowing. | ✅ Yes — detected when a test message is sent |
| 3. Create a trigger | Create at least one trigger to start receiving real alerts. | ✅ Yes — detected when a trigger exists |
Current Plan
The Current Plan section shows your active subscription:- Free Plan — 1 trigger limit, $0/month
- Pro Plan — Unlimited triggers, $9.99/month
Metrics Cards
Two metric cards display real-time activity for the last 7 days:| Metric | Description |
|---|---|
| Notifications Sent | Total Slack messages sent by Alius in the last 7 days. |
| Changes Received | Total Shopify webhooks processed in the last 7 days. |
Slack Connection Status
A quick indicator showing whether Slack is currently connected, with a link to the Integrations page if it’s not.Triggers
Triggers are the core of Alius. A trigger defines:- What event to watch (e.g., “Product updated”, “Order created”).
- Where to send the notification (Slack channel).
- Optional conditions to filter which events qualify for notifications.
- Optional template to customize the notification message.
Trigger Types
Alius supports 8 trigger types across three Shopify entities:| Entity | Trigger Type | Fires when… |
|---|---|---|
| Product | Product created | A new product is added to your store |
| Product | Product updated | Any field on an existing product changes |
| Product | Product deleted | A product is removed from your store |
| Order | Order created | A new order is placed |
| Order | Order updated | An existing order’s status, fulfillment, or other details change |
| Customer | Customer created | A new customer account is created |
| Customer | Customer updated | A customer’s profile, tags, or marketing preferences change |
| Customer | Customer deleted | A customer record is removed |
Trigger Status
Each trigger has a status toggle:- Active — The trigger is live and will send notifications.
- Disabled — The trigger is paused. No notifications are sent, but the trigger configuration is preserved.
Creating a Trigger
- Go to Triggers → Create Trigger.
- Configure:
- Title — A descriptive name for the trigger.
- Type — Select the event type from the dropdown.
- Notification Hub — Select “Slack” (more hubs in the future).
- Channels — Choose from your enabled Slack channels.
- Template (optional) — Select a saved template or use the default.
- Conditions (optional) — Add one or more field conditions.
- Click Create Trigger.
Editing and Deleting Triggers
- From the Triggers index page, click any trigger row to edit it.
- Use the bulk actions checkbox to select multiple triggers and delete them at once.
- A confirmation modal appears before deletion.
Trigger Limits
| Plan | Trigger Limit |
|---|---|
| Free | 1 |
| Pro | Unlimited |
- The Create Trigger button is disabled.
- A warning banner appears with an “Upgrade to Pro” button linking directly to Shopify’s pricing page.
Notification Templates
Templates let you control the exact content of Slack notifications using dynamic placeholders.Default Templates
If you don’t select a custom template, Alius uses built-in defaults: Product Update (default):Creating Custom Templates
- Go to Templates in the left sidebar.
- Click Create Template.
- Configure:
- Title — Name for the template (e.g., “High-value order alert”).
- Type — Product, Order, or Customer.
- Content — Write your template using
{{variable}}placeholders.
- Click Save.
Template Variables
Every condition field available in Alius is also available as a template variable. The full list of variables varies by entity type:Product Variables
Product Variables
| Variable | Description |
|---|---|
{{product.id}} | Product ID |
{{product.adminUrl}} | Link to the product in Shopify Admin |
{{product.title}} | Product title |
{{product.status}} | Product status (active, draft, archived) |
{{product.productType}} | Product type |
{{product.vendor}} | Vendor name |
{{product.tags}} | Comma-separated tags |
{{product.handle}} | URL handle |
{{product.price}} | Price |
{{product.compareAtPrice}} | Compare-at price |
{{product.inventoryTotal}} | Total inventory across all variants |
{{product.collections}} | Collections the product belongs to |
{{product_previous.title}} | Previous value of title (for updates) |
{{product_previous.price}} | Previous value of price (for updates) |
| … and all other product fields |
Order Variables
Order Variables
| Variable | Description |
|---|---|
{{order.id}} | Order ID |
{{order.adminUrl}} | Link to the order in Shopify Admin |
{{order.name}} | Order name (e.g., #1001) |
{{order.orderNumber}} | Order number |
{{order.totalPrice}} | Total price |
{{order.currency}} | Currency code |
{{order.financialStatus}} | Financial status (paid, pending, refunded…) |
{{order.fulfillmentStatus}} | Fulfillment status |
{{order.email}} | Customer email on the order |
{{order.tags}} | Order tags |
{{order.shippingCity}} | Shipping city |
{{order.shippingCountry}} | Shipping country |
{{order.customerFirstName}} | Customer first name |
{{order.customerLastName}} | Customer last name |
| … and all other order fields |
Customer Variables
Customer Variables
| Variable | Description |
|---|---|
{{customer.id}} | Customer ID |
{{customer.adminUrl}} | Link to the customer in Shopify Admin |
{{customer.email}} | Email address |
{{customer.firstName}} | First name |
{{customer.lastName}} | Last name |
{{customer.phone}} | Phone number |
{{customer.tags}} | Tags |
{{customer.acceptsMarketing}} | Marketing opt-in status |
{{customer.amountSpent}} | Lifetime amount spent |
{{customer.numberOfOrders}} | Lifetime number of orders |
| … and all other customer fields |
Template Priority
When a notification is sent, Alius resolves the message content in this order:- Selected Template — If the trigger has a
templateId, the saved template’s content is used. - Inline Message Template — If the trigger has a custom
messageTemplatestored directly on the trigger record. - Default Template — The built-in default for the entity type, automatically extended with any condition fields from the trigger.
- Built-in Formatter — A fallback that generates a human-readable diff of what changed.
Condition Fields in Default Templates
When a trigger has advanced conditions, the default template is automatically extended to include those condition fields in the notification. For example, if your trigger has a condition oninventoryTotal, the default template will include:
Integrations
Slack Integration
Alius connects to Slack via OAuth 2.0, installing a bot in your workspace.Connecting Slack
- Go to Integrations in the sidebar.
- Click Connect to Slack.
- Authorize in Slack → bot token is stored securely.
- Status changes to Connected.
Enabling Channels
Once connected, a list of public channels from your workspace appears. Toggle channels on/off to control where Alius can post:- Enabled channels appear in the trigger form’s channel picker.
- When you enable a channel, the Alius bot automatically joins that channel (required by Slack to post messages).
- Click Save to persist your selection.
Sending Test Messages
Click Send test notification to post a test message to all enabled channels. This confirms:- The bot token is valid.
- The bot has access to the channels.
- Messages are flowing correctly.
Disconnecting Slack
Click Disconnect to remove the Slack integration. This:- Clears the bot token and workspace info.
- Disables all channel mappings.
- Stops all Slack notifications until reconnected.
Disconnecting Slack does not delete your triggers. They remain configured and will resume sending notifications once Slack is reconnected.
Snapshot & Change Detection
Alius maintains snapshots — internal records of the last known state of your products, orders, and customers. This is how it detects what actually changed:- When a webhook arrives (e.g.,
products/update), Alius loads the previous snapshot from the database. - It compares the incoming payload to the snapshot to produce a list of changes.
- If there are changes, notifications are sent (subject to trigger conditions).
- The snapshot is then upserted with the new state.
- Product updates without changes (e.g., Shopify resends the webhook) do not generate duplicate notifications.
- Conditions are evaluated against the current snapshot data, ensuring accuracy.
- Delete events use the previous snapshot to include meaningful context (e.g., the deleted product’s title) in the notification.
Home Page Metrics
The Home page tracks two key metrics over a rolling 7-day window:- Notifications Sent — Each Slack message successfully posted counts as one notification.
- Webhooks Received — Each Shopify webhook processed by the app counts as one event.
