Automation does not start with a robot. It starts with a task model that a robot can eventually join. Here is the sequence, the pharmacy-specific overlay, and the questions to ask a vendor.
Ask ten pharmacy operators what fulfilment automation means and eight will describe a machine: a vial-filling robot, a sorter, an AS/RS grid. Machines matter, but they are the last step in a sequence, and pharmacies that buy them first end up with an island of automation surrounded by clipboards. The sequence that works is: make the work visible as tasks; dispatch the tasks; gate the stations with scans; then add machines that take tasks from the same queue as people. This guide walks that order and names, where relevant, what Pharmacy Flow does today and what it does not.
WMS, WES, WCS: what each word means
WMS (warehouse management system)
The record. Lots, locations, quantities, transactions, receiving, quarantine, putaway, parcels. It answers what do we have and where.
WES (warehouse execution system)
The execution layer. It turns open orders into discrete tasks, decides who does each one, and tracks them to done. It answers what happens next and who does it.
WCS (warehouse control system)
The machine layer. It speaks a vendor's protocol to conveyors, sorters and robots. In a modern design it sits behind an adapter that presents machines to the WES as resources.
Most pharmacy software stops at a partial WMS. The gap that limits throughput is the WES. In Pharmacy Flow, the WMS and WES share one database and the Control Tower is the WES's board.
Step 1: make work visible as tasks
A task is one unit of physical work with a type (receive, putaway, move, pick, replenish, count, sort, pack), a from and to location, an item and quantity, an acceptance criterion (what done requires: a scan, a cold pack, a SLAM label) and the handling flags that matter in a pharmacy: cold chain, controlled, hazmat, temperature-controlled. Before any automation, model your outbound work this way and group tasks into waves that are planned and released deliberately. The immediate benefit is not speed; it is that for the first time you can see how much work exists, where it is stuck, and how long each type takes. Pharmacy Flow's planner takes open orders and emits a pick, pack and sort chain per order with the flags stamped from the product family, and sends cold picks to a Cold zone and controlled picks to a Vault zone with higher priority.
Work made visible: tasks by status, resources by state, waves by progress.
Step 2: dispatch and track
Once work is tasks, dispatch is a rule rather than a conversation. The simplest rule that works is capability matching with round-robin: every resource declares which task types it can do, and each ready task goes to the next capable resource. That is what Pharmacy Flow's auto-dispatch does today, humans and machines alike, with manual assignment for targeted work. Tracking is the other half: start, complete and exception on each task, the resource freed when it finishes, the wave completed when its last task closes. Every task then carries its resource, assignee and timestamps, which is the chain-of-custody record and the source of cycle-time data.
Resist the urge to optimise dispatch early. Round-robin by capability is enough to double what a lead can supervise. Pick-path sequencing, zone strategies and constraint-aware dispatch (a controlled pick only to a vault-authorised resource) come later, and any vendor should tell you plainly which of these they have built. Pharmacy Flow lists its own status on the fulfilment automation page.
Step 3: gate the stations with scans
Tasks end at stations, and stations are where errors either get caught or get shipped. Each station should be a scan and a state transition with a check behind it, not a screen with a button. In Pharmacy Flow, Fill commissions a unit from the earliest-BUD lot of the order's exact variant and mints its serial; Pack creates the parcel and picks the packout by product family; Verify scans order and serial and checks that the unit belongs to the order, is packed, is not recalled and is not past BUD, holding the order with the reason on a fail; Ship refuses an unverified order, and so does a database trigger. Each station writes an EPCIS-style event. Scan-gated stations are what make later automation safe: a machine that fills the wrong lot still cannot get past Verify.
A station is a scan, a check and a state transition.
See steps 1 to 3 running before you buy a robot
We will plan a wave on sample orders, dispatch it to a human and a simulated machine, and walk a unit through the scan-gated stations. Twenty minutes, on a tenant you keep.
With tasks, dispatch and gated stations in place, a machine is just a resource that cannot read a screen. Give it an API key and let it ask for work. In Pharmacy Flow a resource of kind AMR, AGV, sorter, AS/RS or put-wall gets a key at registration; it calls the task endpoint with that key, receives the task it holds or claims the next ready task matching its capabilities (a conditional update, so two machines cannot take one task), and reports progress back. The task it gets has the same fields a human sees: item, from, to, zone, handling flags, acceptance criterion. Vendor adapters translate that into the vendor's protocol. This is what makes hardware incremental: one goods-to-person station this year, a sorter next year, no re-platforming between them.
How common hardware maps to the task model. Adapters per vendor are the planned integration pattern; none are bundled today.
Automation
Task types it takes
What it needs from the WES
Autonomous mobile robots
move, pick (transport legs)
From and to locations, zone, priority
Goods-to-person / AS-RS
pick (bring the bin), replenish
Item reference and quantity, station to deliver to
Put-wall
sort (multi-line consolidation)
Order reference, lane assignment
Sorter and SLAM
sort
Carrier lane, label data, manifest close-out
Vial-filling automation
pack or fill at the station
Variant-exact lot, serial to print, verify gate afterwards
The pharmacy overlay
Consumer-goods automation never has to ask whether a pick is a Schedule II substance, whether a pack must stay between 2 and 8 °C, or whether a hazardous drug can share a tote. A pharmacy WES must carry those questions on every task and every station. The minimum is that tasks are flagged, that the flags travel to whoever or whatever takes them, and that stations check them. The next level is that dispatch refuses to give a flagged task to an unqualified resource. Be precise about which level a system has reached. Pharmacy Flow flags tasks at planning, routes controlled picks to the Vault zone with priority, delivers the flags in the machine payload, records temperature readings on cold-chain parcels and blocks delivery on an open QA hold; constraint-aware dispatch is on its roadmap and the page says so. Read the USP <800> checklist for hazardous handling and the cold-chain guide for temperature control.
The overlay on the outbound side: cold-chain flags, readings and holds on the parcel record.
What to measure before and after
✓Tasks per labour hour by type, from task timestamps, not from a stopwatch
✓Order cycle time by stage, from the order status history
✓Verify fail rate and the reasons (mismatch, not packed, recalled, past BUD)
✓Exceptions per wave and time to resolution
✓On-time delivery from carrier scans, and cold-chain holds per hundred parcels
✓Utilisation of each resource, human or machine
If you cannot produce the first two from your current system, you cannot know whether a machine paid off. Pharmacy Flow's order status history and task timestamps are the raw material for all six; the finance and insights views present several of them.
How to evaluate vendors
Ask every vendor, including us, the same five questions and insist on answers about shipped software. Which of WMS, WES and WCS do you provide, and where does each stop? Show me a task and the fields on it. How does a machine receive work, and what stops two machines taking the same task? Which pharmacy constraints are enforced by dispatch versus merely displayed? And what is on your roadmap that a salesperson might describe as present? A vendor who answers the last one without flinching is one you can plan with. The buyer's guide and the comparison page apply these questions to the market, and this page applies them to one common incumbent.
A twelve-month sequence
1
Months 1–2: record and stations
Get lots, locations and parcels into one record and make Fill, Pack, Verify and Ship scan-gated. Measure verify fail reasons.
2
Months 2–4: tasks and waves
Plan outbound into waves with flagged tasks. Dispatch by capability. Put the board where the floor can see it.
3
Months 4–6: measure and remove friction
Use task timestamps to find the slowest task type per labour hour. Fix layout and process before hardware.
4
Months 6–9: first machine
Register one automation cell as a resource with an API key; run it on one task type in one zone. Keep humans on the same queue.
5
Months 9–12: expand by task type
Add hardware where the numbers justify it. Every addition is a new resource, not a new system.
The orchestration: work modelled as flagged tasks, planned into waves, dispatched by capability and tracked to done, with scan-gated stations. It pays off with human labour and makes any later machine a resource on the same queue.
What is the difference between a WMS and a WES?+
A WMS is the inventory record; a WES is the execution layer that turns orders into tasks and dispatches them. Pharmacy Flow provides both on one database.
Do we have to replace our systems to automate?+
You have to have one record and one task model. If your current system provides the record but not the execution layer, that is the gap to fill; whether that means replacing or layering depends on how complete the record is.
How does a robot get work from the WES?+
It authenticates with a resource key and asks for its next task; it receives the task it holds or claims the next ready one matching its capabilities, and reports progress to a URL in the task. Vendor adapters translate to the machine's protocol.
Which pharmacy constraints must the WES carry?+
Controlled-substance segregation, cold-chain handling, hazardous-drug segregation and chain of custody. At minimum tasks are flagged and stations check; at the next level dispatch refuses unqualified resources. Ask which level a vendor has built.
How do we know a machine paid off?+
Compare tasks per labour hour and order cycle time by stage before and after, from task and status timestamps. If the system cannot produce those numbers, fix that first.
Which automation vendors does Pharmacy Flow integrate with?+
None are bundled today. The task API is vendor-neutral and an adapter per vendor is the planned pattern. Tell us which hardware you are considering.
A working platform, not a slide deck. Book a walkthrough and we'll run a real order from intake to carrier lane — or explore the public directory first, no account needed.