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.

  1. bridge_event
    An order starts the run

    Start 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.

  2. orderly.rate
    Rate shop the order

    Quote 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.

  3. branch
    Check it against your threshold

    Branch on the winning quote's amount. Under the threshold, the label is bought straight away. Over it, the run takes the approval lane.

  4. wait.event
    Wait for approval

    In 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.

  5. orderly.label.purchase
    Buy the label with funds held

    The 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.

  6. http.request
    Hand back tracking

    Post 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.

Talk to us about order to label automation

We use these details to reply to you. Privacy notice