A Dashboard Only Speaks When Spoken To
This product pushes a great deal at people — idle stock, expiring batches, lapsing documents, breached tickets. The one thing it will not push is a dashboard number crossing a line, and that is the alert most people assume a dashboard is for.
A dashboard is a question you have to remember to ask. That is its entire limitation, and it is easy to miss because a dashboard looks like it is watching something.
What this product does push
Quite a lot, and it is worth listing because the absence only makes sense against it.
- Stock that has not moved for your configured number of days, scanned daily, raised per item.
- Batches approaching expiry, on a thirty, sixty and ninety day horizon, with the value at risk.
- Employee documents expiring within thirty days.
- Supplier qualifications that have lapsed, which also deactivate the supplier automatically.
- Tickets that have breached either of their two deadlines.
- Fiscal filings that failed, retried hourly.
- A whole report, on a cadence, to a list of people.
That is a serious amount of push, and one of those commands carries a comment worth repeating because it explains the shape of the whole problem: low stock can be edge-triggered from the moment stock is written, because there is an instant when it crosses the line. Dead stock cannot, because it is defined by nothing happening — so there is no moment to hook, and it has to be scanned for.
You cannot hook an absence. Anything defined by something not happening has to be looked for on a schedule, by something that remembers to look.
What it does not push
A number on a dashboard crossing a threshold.
Every alert above is attached to a record — this item, this batch, this document, this ticket. There is nothing attached to a metric: gross margin below a figure, days of cover under a number, the backlog above a count, a branch's takings down by a percentage against last week.
Those are precisely the things people put on dashboards, and they are the things nobody is told about.
Record alerts — built
- This batch expires in 30 days
- This item has not moved in 90
- This ticket breached its target
- This qualification has lapsed
Metric alerts — absent
- Margin fell below 22%
- Days of cover dropped under 10
- Open backlog passed 200
- Branch takings down 30% on last week
Why the distinction is not pedantic
A record alert tells you about a thing. A metric alert tells you about a trend, and trends are what a manager covering several sites is actually responsible for.
Nobody can look at eight branch dashboards every morning. What they can do is be told when one of the eight moves. The absence of metric alerting is therefore not a missing convenience — it is the reason a dashboard for a multi-site operation gets opened enthusiastically for two weeks and then not again.
And a dashboard nobody opens is worse than no dashboard, because everyone believes the numbers are being watched.
The closest thing available today
A scheduled report. Set the report to run daily and deliver to the people who would have been alerted, and you have converted a pull into a push.
It is genuinely useful and it has one significant weakness: it sends whether or not there is anything to say. A daily report that is normal on three hundred days a year trains its recipients to file it unread, which means it is not read on the day it is abnormal. That is the same failure as an alert that fires too often, arriving by a different route.
The thing you care about is a record
Already handled
Expiry, idleness, breaches, lapses. Configure the thresholds and the alerts exist.
The thing you care about is a number
Scheduled report
The available answer. Accept that it sends on quiet days too, and keep the recipient list short.
You need to be told only when it is bad
Not available
Conditional delivery does not exist. This is the honest gap and it is worth naming before you design a process around it.
You want a number watched continuously
A build
Metric thresholds on tiles. Small, and the machinery to deliver the alert already exists.
What AWRA OpsHub does today
- Scheduled scans that raise alerts per record — dead stock, expiring batches, document expiry, lapsed supplier qualifications, ticket SLA breaches, failed fiscal filings.
- Workflow events fired alongside emails on several of those, so a tenant can automate on the event even when the mail is muted.
- Per-tenant thresholds where the alert needs one, such as the dead-stock day count.
- Report schedules that deliver a whole report on a cadence, in several formats, to users, roles or external addresses.
- Deduplication on the record alerts, so the same item does not shout nightly.
What it does not do
- Any threshold on a dashboard tile, or on any metric at all.
- Conditional delivery — a schedule sends whether or not anything changed.
- Any comparison of a metric against a target, a budget or a prior period as an alert.
- Anomaly detection on a metric series.
- Any subscription model where a person chooses which numbers to be told about.
Not ours, by choice
- The record-level alerting is genuinely good and better than most products of this size. The gap is specifically at the metric level, and it is one gap rather than a general absence of push.
- A scheduled report is a real workaround and we would recommend it. Its weakness — sending on quiet days — is the reason it is a workaround rather than the answer.
- Nothing here is South African. Southern Africa is here because multi-site distribution is common there, and a manager covering eight branches is exactly the person a dashboard cannot serve.
Two, and the delivery half already exists
This is unusually cheap because the hard part — reliable scheduled evaluation, deduplication, preference-respecting delivery, workflow events — is built and running for six other things.
A threshold on a metric, with a direction
Above, below, or changed by more than a percentage against the prior period, evaluated on a cadence and raised through the notification machinery that already exists. The evaluation is the new part; everything downstream of it is already there.
Conditional delivery on a schedule
Send this report only if a stated condition holds. It solves the quiet-day problem for every existing schedule at once, which makes it worth more than it looks — a report that only arrives when it matters is read.
How it works: you describe the requirement, we return a written scope, timeline and cost, and once agreed it is built into your environment and maintained as part of the product.
Talk to us about metric alertingFour questions about alerting
Can a dashboard tile alert me?
A good answer sounds like
Yes, with a threshold.
What it actually means
Ours cannot. Most dashboards cannot, and almost every buyer assumes they can.
Does a scheduled report send on a quiet day?
A good answer sounds like
Only if you ask it to.
What it actually means
Ours always sends. That is what makes a daily report unread by the time it matters.
Which alerts are per record and which per number?
A good answer sounds like
They know the difference.
What it actually means
A vendor who has not separated them will demonstrate record alerts and let you infer the rest.
How is a repeated alert stopped from becoming noise?
A good answer sounds like
Deduplication, with a reset.
What it actually means
Ours stamps the record and clears the stamp when it next moves. Nightly repetition trains people to ignore it.
Ask what tells you, not what shows you
A dashboard shows. The question worth asking in any evaluation is what will interrupt somebody, and about what — because that is the list of things that will actually get acted on.
Talk about operational alertingFrequently asked questions
Can a workflow rule watch a number?
Workflow rules respond to events — something happened to a record. A metric crossing a threshold is not an event any record emits, which is precisely why it needs an evaluation on a cadence rather than a trigger.
Is a daily scheduled report a reasonable substitute?
For a small recipient list watching a genuinely important number, yes, and we would suggest it. For anything broader it decays into an unread routine within a month, and that decay is silent.
Why can dead stock not be edge-triggered?
Because it is defined by the absence of movement, and an absence has no moment. That is written into the scanning command as a comment, and it is the clearest short explanation of why some alerts must be scans rather than triggers.