Start inputs
Daily stock check
Passed by the calling system
Operations & Compliance package
A daily stock check finds items at or below their reorder point, raises an Approve order / Skip task for each and emails the supplier a purchase order.
About this package
Inventory reorder keeps consumables and packaging from running out without anyone watching a spreadsheet. The Stock items table lists each item with its on-hand quantity, reorder point, reorder quantity, unit cost, supplier, supplier email, lead time and whether it is already on order. Sample rows cover packaging, labels, gloves, wipes, paper and toner, three of them below their reorder point.
Every morning at 07:00 the Daily stock check lists the active items and loops over them. Each item at or below its reorder point that is not already on order starts the Raise reorder sub-workflow: it marks the item on order, logs the reorder in the Reorders table with its estimated cost and gives the buyer a task with Approve order and Skip buttons. Approve order lets the buyer adjust the quantity, records the expected delivery date from the supplier's lead time and emails the purchase order to the supplier; Skip records why and releases the item so it comes up again tomorrow.
When anything was raised, the buyer also gets a short daily summary to confirm the stock counts are right before approving orders. No integrations needed.
Daily at 07:00 (Pacific/Auckland). You can also start it any time from the Run dialog, the API or the CLI.
Runs on a schedule (daily, weekly, monthly) in your time zone.
The flow
Daily check
At 07:00 the schedule lists every active item in Stock items.
Find low stock
A loop checks each item: on hand at or below the reorder point and not already on order.
Raise a reorder
Each low item runs the Raise reorder sub-workflow: marked on order, logged in Reorders with its estimated cost.
Approve or skip
The buyer adjusts the quantity and presses Approve order or Skip (with a reason).
Purchase order
Approved orders are emailed to the supplier with the expected delivery date; skipped items come up again tomorrow.
Confirm the counts
The buyer gets a daily summary of what was raised and confirms the stock counts or flags a recount.
Forms
The inputs a caller passes when it starts a run, and the forms people complete when the process needs a decision.
Start inputs
Passed by the calling system
User Task
Stock check {{=FORMAT_DATE(TODAY(), "DD/MM")}}: {{low_count}} items to reorder · own header and theme
User Task · Raise reorder
Reorder {{sku}} {{name}}: {{on_hand}} left (reorder point {{reorder_point}}) · 2-column grid · own header and theme
From your code
Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.
REST
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
-H "Authorization: Bearer $USERTASKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow_id":"<workflow id>","variables":{}}'CLI
usertasks workflows inputs <workflow id> # the start form: keys, types, required
usertasks workflows run <workflow id> --waitWhat's included
| Type | Name | Details |
|---|---|---|
| Email template | Purchase order to supplier | Sent to the supplier when a reorder is approved. |
| Data table | Reorders | Every reorder the daily check raised: what, how many, the estimated cost and whether it was approved. |
| Data table | Stock items | Stock you keep on hand: current quantity, the reorder point that triggers a purchase, how many to order and who supplies it. The daily check reads this table. |
| Workflow | Daily stock check | 17 steps — Every morning: find active stock items at or below their reorder point (and not already on order), raise a reorder approval for each through the Raise reorder sub-workflow, and ask the buyer to confirm the counts. |
| Workflow | Raise reorder | 17 steps — One stock item below its reorder point: log the reorder, ask the buyer to Approve order or Skip, email the purchase order to the supplier. |
Reorders · 1 sample rows
Reorder referenceSKUItemOn hand when raisedQuantityEstimated costSupplierSupplier emailStatusRaisedDecidedExpected byNote
Stock items · 9 sample rows
SKUItemCategoryLocationUnitOn handReorder pointReorder quantityUnit costSupplierSupplier emailLead time (days)On orderLast orderedActive
Requirements
Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.
Nothing: it installs complete.
Install
Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.
curl -fLO https://usertasks.com/gallery/inventory-reorder-1.0.1.utpkg
usertasks packages inspect inventory-reorder-1.0.1.utpkg # offline: checksum, hashes, signature
usertasks packages install inventory-reorder-1.0.1.utpkg --dry-run
usertasks packages install inventory-reorder-1.0.1.utpkg # prompts for each requirement
usertasks packages install inventory-reorder-1.0.1.utpkg --keep-incomplete --yes # in CI; finish with:
usertasks packages complete inventory-reorder -f values.yamlVerify the download
shasum -a 256 inventory-reorder-1.0.1.utpkg should print the file SHA-256. How gallery packages are signed.
Versions
Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work
More packages
Operations & Compliance Official
Monthly SOC 2 / ISO 27001 evidence run: automated controls are pulled from your systems, owners of manual controls are asked for a link, all logged for the auditor.
Needs:REST APIAssigneesEmail
Operations & Compliance Official
A daily check of your contract register: owners are reminded 60, 30 and 7 days before each notice deadline and asked to renew, renegotiate or terminate.
Needs:AssigneesEmail
Operations & Compliance Official
Every week, issue the current policy to every active person, track who has acknowledged it, remind the rest and give the policy owner one chase list.
Nothing to configure: works as soon as it is installed