
Outcome and scope
Notify the responsible Slack channel when stock crosses a product-specific threshold. The central problem is not merely comparing two numbers; it is remembering an open alert so that every scheduled check does not produce another message. Treat a product at each storage location as a separate unit when the business has more than one stockroom.
Agree what available quantity means. Physical stock, reserved stock and goods awaiting inspection are different measures. Do not turn a warning into an automatic purchase or inter-warehouse transfer without a separately approved process.
Prepare the fields and destination
Prepare these fields: Product ID, location ID, available quantity, alert threshold, reset threshold, alert state, last notification time and responsible channel. Keep source values separate from a reviewer’s confirmed values, and do not reuse an existing column for a different meaning. Create the first record with practice identifiers in a destination whose read and edit access matches the intended staff roles. Inspect the saved result from that role before using live information.
Store the last successful stock check separately from the first alert time. An ongoing shortage and a stale stock feed need different messages because they require different people to act.
Build the workflow in order
Store an alert threshold on each product record and distinguish available stock from items awaiting inspection. Read the selected stock table on a schedule and hold rows without a product or location identifier. Carry the stock update time into the notification so recipients can judge whether the quantity is current.
Select rows at or below the threshold only when no alert is open. Include product, location, available quantity, threshold and a source reference in the Slack message. Mark the alert as open after delivery returns a usable result. A failed send must remain distinguishable from a successfully delivered warning.
Clear an open alert when replenishment reaches the agreed reset threshold. A separate reset level can prevent repeated opening and closing around one boundary. If the business needs reminders during a long shortage, implement them as a named reminder policy rather than allowing the first-alert condition to fire on every poll.

Work through a small example
For an illustrative product, set the alert threshold to three and the reset threshold to six. Test quantities of four, three, two, six and three in sequence. Expect an opening alert at the first three and another after replenishment and a new decline. The quantity of two is part of the existing shortage, not a new opening event.
| State | Check | Action |
|---|---|---|
| First low level | Stock3; threshold3; no alert | Send the opening warning |
| Ongoing shortage | Stock2; alert already open | Do not repeat the opening message |
| Replenished | Stock6; reset level6 | Clear the open alert |
| New shortage | Stock falls to3 after reset | Create a new opening alert |
Handle changes during operation
During an ownership change, review open alerts as well as the master routing table. Test one delivery failure and recover that item without resetting every successfully delivered warning.
Estimate cost and usage
Stock monitoring cost depends on product count and polling frequency, even if few messages are sent. Count state lookups and reset writes as well as Slack delivery. Agree how long the shop can wait for a warning before reducing frequency for cost reasons. A cheaper configuration that discovers a shortage too late may fail the operational requirement.

Investigate failures
If a warning is absent, inspect quantity types, location identifiers and the stored alert state. Clearing all flags during an active shortage can flood the next run with repeated warnings. When the responsible channel changes, decide how open alerts move to the new owner and update the routing and state together.
Review before release
Before release, test a normal record, one missing a required value, a repeated identifier and an edited record. Use product id to trace the saved result back to the source. The acceptance condition is: Verify opening, ongoing and replenished states, including repeated threshold crossings. Record the expected result before testing, compare it with the actual saved state, and resolve unexplained differences before increasing the scope.
Start a small workflow in Make
Try the required workflow with practice data, then choose a plan around its usage and features. Check current prices, promotions and eligibility in the official signup flow.
Sign up on MakeAffiliate linkEstimate costs for your workload
Enter monthly jobs, billable steps and retries to see how different billing units affect your estimate.
Open cost calculatorOfficial sources
Pricing, availability and feature limits can change. Check the linked official pages before subscribing.
- Make: Working with filesInformation checked: 2026-10-30
- Google Sheets modulesInformation checked: 2026-10-30
- Make: Incomplete executionsInformation checked: 2026-10-30
- Make pricingInformation checked: 2026-10-30
- Make pricing — Core at 10,000 monthly creditsInformation checked: 2026-10-28
- Make creditsInformation checked: 2026-10-26
- Make scenario settingsInformation checked: 2026-10-26