Catching a Price Move: from Alert Rule to Action
An alert rule is the configuration that watches for a pricing condition. When that condition is met, the system fires an alert event and delivers it to the people you’ve nominated. This page walks through the full cycle: authoring the rule, receiving the event, and acting on it.
Creating an alert rule
Section titled “Creating an alert rule”Where to start
Section titled “Where to start”The main entry points to the creation wizard are:
- Alerts page header. The Create alert rule button, shared by the inbox and the Manage rules tab.
- A product’s Alerts tab. The + Create Alert Rule button in the tab header pre-scopes the rule to that product.
Other prompts open the same wizard, such as the empty inbox and the alerting banner in a product’s offer details. A link that already picks a trigger, such as the MAP violation banner, opens the wizard at Scope.
All of them open the same three-step wizard: Trigger → Scope → Configure & name.
Step 1: Trigger
Section titled “Step 1: Trigger”Pick the pricing signal this rule should watch. Brand users see an additional Governance section at the top. Trigger names are perspective-specific for two of the pricing signals: retailer workspaces see “Competitor cheaper than us” and “We are overpriced vs market”, while brand workspaces see the same conditions worded as “Retailer cheaper than your store” and “Your store is overpriced vs market”. Margin opportunity, MAP violation, Price decrease, and Price increase are named the same way for both.
Governance (brand only)
| Type | Triggers when |
|---|---|
| MAP violation | A retailer prices below your Minimum Advertised Price |
Pricing signals (all users)
| Type (retailer / brand wording) | Triggers when |
|---|---|
| Competitor cheaper than us / Retailer cheaper than your store | A competitor’s price falls below yours by a threshold |
| We are overpriced vs market / Your store is overpriced vs market | Your price exceeds the market average by a threshold |
| Margin opportunity | Your price sits below the market average by a threshold |
Price movement (all users)
| Type | Triggers when |
|---|---|
| Price decrease | A retailer’s price falls by at least the threshold |
| Price increase | A retailer’s price rises by at least the threshold |
Picking a trigger is required. Clicking a trigger card is what advances the wizard to Scope, so there is no way to skip choosing one.
Step 2: Scope
Section titled “Step 2: Scope”Choose which products the rule monitors:
| Scope | What it covers |
|---|---|
| Assortment | Products in your catalog. Two options appear under the card: All products and My products. For a MAP violation rule, this means every product that has a MAP price set. |
| Specific products | A hand-picked set you search and select |
| List | Products from one of your saved lists. The rule follows the list’s current membership: a product added to the list later is covered, and one removed from the list stops being monitored. |
My products appears when your workspace has a store of your own, and not for MAP violation rules. It limits the rule to products you sell. For the three pricing-signal triggers, All products is disabled with the note “This trigger compares a price with yours, so it only covers products you sell.”
For Specific products, search by name, brand, or EAN and tick the products you want. For List, choose one list from the searchable Saved list menu.
When you reach the wizard from a product’s Alerts tab, the product is pre-selected and the scope is set to Specific products automatically.
The Continue button stays disabled on this step until the scope is complete: at least one product selected for Specific products, or a list chosen for List.
Step 3: Configure & name
Section titled “Step 3: Configure & name”A Rule preview banner at the top updates live as you adjust settings.
For pricing-signal types you configure:
- Threshold. The numeric trigger point, expressed as a percentage or an absolute currency amount.
- Compare against. Lets you choose “Any competitor” or select specific competitors from your tracked set. With specific competitors selected, the rule evaluates only those competitors.
- Matching. Choose whether the rule watches identical products only (Exact only) or also each product’s Equivalent Match (Exact + Equivalent). Retailer workspaces can pick either and default to Exact only. Brand workspaces default to Exact + Equivalent, comparing against the nearest relevant retailer listing, and Exact only is locked unless the rule was already saved as Exact only.
- Optional filters. First-party sellers only excludes marketplace and third-party sellers from evaluation.
For Price decrease and Price increase you configure:
- Threshold. A percentage or a currency amount, which must be zero or greater. A currency amount is in each listing’s own currency, and prices are not converted between currencies. A threshold of 0 is evaluated as the default of 10: 10 % for a percentage threshold, or 10 in the listing’s currency for a currency threshold.
- Matching. The same Exact only and Exact + Equivalent choice as for pricing signals.
- Optional filters. First-party sellers only, and Limit to specific retailers, which fires only when the retailers you pick change price.
A price movement rule ignores price changes at your own store. When several retailers move the same product on the same day, they are grouped into a single alert event for that day.
For MAP violation you configure:
- Retailers to monitor. Leave the picker empty to cover all retailers, or select specific ones.
- Minimum violation threshold. Set to
0to alert on any violation; set to10to alert only when the price is 10 % or more below MAP. - First-party-sellers-only filter. When enabled, listings from sub-resellers are excluded from evaluation.
An Alert rule name is required, and an optional description follows it, behind Add description, which opens by itself for a rule that already has one. The name field is pre-filled with a suggested name you can overwrite. If you clear it, the suggested name comes back when you leave the field, so a rule can’t be saved without a name.
Notification, where you choose which channels receive a notification when the rule fires, is one collapsed line, for example “Email to you · Slack not set,” with Change next to it:
- Email. Toggles on by default. When enabled, a recipient picker lets you add workspace members, resolved from your organization, and/or free-form email addresses. Your own account is pre-selected on new rules; you can remove yourself if you prefer.
- Slack. Available when at least one Slack integration is connected in your organization settings. If only one integration exists, it is selected automatically. See Delivering Alerts to Slack for how to connect a Slack workspace.
The Notification section opens by itself when it has a problem you must fix, either no recipient or a missing Slack integration, and the problem is named in place. Save stays disabled until it is fixed: at least one email recipient when email is on, and a chosen Slack integration when Slack is on.
If neither channel is enabled, the alert event still appears in the in-app inbox. Delivery channels are additive to the inbox, not required for it.
A Summary sits above Save: the trigger, the scope, the notification line, and an Estimated products monitored count. For MAP violation rules, the count reflects only the products that have a MAP price set, fetched live from the server. For an Assortment rule, the count is your full catalog total with All products, or the products you sell with My products. When everything looks correct, click Save alert rule. When you edit an existing rule, the button reads Update alert rule.
Editing an existing rule lands directly on step 3, Configure & name, because that’s where most edits happen; the earlier steps are still reachable via the numbered stepper at the top.
Managing your alert rules
Section titled “Managing your alert rules”The Manage rules tab of the Alerts page lists all rules with three summary cards: Total rules, Active rules, and Open events. Each row also shows an Open events count and an Email me column. Open events counts alert events for that rule whose underlying issue has not yet cleared; reading or postponing an alert does not remove it from this count, only resolution does. Email me shows a You badge when you’re an email recipient on the rule, or an em dash otherwise.
Editing, deleting, and sending a test notification are available only to the rule’s creator or an organization admin. Anyone else does not see the edit, delete and test buttons; the enable/disable toggle is shown disabled with a tooltip naming the restriction. Anyone in the workspace can still add or remove themselves as an email recipient from the row’s overflow menu, and alert events themselves stay visible to everyone in the workspace regardless of who created the rule.
From each row you can:
- Enable / disable the rule with a toggle. A disabled rule stops firing immediately.
- Edit to reopen the wizard at step 3, Configure & name.
- Send a test notification to verify delivery before a real event fires.
- Email me / Don’t email me from the overflow menu, to add or remove yourself as an email recipient without needing edit permission.
- Delete. A confirmation dialog warns that the rule will stop firing immediately and that its past alert events are deleted with it, disappearing from the inbox and history; this cannot be undone.
How an alert event reaches you
Section titled “How an alert event reaches you”When a rule’s conditions are met, the system fires an alert event and dispatches it to every configured channel simultaneously.
Bell (in-app inbox)
Section titled “Bell (in-app inbox)”Every alert event lands in your inbox automatically, regardless of delivery-channel settings. The bell icon in the main navigation links to your inbox.
Triggered events generate a branded email dispatched to the recipients configured in the rule’s Notification settings. When a postponed alert comes due, described below, the follow-up email is sent with a [Reminder] prefix in the subject line so it is easy to distinguish from the original.
If the rule has a Slack integration selected, a message is posted to the configured channel. Reminder redeliveries carry an :alarm_clock: Reminder — prefix in the title.
Proactive chat messages
Section titled “Proactive chat messages”If proactive alerts are enabled for your workspace, new alert events are pushed as proactive messages directly into the in-app AI Assistant (Chat), but only to the people who were picked as recipients in the rule’s Notification settings and who individually have this feature turned on for their account. A rule with no workspace-member recipients, or a workspace where nobody has the feature enabled, won’t deliver any proactive chat messages, even though the alert event still appears in the inbox. These messages are perspective-aware, using retailer or brand framing, and remain in your chat history even if you were offline when they arrived. Unlike email and Slack, proactive chat delivery isn’t configured as a separate step in the wizard. It reuses the same recipients you chose for email. Chat delivery never changes the inbox state of the alert event. The inbox remains the single owner of read/unread/postponed state.
Triaging alerts in the inbox
Section titled “Triaging alerts in the inbox”Navigate to Alerts in the main navigation to see your inbox. A filter bar at the top of the inbox lets you narrow the list, followed by four KPI cards summarising the current period:
- New alerts. The number of alert events seen in the selected time range, whether you’ve read them or not and whether or not the underlying issue has since ended.
- High overpricing risk. Events from “Competitor cheaper” and “Overpriced” rules.
- Margin opportunities. Events from “Margin opportunity” rules.
- MAP violations for brand users, or Price aligned for retailer users. Brand users see MAP violation events; retailer users see a count of resolved alerts.
Filters
Section titled “Filters”The filter bar offers:
- Time range. Last 24 hours, last 7 days, or last 30 days. Last 7 days is the default.
- State. All, Unread, Read, or Postponed.
- Alert type. Multi-select to focus on one or more rule types.
The list shows 25 alerts per page. You can sort it by Product, First seen, or Last seen.
The state machine
Section titled “The state machine”Each alert event moves through three states:
| State | Meaning |
|---|---|
| Unread | The event has arrived and hasn’t been reviewed yet. Rows are shown at full opacity and carry a blue badge. |
| Read | The event has been opened. Rows are dimmed, at reduced opacity. |
| Postponed | The event has been deferred to a specific date and time. The badge shows “Postponed · in N hours” using the time remaining until redelivery. |
Clicking any row opens the preview dialog. If the event is currently unread, it is automatically marked read on first open. If it is postponed, opening it leaves it postponed, so its scheduled reminder still arrives; only an explicit Mark as read or Unsnooze changes a postponed event’s state.
Row actions
Section titled “Row actions”Each row has an overflow menu with context-sensitive actions:
- Review. Opens the alert preview dialog.
- Mark as read / Mark as unread. Toggles state without opening the dialog. Unread rows offer Mark as read, and read rows offer Mark as unread.
- Postpone. Opens the postpone dialog, described below. It is also offered on postponed rows, so you can reschedule a reminder without unsnoozing first.
- Unsnooze. Moves a postponed event back to unread immediately.
- View violation. Shown only for MAP violation alerts. Opens the MAP violation case directly.
- Configure alert. Navigates to edit the underlying rule.
Postponing an alert
Section titled “Postponing an alert”The postpone dialog offers three quick presets and a custom picker:
| Option | When |
|---|---|
| Later today | The top of the hour, 4 hours ahead. For example, at 14:37 it is 18:00. |
| Tomorrow | Next day at 9 am |
| Next week | Next Monday at 9 am |
| Pick date & time | Any future date at a whole-hour time |
Postpone times are always set to whole-hour boundaries, for example 14:00, not 14:37.
Automatic reminder redelivery
Section titled “Automatic reminder redelivery”When the postpone deadline arrives, the system automatically:
- Sends a reminder email and/or Slack message if those channels are configured on the rule, labelled as a Reminder.
- Returns the event to Unread in the inbox.
You can then read it, act on it, or postpone it again. There is no limit on how many times you can defer an event. Each postpone-and-redelivery cycle is independent.
Bulk actions
Section titled “Bulk actions”Select multiple rows using the checkboxes in the left column. A floating selection bar appears at the bottom of the screen showing the selection count. Click Actions, or press ⌘ K / Ctrl K, to open the bulk command palette, which offers:
- Mark as read. Disabled if all selected events are already read.
- Mark as unread. Disabled if all selected events are already unread.
- Postpone…. Opens a postpone sub-menu with the same quick presets; choosing Custom date & time… opens the full date picker.
- Unsnooze. Disabled if no postponed events are selected.
Previewing an alert event
Section titled “Previewing an alert event”Clicking any row in the inbox, or in the product Alerts tab, opens the alert preview dialog. Every alert type shares a header with a badge naming the alert type, for example Competitor cheaper or Margin opportunity, with Alert as the fallback for an unrecognised type. Below the badge are the product’s image and name; clicking either opens the product. The header’s price slot depends on the alert type:
- MAP violation alerts show MAP price, and only when every violator in the alert shares the same MAP price.
- Price decrease and Price increase alerts show Lowest new price or Highest new price, with the retailer beside the amount.
- All other alert types show Your price.
Below the header, every alert type shows the trigger sentence. For an alert whose issue has ended, the sentence switches to the past tense and labels its figures as last seen. Then come the type-specific details:
- MAP violation alerts. A Market context summary made up of the MAP price, the observed price, and the gap between them, and an Impact figure showing how far below MAP the price is.
- Price decrease and Price increase alerts. When two or more retailers moved the price on the day, a table lists each Retailer with its From and To prices, the Change, and the Date.
- Competitor cheaper, Overpriced, and Margin opportunity alerts. A Market on card for the date the alert was last seen. It lists each retailer’s Price and its Gap to your price, with a You badge on your own store and an Equivalent badge on equivalent listings. The card is hidden when no competitor price is available for that date.
Every alert type also carries an Activity section below the type-specific content: First seen and Last seen, each shown as an absolute date and time, and Occurrences with an Active or Ended indicator. Price decrease and Price increase alerts show One-time change in place of Active or Ended. Alerts other than price movement and stock alerts also list the Price changes since first seen for the product.
If the event is currently unread, opening the dialog marks it read automatically; a postponed event stays postponed until you explicitly mark it read or unsnooze it.
The dialog footer offers Close, Configure alert, and a type-specific action. Configure alert jumps to editing the underlying rule. Review MAP Violation opens the MAP violation case in a dialog stacked on top of the alert preview, with the alert dialog staying open behind it. Go to Product Pricing, shown for all other alert types, navigates to the Prices tab of the affected product’s Product Detail page and is disabled when the event has no linked product.
For MAP violation alerts, a View violation shortcut in the row overflow menu opens the case directly in the MAP Violations detail view, bypassing the alert preview.
Alerts on the product detail page
Section titled “Alerts on the product detail page”Every product’s detail page has an Alerts tab; see Product Detail. The tab shows all open alert events for that specific product, whether they are unread, read, or postponed, with the most recently seen first. An event whose underlying issue has ended does not appear here, though it stays in the inbox history.
Tab indicator
Section titled “Tab indicator”When there are unread events for this product:
- The tab label changes its leading icon from a bell to a ringing bell.
- A small red dot appears at the top-right corner of the “Alerts” label.
- Hovering the tab shows a tooltip: “1 unread alert” or “N unread alerts”.
The dot counts only unread events; read and postponed events are listed in the tab body but do not contribute to the indicator. Unread events whose underlying issue has ended still count toward the indicator, even though the tab body doesn’t list them.
Row design
Section titled “Row design”Each row shows:
- Signal badge, colour-coded by alert type.
- Trigger. The description of what was detected.
- First seen. When the alert was first detected.
- Last seen. The most recent activity, the same expression the inbox list is ordered on.
- State badge. Blue Unread, grey Read, or purple Postponed · in N hours.
The Product column and the row-action menu are hidden here, redundant in a product-scoped view. Clicking any row opens the global alert preview dialog. An unread event is auto-marked read; a postponed event stays postponed.
Empty state
Section titled “Empty state”When there are no open alerts, the tab shows:
No open alerts for this product
The + Create Alert Rule button remains in the tab header as the entry point for setting up monitoring on this product.