Product
The Report That Only Arrives When Something Is Wrong
Turn off send-when-empty on an exception report and the email showing up becomes the alert.
A report that always arrives teaches people to skip it
Most scheduled reports turn into wallpaper. The low-stock list lands every Monday whether or not anything is low, so the team learns that opening it rarely changes anything, and they stop opening it. Operations and clinical teams call this alert fatigue: when most signals need no action, people stop reacting to all of them, including the few that matter.
The fix isn’t more reports, or louder ones. It’s making arrival mean something. A scheduled report in Assisty has a setting for exactly this. On the cadence panel, next to frequency, hour, and timezone, is an optional Send when empty setting. Leave it off, and a run that finds nothing to report sends nothing. The inbox stays quiet on weeks when nothing needs doing, so when the email does come, it’s worth opening.
Silence only works for exception reports
Not every report should go quiet. The question to ask is whether an empty result means there is nothing to do.
A filtered, action-shaped report passes that test. Assisty’s ready-made templates include low stock and reorder now, and both are lists of things that need attention. An empty low-stock report means nothing crossed the line this week, so there’s no reason to send it. That’s management by exception: you look only where something has drifted from the plan.
A routine report fails the test. A sales summary with zero in it isn’t “nothing to report”. The zero is the report, and arguably the most urgent one you’ll get all month. The same goes for any report where an empty month is itself information, like a review of last month’s stockouts, where a clean month is the result you were hoping for. Silence works for exception reports. It doesn’t work for reports where zero is the answer.
| Aspect | Routine report | Exception report |
|---|---|---|
| What an empty run means | Something worth knowing (no sales, no movement) | Nothing needs doing |
| Send when empty | On, because the zero is the message | Off, because silence is the all-clear |
| What arrival tells you | It’s that day again | Something crossed a line |
| Heartbeat | Not needed | A monthly copy with Send when empty on |
| Template examples | Sales summary | Low stock, reorder now |
Run the quiet check ahead of the PO approval
An exception only helps if it shows up while there’s still time to act. A low-stock email that arrives after this week’s purchase orders went out just tells you what you missed.
So time the schedule backwards from the decision. Assisty schedules run daily, weekly, or monthly. You pick the weekdays or days of the month and the hour, and they run in your store’s timezone, so 7:00 AM means 7:00 AM where the store is. If one check a week isn’t enough, run it on two weekdays, like the Mon & Thu, 7:00 AM cadence shown on the scheduled reports page, or schedule the same report more than once a day.
The decision on the other end might be an automation rule that drafts a supplier’s PO every Monday. Assisty’s rules draft routine purchase orders on schedule, and nothing reaches the supplier until you approve it. An early-morning low-stock exception gives the person approving that draft a heads-up before they sign off.
Trusting a report that stays quiet
Every quiet channel has the same weakness. Silence can mean “all clear” or “nothing ran”. Engineers solve this with a dead-man’s switch, something that has to check in to prove it’s alive. A quiet report has no check-in by design, so build trust in it before you rely on it.
Start at setup. Run now sends a test delivery the moment you save, so you judge an actual delivery before the first scheduled run fires. After that, every run is kept in history with the file it sent, re-downloadable any time. That trail only covers the weeks it fired, so give the quiet schedule a heartbeat. Nothing stops you from scheduling the same report more than once, so add a second, monthly schedule of it with Send when empty on. If that monthly email ever fails to arrive, the silence isn’t about your stock: check the report, its schedules, and delivery before you trust the quiet again. And after you edit the quiet schedule’s filters, use Run now again so you know that one still sends.
If the report arrives too often, tighten it rather than ignoring it. A schedule captures the source report exactly (breakdown, time range, filters, columns) when you create it from Quick Actions → Schedule Report. You can then edit that schedule’s columns and filters without touching the report itself, so you can raise the bar for the alert without changing the version your team uses day to day.
Email lands with a CSV, Excel, or PDF attachment and can go to several recipients at once, which suits a list someone works through over coffee. When an exception needs to be seen right away, schedule it to fire a Shopify Flow trigger instead, and let Flow alert Slack or Teams.
| Setting | What it does |
|---|---|
| Send when empty | Optional setting; leave it off so an empty run sends nothing |
| Frequency and hour | Daily, weekly, or monthly; pick the weekdays or days of the month and the hour |
| Timezone | Runs in your store’s timezone |
| Run now | Sends a test delivery the moment you save |
| Per-schedule columns and filters | Edit them without touching the source report |
| History | Keeps each run with the file it sent, re-downloadable |