KPB Solutions
ES Español EN English
Book a meeting

Guide

Automated Threshold Alerts: How to Get Notified When a KPI Goes Out of Range

A practical guide to stop combing through reports and get notified only when a KPI goes out of range: the pattern behind every alert, how to set the threshold, and four ways to implement it.

Updated October 14, 2026 8 min read

Automated Threshold Alerts: How to Get Notified When a KPI Goes Out of Range

Photo: emrank · CC BY 2.0

Every Monday the same Excel file lands in your inbox with sales, margins, and stock. You open it, scroll through forty rows, and close it because "nothing happened." Until a sale goes out at a negative margin or a key product runs out of stock, and you find out after it has already cost you money.

Automated threshold alerts flip that logic: instead of watching the numbers, you get notified when a metric goes outside the range you defined.

In this guide you'll learn the pattern behind every alert, how to set the threshold, four ways to implement it, ten recommended alerts, and how to keep them from being ignored.

What is an automated threshold alert?

An automated threshold alert is a rule that checks a metric at set intervals or whenever a record changes, compares it with a defined limit (a value, a percentage, or a historical range) and, only if the limit is crossed, notifies the person responsible with the data and a link to take action.

Scheduled report vs threshold alert

A scheduled report always arrives, whether or not there's anything to look at, and that's why people stop reading it. An alert arrives only when there's an exception. The two complement each other: the report shows trends, and the alert lets you react the same day. Together they make up KPI monitoring, one of the building blocks of business intelligence for SMBs, and alerts are the most mature of the BI trends for 2026.

The anatomy of an alert: trigger, query, condition, action, and log

In any tool, an alert has five parts.

  1. Trigger: a schedule (every day at 8:00 a.m.) or an event (an order was confirmed).
  2. Query: where the value comes from: the ERP, a Power BI model, or a spreadsheet.
  3. Condition: the comparison against the threshold, such as "margin below 15%."
  4. Action: an email, a Teams message or, better yet, a task assigned with a due date.
  5. Log: the date, value, and owner of each alert, so you can measure how many were resolved.

The log is the part most often skipped, and without it you can't tell whether your alerts are working. It's the same structure as any automated workflow.

How to set a good threshold: absolute, percentage, or historical

The threshold decides whether an alert is useful or just noise:

Threshold type How it works Example When to use it
Absolute A fixed value Stock below 50 units Clear operational limits
Percentage A percentage or rate of change Margin below 15% Metrics that grow with volume
Historical A deviation from normal Weekly sales 25% below their 8-week average Seasonal metrics

Three rules of thumb:

  • Start from the decision. If crossing the line wouldn't make you do anything differently, you don't need the alert.
  • Use two levels: a warning level (margin below 20%) and a critical level (below 10%).
  • Require persistence if the data is noisy: only alert if the condition holds across two checks.

Option 1: send a report when a value exceeds a threshold with Power Automate

Sending a report when a value exceeds a threshold means scheduling a flow that queries the data and only sends the report if the condition is met. Here's how to build a threshold condition in Power Automate:

  1. Create a scheduled cloud flow with the Recurrence trigger.
  2. Add the query: Excel rows, a database, or the Run a query against a dataset action from the Power BI connector, which runs a DAX query.
  3. Add a Condition that compares the value with the threshold.
  4. In the "Yes" branch, send the email or Teams message and log the send, for example in a SharePoint list. In the "No" branch, the flow ends.

According to the Power Automate limits, run history is kept for 30 days (hence your own log), and a flow that keeps failing is turned off after 14 days, sometimes without anyone noticing.

There's no Odoo connector in the Power Automate catalog: you need the HTTP action or a custom connector, both premium, plus Odoo's external API, which its pricing page includes only in the Custom plan (checked in October 2026). Costs are covered in Power Automate licensing, and connection options in Power Automate templates and examples.

Option 2: Power BI data alerts that trigger a flow

Power BI data alerts are notifications the service sends when a value on a dashboard crosses the threshold you set. According to Microsoft's documentation:

  • They work in the service and the mobile app, not in Power BI Desktop, and only on tiles pinned from numeric gauges, KPIs, and cards.
  • They're evaluated when the model refreshes: if you refresh once a day, so does the alert.
  • They arrive in the notification center and, if you choose, by email. Only the person who created them can see them.

To notify other people, use the When a data driven alert is triggered trigger in Power Automate. In reports, the Set alert button creates Fabric Activator alerts, which notify whoever you specify by email or Teams, but they require a workspace with Fabric capacity (checked in October 2026).

Option 3: scheduled actions and automation rules in Odoo

Alerts in Odoo are built with native tools:

  • Rule on value change: when a record meets a condition, such as a confirmed order with a margin below the threshold, it creates an activity for the owner or sends a templated email.
  • Rule on a time condition: it fires before or after a date, such as an invoice due date. It isn't instant: according to the Odoo documentation, it's checked by a scheduled action that runs every 4 hours by default, and more often if the delay is under 40 hours.
  • Scheduled action with code: for aggregated metrics, such as weekly sales against the historical average, you need Python code. Odoo warns that maintenance of custom code isn't included in its Standard or Custom plans.

The Odoo 19 and 20 documentation shows how to create these rules from Odoo Studio, which is included in the Custom plan (checked in October 2026); the details may vary depending on your version and plan. On top of that, every rule is one more piece to test in each version upgrade.

Option 4: a ready-made alert catalog for Odoo

The fourth path is to start from alerts that are already designed. Keep Checking, KPB's alerts module for Odoo, continuously monitors processes and data across five areas, from sales to data integrity. Its alerts live inside Odoo, are assigned by role, and link back to the source record, so you don't have to build and maintain each rule separately.

10 alerts every SMB should have

The names come from the catalog in the Keep Checking quote builder; the "X" is the threshold you define.

Alert Who receives it Expected action
Sale with a margin below X% Sales manager Review the price or discount
Stalled opportunities Salesperson Schedule the next step
Customers at risk of churn Account executive Reach out to the customer
Sales orders not yet invoiced Sales administration Issue the invoice
Tickets open for more than X days Support lead Reassign or escalate
Customers with invoices overdue beyond X time Collections Follow up on payment
Customers with no available credit Credit Approve or hold the order
Bills not matched to a purchase order Accounting Resolve the discrepancy
Products projected to run out of stock Purchasing Create the purchase order
Late deliveries Logistics Notify the customer and reschedule

Data quality alerts, such as duplicate contacts or opportunities with no expected revenue, are covered in the guide to customer history and the 360-degree view.

How to avoid alert fatigue

Alert fatigue happens when so many notifications arrive, or so many irrelevant ones, that people stop reading them and ignore the important ones too. To prevent it:

  1. Every alert has an owner and an action. If nobody knows what to do with it, delete it.
  2. Notify the person who decides, not everyone.
  3. Don't repeat the notification while the condition stays the same.
  4. Review the log every month. An alert that nobody resolves either has the wrong threshold or isn't needed.

Why work with KPB Solutions

As an Odoo Gold Partner with more than 70 active clients in 6 countries, at KPB we define the thresholds with you, and with Keep Checking setup takes 7 days. Plans include up to 10, 30, 50, or 100 alerts (3 to 10 UF + VAT per month; the UF is Chile's inflation-indexed unit of account). In the quote builder you can browse a catalog of 70 pre-built, customizable alerts, put together your selection, and request your quote; anything that isn't on the list can be configured to order.

Need dashboards in Odoo too? Check out Keep BI. Is your data outside Odoo? Podiux, our Power BI–based business intelligence ecosystem, includes automated alerts.

Tired of finding out too late? Book a meeting and let's review which of your company's metrics deserve an alert.

FAQ

Frequently asked questions

What is an automated threshold alert?

It's a notification the system sends only when a metric crosses a limit you defined, such as a margin below 15% or stock below the minimum. The limit can be a fixed value, a percentage, or a deviation from the historical norm. Unlike a scheduled report, it doesn't arrive when there's nothing to act on.

How do I send a report in Power Automate only when a value exceeds a threshold?

Use a scheduled cloud flow: the Recurrence trigger, an action that queries the data, and a Condition that compares it with the threshold, so that only the Yes branch sends the email or Teams message. If the data lives in Power BI, the Run a query against a dataset action runs a DAX query; the Power BI connector is standard, but the query API must be enabled in the Power BI admin settings. Keep your own log of what was sent, because run history is kept for only 30 days.

Which Power BI visuals support data alerts?

Only dashboard tiles pinned from gauges, KPIs, and cards with numeric data; cards with date or time measures don't support them. Each alert notifies you at most once an hour or once every 24 hours, whichever you choose, and doesn't repeat the notification if the value hasn't changed. You can create up to 250 alerts across all your models.

Can you create alerts in Odoo without writing code?

Yes, for specific cases. Automation rules create an activity or send an email when a record meets a condition or when a date is approaching; the Odoo documentation shows how to create them from Odoo Studio, which is included in the Custom plan. For aggregated metrics, such as weekly sales against their average, you need a scheduled action with Python code, and Odoo doesn't include maintenance of that code in its plans. The alternative is to start from a catalog of ready-made alerts, such as Keep Checking.

What is alert fatigue and how do you spot it?

It's the wear and tear that sets in when so many notifications arrive, or so many irrelevant ones, that the team stops reading them and misses the important ones too. You spot it in the alert log, when the share of notifications nobody resolves keeps growing. The fix is fewer, better-chosen alerts, each with an owner and an expected action.

How many alerts does Keep Checking include and how much does it cost?

Keep Checking has four plans, priced in UF (Chile's inflation-indexed unit of account) + VAT per month: Essential, with up to 10 alerts (3 UF); Advanced, with up to 30 (6 UF); Pro, with up to 50 (8 UF); and Enterprise, with up to 100 (10 UF). Setup takes 7 days. In the quote builder you put together your selection from a catalog of 70 alerts and request your quote.

Ready to put these ideas to work in your business?

Let's talk about your Odoo, BI or automation project. A team of 40+ KPBeers is ready to help.

Book a meeting
WhatsApp