Stock Alerts
Stock alerts are a daily email about your own inventory: the products that are below the minimum level you set in OpenBoxes, and the lots that are close to expiring. They are switched off until someone on your account turns them on, and they are included on the plan you are already on — there is no alerts add-on to buy.
Stock alerts are available today on Shared instances. Instances that run on their own server (Dedicated) are not covered yet — we are building that, and we do not publish a date.
The short version#
- Once a day. Not real time. We check your instance once each day and send at most one email. Nothing is sent the moment stock drops.
- Only products with a minimum set are ever checked for being low. If a product has no minimum level at that location, it is never reported as below minimum — however low it gets. The minimum level is the only threshold used; a reorder point is not. If you set no minimums at all, you will never be told anything is low.
- The expiring half does not use minimum levels. It looks only at how close a lot is to its expiry date, so an instance with no minimums set still receives an email on any day a lot falls inside the chosen window.
- Stock that has already expired is not listed. The section covers lots still ahead of their expiry date. A lot that has already passed its expiry date is not in the email, so it is not what triggers one — use the expiry views in your own instance for stock that is already past its date.
- We cut long lists sensibly and always tell you the true total. At most 50 rows per location in each section, and 200 rows in one email overall. The below-minimum section keeps the largest shortfalls; the expiring section keeps the lots closest to their expiry date. Each section that shows fewer rows than exist says so and gives the real total — for example, "Showing 50 of 1,483 products below minimum."
- Who gets it, and how to stop. The account owner, plus the teammates ticked in the panel. Every email carries an unsubscribe link that removes only that one address.
Turning them on#
- Go to Integrations in the portal sidebar, then the Destinations tab.
- Open Stock alerts.
- Switch them on.
- Tick the teammates who should receive the email. The account owner is included by default.
- Choose the expiring soon window — 30, 60, 90, 180 or 365 days. The default is 30 days.
Anyone on your account can open this panel and change these settings — switch the instance's alerts on or off, change the expiry window, and change which teammates receive them. It is a shared team surface, not an owner-only control.
Two things follow from that, and both are worth knowing:
- The switch turns the whole instance's alerts on and off, not one person's copy — so a teammate can switch alerts off for everyone.
- An individual stops their own copy with the unsubscribe link in the email. That opt-out is kept, and nobody can undo it by re-ticking that person here — not even the account owner.
When the email arrives#
We take one picture of your stock each day, early in the morning, and send the email shortly after 7am — both in your instance's timezone, not ours. We check every hour, so the usual send is within the hour after 7am; if a run is delayed or busy it can be later, but it is always the same day, in your instance's timezone. The send hour is fixed; it is not something you choose.
Your timezone is decided in this order:
- The timezone you set yourself, under Settings > General.
- Otherwise, the timezone we have recorded for your account.
- Otherwise, US Eastern (
America/New_York).
The email and the portal both name the zone that was used, so you can always see which one you are on — including when it is the platform default rather than a choice you made.
What is in the email#
Below minimum. Products whose quantity on hand is under the minimum level set for them at that location, grouped by location, largest shortfall first. Products that are completely out of stock are part of this section.
Expiring within your window. Lots whose expiry date falls inside the window you chose, grouped by location, soonest to expire first, with the lot number, the expiry date and the quantity on hand.
This section lists stock approaching expiry. A lot that has already passed its expiry date is not listed here, and does not on its own cause an email to be sent — for stock that is already past its date, use the expiry views in your own OpenBoxes instance.
The coverage line. Every email says how many of your products have a minimum level set — for example, "We only check products that have a minimum level set: 142 of 3,180 products here." That sentence is there so a short email is never mistaken for a clean bill of health.
The check time, with the timezone named, and a link to your instance.
The limits, stated plainly#
- At most 50 rows per location, per section — the 50 largest shortfalls in the below-minimum section, and the 50 lots closest to expiry in the expiring section.
- At most 200 rows in one email in total, across all locations and both sections.
- Whenever a section shows fewer rows than exist, the email states the real total for that section.
A day with a very long below-minimum list can use up the 200-row budget before the expiring section, so on that day the expiring section may be short or absent — but its true total is still stated.
When we send nothing#
If nothing is below minimum and nothing is expiring inside your window, we send no email at all. An inbox with nothing in it is ambiguous, so the check itself is reported in the portal instead.
The Stock alerts panel shows a status line such as:
Last checked 06:12 (Europe/London) — 0 alerts
That is the difference between "we looked and you are fine" and "we did not look". If a check could not be completed — your instance was suspended or being rebuilt, the data could not be read, or we could not reach the user directory — the panel says so explicitly, with the reason and when we will try again. It never reports a failed check as "0 alerts".
Alerts are not sent for an instance that is suspended or being rebuilt, and staging copies never send them.
Who receives it#
- The account owner, always, unless they have unsubscribed themselves.
- The teammates ticked in the panel.
To receive an alert, a person must be an active user on your account: their email address must be verified and their account enabled. Someone who was invited but has not finished setting up their account, and someone whose access has been disabled, is never a recipient — the panel shows them greyed out with the reason. If the account owner's own address is not verified, no email goes to the owner, and the panel says so.
Removing someone from your account in the portal stops their alerts with no other step.
Stopping alerts#
One person, from the email. Every alert carries an unsubscribe link, and there are two ways to use it, both deliberate.
- Opening the link in a browser changes nothing. You get a confirmation page, and nothing happens until you press the button on it. That is on purpose, so a corporate link scanner that opens every URL in your mail cannot unsubscribe anyone.
- Using your mail client's own Unsubscribe control acts immediately — the control Gmail, Outlook or Apple Mail shows at the top of the message. There is no page and no button: mailbox providers send that as a POST by specification, and it is required to work without a round trip.
Either way it removes that one address, and nothing else: the rest of your team keeps receiving the email and your instance is not changed. When the unsubscribe actually changes something, the account owner is told; a repeat unsubscribe by someone already unsubscribed is accepted quietly and tells the owner nothing again.
An opt-out made this way is kept. Nobody can simply re-tick that person in the panel to undo it — not the account owner, not anyone else on the account — so contact support if someone unsubscribed by mistake.
Unsubscribe links expire after 180 days. Clicking one from an alert older than that reports the link as no longer valid, and nothing is changed; use the link in a recent alert instead, or ask someone on the account to untick you.
The whole instance. Anyone on the account switches stock alerts off in Integrations > Destinations > Stock alerts. Nobody receives the email after that.
These alerts are not governed by Settings > Notifications. Those five toggles are a separate, platform-level preference list. Stock alerts are turned on and off in the Integrations tab, and by the unsubscribe link.
What is not available yet#
Email is the only destination today. Each of these is being built, is not available yet, and has no published date:
- A weekly summary of the same picture.
- Sending alerts to Slack, Microsoft Teams, or PagerDuty.
- Sending to email addresses that are not users on your account.
- Choosing which locations or muting individual products.
Stock levels are also not available as a webhook event. Stock alerts are a notification channel of their own, not something you subscribe to through the webhooks API.
Related#
- Managing users — who is on your account, and who counts as active.
- Integrations overview — what is available today and what is coming.