Shipping label automation, with approvals where they matter.
Every new order is rate shopped and labeled without anyone touching it, and labels above the threshold you set wait for a person to approve them.
The problem
Label buying is the step that does not scale and cannot go wrong.
At low volume someone opens each order, compares a few carriers, and buys the label. At high volume that person becomes the bottleneck, so teams reach for batch tools that buy whatever the rule says, including the oversized label from a mistyped weight.
Neither extreme is right. Most orders should ship without a human, and the few that cost more than they should need a person to look first, with the money rules enforced either way.
How it works in Flows
Order fulfillment automation with a human lane.
The flow is drawn once in the visual designer and runs for every order. The approval lane is an ordinary wait, so a run can hold for minutes or days without anything polling.
bridge_eventAn order starts the runStart on order_created from any connected store or WMS, on a schedule, or from an API endpoint your own systems call. The order is the trigger payload.
orderly.rateRate shop the orderQuote it across the carrier accounts connected to your organization and rank the quotes by cheapest, fastest, or best value. The winning quote is the step's output.
branchCheck it against your thresholdBranch on the winning quote's amount. Under the threshold, the label is bought straight away. Over it, the run takes the approval lane.
wait.eventWait for approvalIn the approval lane the run parks on an event you name, such as label.approved, with a timeout you choose. A person posts that event from the dashboard, or your own tool posts it with {{ run.id }}, and the run resumes.
orderly.label.purchaseBuy the label with funds heldThe cost is held against your balance before any carrier is called, and the step can never be set to skip on error. Each lane ends here once its label is cleared to buy.
http.requestHand back trackingPost the label and tracking number to the store, your WMS, or a client webhook. Add orderly.pickup.schedule before it when you want the carrier collection booked too.
Guardrails
Money rules the platform enforces for every flow.
Purchase label holds funds before the carrier is called and fails the run if the balance cannot cover it. It can never be set to skip on error or be swallowed by a recovery lane, and publishing refuses a flow that tries. Retries reuse the same idempotency key, so a label is bought once. In a scheduled flow, a failed money step pauses the flow so the schedule cannot keep failing.
Every run completes, waits, or fails into an exception your team can retry from the failed step. The reliability page covers exceptions, alerts, and the watchdog. Read the waits and signals guide ↗
Where it fits
Start with your busiest channel.
Most teams begin with the store that sends the most orders; the Shopify 3PL integration walks through that version, including posting tracking back to the store. Your own systems can call the same flow through an API endpoint instead of a store event.
Questions
Shipping label automation FAQ.
How do approval thresholds work in Flows?
A Branch step compares the winning quote with the amount you set, for example any label over $40. Orders under it continue to Purchase label. Orders over it reach a Wait for event step that parks the run until someone posts the approval event, then the label is bought. The threshold is a field in the branch condition, so changing it is a new published version, not a code change.
What happens if nobody approves the label?
The wait has a timeout you choose, up to 30 days. If it passes before the approval event arrives, the run fails into an exception with the reason attached, and your alert channels hear about it. Retry from the wait step to ask again, or ignore the exception with a note.
Which carriers does the flow rate shop?
Every carrier account connected to your Orderly organization. The rate step quotes them together and ranks the quotes by the strategy you pick, so adding a carrier account widens the comparison without changing the flow.
Can we try label automation without buying labels?
Yes. A dry run replays a real order captured from a recent run and paints each step with its result. The rate and label steps only resolve their configuration, so no quote is requested, nothing is bought, and your balance does not move.
Automate the label queue
Stop buying labels one order at a time.
Tell us how many orders you ship, which carriers you use, and where a person should still decide. We will show you the flow with your thresholds in it.