As the ops director of a growing 3PL, how do I add warehouse robots without ripping out our WMS?
Data as of Sep 21, 2026 · Based on 50 AI responses from ChatGPT Search and Google AI Mode · See how Parse measures this
Data as of Sep 21, 2026 · Based on 50 AI responses from ChatGPT Search and Google AI Mode · See how Parse measures this
Yes—you can add robotics **without replacing your WMS**. For a growing 3PL, the cleanest pattern is usually to make the WMS the system of record and put an execution/orchestration layer between it and the robots. MHI specifically describes WES as middleware that can let an existing WMS remain responsible for inventory…
Yes—you can add robotics without replacing your WMS. For a growing 3PL, the cleanest pattern is usually to make the WMS the system of record and put an execution/orchestration layer between it and the robots.
MHI specifically describes WES as middleware that can let an existing WMS remain responsible for inventory and core warehouse processes while the WES handles real-time execution of automated fulfillment.
ERP / Customer Systems
│
▼
┌─────────────────┐
│ WMS │
│ Inventory │
│ Orders │
│ Locations │
│ ASN / Receiving │
└────────┬────────┘
│
orders / tasks / status
│
▼
┌─────────────────┐
│ WES / WCS / │
│ Orchestration │
│ │
│ Task allocation │
│ Robot routing │
│ Priorities │
│ Exceptions │
└───────┬─────────┘
│
┌──────────┼──────────┐
▼ ▼ ▼
AMRs AS/RS Conveyors
Robot fleet G2P Sorters
The important distinction is who owns what:
MHI similarly distinguishes the WMS's inventory/order role from WCS's real-time equipment-control role.
This is the biggest architectural decision I'd make.
Instead of:
WMS → Robot A
WMS → Robot B
WMS → Conveyor
WMS → Sorter
use:
WMS
│
▼
Orchestration
│
┌──────┼──────┐
▼ ▼ ▼
AMR G2P Conveyor
That matters enormously for a 3PL because you're likely to add different automation at different customers and sites. A WES/WCS can normalize those interfaces so your WMS integration doesn't have to change every time you add another robotics vendor. MHI specifically recommends avoiding a proliferation of separate WCS connections when multiple equipment vendors are involved.
I'd establish a small canonical interface between your WMS and orchestration layer.
For example:
WMS → orchestration
Orchestration → WMS
The WMS shouldn't need to know whether "move tote 123 from A to B" was accomplished by an AMR, conveyor, person, or some future technology.
That abstraction is precisely the value claimed by current robotics orchestration platforms: translate high-level warehouse tasks into machine-specific commands and return execution status to the WMS.
Don't automate "the warehouse."
Pick a process where the interfaces are bounded and the economics are measurable—for example:
Manual picking → AMR-assisted picking
MHI recommends phased brownfield automation rather than trying to modify or replace the existing WMS wholesale.
Your first implementation should prove the interface, not maximize robot count.
Don't ask robot vendors merely:
"Does your robot integrate with our WMS?" Ask:
Those questions are more important than the robot's headline "picks per hour."
This is where I'd be particularly careful.
Your orchestration layer needs to understand that the WMS is probably carrying customer-specific rules.
Don't let the robotics system independently decide things such as:
"This SKU belongs to Client X, therefore put it here." Instead, have the WMS establish the business context and let the execution layer optimize within those constraints.
For example:
WMS:
"Pick 4 × SKU-123 for Order 8472,
Client ABC, from permitted inventory."
↓
WES:
"Best available execution:
AMR-17 → Station 4"
↓
Robot:
"Move tote 928 → Station 4"
↓
WES:
"Task completed"
↓
WMS:
"Confirm inventory/order transaction"
That separation helps prevent automation logic from becoming another shadow WMS.
I'd establish a baseline for the manual process first:
| Metric | Baseline | Pilot target |
|---|---|---|
| Units/hour | — | — |
| Orders/hour | — | — |
| Labor hours/order | — | — |
| Travel distance | — | — |
| Pick accuracy | — | — |
| Robot utilization | — | — |
| Exception rate | — | — |
| WMS transaction latency | — | — |
| Downtime | — | — |
And especially measure exceptions per 1,000 tasks.
A robot that works beautifully 98% of the time can still create a nasty operation if the remaining 2% requires a supervisor to manually unwind inventory, containers, and WMS transactions.
I'd think of this as building a warehouse automation platform, not buying robots.
Your first robot should establish:
WMS → standardized execution API → automation
Then your second automation project should ideally reuse the same architecture:
WMS → same execution layer → robot/conveyor/ASRS/etc.
That gives you an important 3PL advantage: you can progressively automate individual customers, processes, and sites without turning every deployment into a bespoke WMS integration project. MHI and current WES vendors both describe this layered/phased approach as a way to preserve existing WMS investments while adding heterogeneous automation.
If you tell me which WMS you run (e.g. Manhattan, Blue Yonder, Körber, Extensiv, Logiwa, Deposco, custom) and what robot type you're considering (AMRs, autonomous forklifts, robotic picking, goods-to-person, etc.), I can map out the actual integration architecture and a practical 90-day pilot plan.
Adding warehouse robots without replacing your existing Warehouse Management System (WMS) comes down to inserting an orchestration or middleware layer rather than forcing a direct, custom, and brittle point-to-point integration. As an operations director, your goal is to abstract the robotics layer so your WMS treats…
Adding warehouse robots without replacing your existing Warehouse Management System (WMS) comes down to inserting an orchestration or middleware layer rather than forcing a direct, custom, and brittle point-to-point integration. As an operations director, your goal is to abstract the robotics layer so your WMS treats the robots like smart labor (like a forklift driver or picker) rather than rewriting core inventory logic.
Here is how you do it without a rip-and-replace:
Would you like me to dive deeper into:
No sources cited
For a growing 3PL, the safest approach is usually **not to make the WMS control the robots directly**. Treat your WMS as the system of record and add a robotics execution layer between it and the machines. This lets you automate workflows without turning your WMS into a custom robotics platform. [Blue…
For a growing 3PL, the safest approach is usually not to make the WMS control the robots directly. Treat your WMS as the system of record and add a robotics execution layer between it and the machines. This lets you automate workflows without turning your WMS into a custom robotics platform.
A practical architecture looks like this:
ERP / Customer Systems
|
v
WMS
(inventory, orders, priorities)
|
v
Robotics Orchestration Layer
(task translation, fleet control, exceptions)
|
v
Robot Fleet Managers
(AMRs, AGVs, robotic arms)
|
v
Warehouse Floor
A common mistake is letting the robot vendor redefine your warehouse logic.
Keep these responsibilities:
WMS owns
Robotics layer owns
This avoids rewriting years of WMS configuration. Middleware/orchestration layers are specifically designed to translate WMS tasks into robot-specific commands and return completion status.
Do not integrate every WMS function. Define the minimum messages.
Usually you need:
WMS → Robots
Robots → WMS
The goal is: the WMS still thinks it issued warehouse work; it just happens to be executed by robots.
Good when:
Downside:
Usually better for a 3PL because you may add:
The layer acts as a translator and lets you add equipment without repeatedly modifying the WMS.
For your first deployment:
This reduces operational risk.
For a 3PL, good first candidates are usually:
Avoid starting with:
The robot should remove walking and transport waste before you automate complicated decision-making.
Ask your WMS team/vendor:
Also audit:
Robotics projects often fail because the warehouse data and processes are inconsistent, not because the robots cannot move.
Days 1–30: Design
Days 31–60: Pilot
Deploy small robot fleet
Run alongside current process
Measure:
picks/hour
travel reduction
labor hours
error rates
downtime
Days 61–90: Scale
Your advantage is flexibility. Avoid a robot setup that only works for one customer's SKU profile.
Prioritize:
A good end state is: new customer comes in → configure WMS rules → robotics layer executes → no custom robot project required.
If you share your current WMS (e.g., Manhattan, Blue Yonder, Körber, SAP EWM, Oracle, HighJump/Conec, etc.), robot type you’re considering (AMRs, pallet movers, robotic arms), and your main workflow (pick, pallet, replenishment), I can sketch a more specific integration architecture.
Adding warehouse robots (like AMRs, goods-to-person bots, or automated pallet jacks) without ripping out your legacy or core WMS comes down to inserting an **orchestration layer** rather than rewriting your core database…
Adding warehouse robots (like AMRs, goods-to-person bots, or automated pallet jacks) without ripping out your legacy or core WMS comes down to inserting an orchestration layer rather than rewriting your core database architecture.
As an ops director, your goal is to treat the robotics fleet as an "smart peripheral"—much like adding a new bank of RF scanners or high-speed print-and-apply lines, just with wheels and a Fleet Management System (FMS).
The battle-tested playbook for pulling this off smoothly requires a structured approach:
If you'd like to narrow this down, tell me:
I can give you more specific architectural advice on how they typically plug in.
As an operations director at a 3PL, ripping out your Warehouse Management System (WMS) is a nightmare scenario: it risks client data, halts operations, and blows up your budget. Fortunately, you don’t have to touch your core WMS to introduce AMRs (Autonomous Mobile Robots) or goods-to-person automation. Instead of a…
As an operations director at a 3PL, ripping out your Warehouse Management System (WMS) is a nightmare scenario: it risks client data, halts operations, and blows up your budget. Fortunately, you don’t have to touch your core WMS to introduce AMRs (Autonomous Mobile Robots) or goods-to-person automation.
Instead of a rip-and-replace, you insert an orchestration layer between your existing WMS and the hardware. Here is the operational playbook to pull it off smoothly:
To help narrow this down, what WMS platform are you currently running, and what type of robots (AMRs for picking, AGVs for pallet moving, or goods-to-person) are you looking to add?
Yes. The safest pattern for a growing 3PL is **brownfield automation**: keep the WMS as the system of record, and insert an execution/integration layer between it and the robots. MHI specifically recommends this approach for existing facilities: a WES can preserve much of the WMS's receiving, inventory, and other core…
Yes. The safest pattern for a growing 3PL is brownfield automation: keep the WMS as the system of record, and insert an execution/integration layer between it and the robots.
MHI specifically recommends this approach for existing facilities: a WES can preserve much of the WMS's receiving, inventory, and other core functionality while handling real-time execution for automated processes.
WMS
┌─────────────────────┐
│ Inventory / Orders │
│ Clients / Billing │
│ Receiving / Shipping│
└──────────┬──────────┘
│
API / messages
│
┌──────────▼──────────┐
│ WES / Integration │
│ Layer │
│ │
│ Task orchestration │
│ Rules / priorities │
│ Error handling │
│ Robot abstraction │
└───────┬─────┬───────┘
│ │
┌─────▼─┐ ┌─▼──────┐
│ Fleet │ │ WCS │
│Manager│ │ │
└───┬───┘ └───┬────┘
│ │
┌────▼──────────▼────┐
│ AMRs / conveyors / │
│ sorters / stations │
└────────────────────┘
The key idea is don't make your WMS talk directly to every robot vendor. MHI describes WES/WCS as the intermediary layers between the WMS and automation, with WCS handling equipment control and WES coordinating work across manual and automated processes.
I'd establish a hard boundary:
WMS owns
Execution layer owns
That prevents you from turning the WMS into a robot-control application.
Don't automate "the warehouse."
Pick something like:
Pick face → consolidation station or
Receiving → putaway or
Pick station → pack For a 3PL, I'd favor a workflow with high transaction volume, predictable movements, and measurable labor savings.
Your first robot should prove the integration architecture as much as it proves the robot.
Before selecting a robot vendor, define the messages you expect the execution layer to handle.
For example:
WMS → execution
CreateTaskCancelTaskPrioritizeTaskReleaseTaskExecution → WMS
TaskAcceptedTaskStartedTaskCompletedTaskExceptionAnd separately:
Robot/fleet → execution
This distinction is important because the WMS thinks in inventory transactions, while robot software thinks in physical movements and robot states. Recent integration guidance makes the same point: successful AMR deployments need bidirectional exchange of tasks, completion, inventory updates and robot status.
This is particularly important for a 3PL.
Don't build:
WMS → Vendor A's proprietary API → Vendor A robots
Build:
WMS → Your execution API → Robot adapter → Vendor A
→ Vendor B
→ Vendor C
Then you can add a second AMR vendor later without rewriting your WMS.
Interoperability is becoming a major warehouse-robotics issue specifically because heterogeneous fleets and vendor lock-in are increasingly common.
I'd give someone internal ownership of:
"Warehouse Automation Platform"
rather than letting each automation vendor build its own one-off integration.
For every new site/client/robot, you should ideally be configuring:
—not commissioning another six-month custom integration.
This becomes a huge competitive advantage for a 3PL, because you're building reusable automation infrastructure rather than buying isolated automation projects.
If the robot vendor says:
"We need five custom WMS tables and 14 custom transactions." That's a warning sign.
MHI explicitly identifies significant modification of an existing WMS as a risky path compared with using an execution/middleware layer.
The robot manufacturer should be exceptionally good at operating robots.
It shouldn't become the authority for:
"Which customer's order should we pick next?" That's your warehouse execution/business logic.
I'd rather deploy 10 robots that prove the architecture than 100 robots attached to a brittle integration.
The first phase should answer:
That last one matters enormously in a 3PL.
Weeks 1–3 — Map the operation
Baseline:
Then identify the one workflow where automation has the clearest economics.
Weeks 4–6 — Design the interface
Freeze:
Do this before signing the robot contract.
Weeks 7–12 — Pilot
One zone, one workflow, limited fleet.
Run manual and automated processes side-by-side. Measure:
Cost per completed task rather than simply:
robots per warehouse Then scale only after the integration survives real exceptions.
If you're expecting to operate multiple automation types or multiple robot vendors, I'd seriously consider a WES/automation orchestration layer rather than a simple point-to-point WMS-to-fleet integration. MHI notes that modern WES implementations are specifically useful for coordinating multiple automated and manual workflows in brownfield facilities.
For a growing 3PL, I'd frame the goal as:
WMS = system of record WES/integration layer = system of execution Robot/WCS/fleet manager = system of physical control
That lets you add automation incrementally without turning every new robot, customer, or warehouse into a WMS redevelopment project.
If you tell me which WMS you run (e.g. Manhattan, Blue Yonder, Körber, HighJump, Deposco, Extensiv, custom) and whether you're thinking AMRs, robotic picking, palletizing, or AS/RS, I can lay out the specific integration architecture and a vendor-neutral pilot plan.
Then identify the one workflow where automation has the clearest economics.
Weeks 4–6 — Design the interface
Freeze:
Do this before signing the robot contract.
Weeks 7–12 — Pilot
One zone, one workflow, limited fleet.
Run manual and automated processes side-by-side. Measure:
Cost per completed task rather than simply:
robots per warehouse Then scale only after the integration survives real exceptions.
If you're expecting to operate multiple automation types or multiple robot vendors, I'd seriously consider a WES/automation orchestration layer rather than a simple point-to-point WMS-to-fleet integration. MHI notes that modern WES implementations are specifically useful for coordinating multiple automated and manual workflows in brownfield facilities.
For a growing 3PL, I'd frame the goal as:
WMS = system of record WES/integration layer = system of execution Robot/WCS/fleet manager = system of physical control
That lets you add automation incrementally without turning every new robot, customer, or warehouse into a WMS redevelopment project.
As an ops director at a 3PL, ripping out your Warehouse Management System (WMS) just to plug in a fleet of Autonomous Mobile Robots (AMRs) or goods-to-person bots is a fast track to downtime, blown SLAs, and a mutinous IT team. Fortunately, you don't have to. The secret to keeping your legacy or tier-2 WMS intact is…
As an ops director at a 3PL, ripping out your Warehouse Management System (WMS) just to plug in a fleet of Autonomous Mobile Robots (AMRs) or goods-to-person bots is a fast track to downtime, blown SLAs, and a mutinous IT team.
Fortunately, you don't have to. The secret to keeping your legacy or tier-2 WMS intact is introducing an abstraction layer rather than hard-coding a point-to-point connection.
Instead of forcing your WMS to talk directly to the robot vendor's proprietary software, insert a Warehouse Execution System (WES) or a Vendor-Neutral Robotics Hub/Middleware.
Avoid letting a robotics vendor write custom, brittle SQL queries or heavy custom scripts straight into your WMS database.
If you are running an older legacy WMS that refuses to play nice with external APIs, you can integrate via emulation:
Never let physical robot execution block WMS transactions in real-time. Use an asynchronous event-driven architecture (via webhooks or message queues like Kafka/RabbitMQ):
If you want to map this out further, tell me:
I can help you outline a proof-of-concept architecture that protects your uptime.
Yes—you can add robots **without replacing the WMS**. For a growing 3PL, I’d treat the WMS as the **system of record** and put an execution/integration layer between it and the robots. The architecture I’d aim for is: **WMS → WES/WCS or integration layer → robot/fleet manager → robots**
Yes—you can add robots without replacing the WMS. For a growing 3PL, I’d treat the WMS as the system of record and put an execution/integration layer between it and the robots.
The architecture I’d aim for is:
WMS → WES/WCS or integration layer → robot/fleet manager → robots
That pattern is specifically suited to brownfield automation: the WMS continues handling inventory, orders, locations and core warehouse transactions, while the execution layer translates work into real-time robotic tasks.
Pick one painful, measurable workflow.
For a 3PL, good candidates are usually:
The key is to automate a bounded workflow, not "robotize the warehouse."
I'd establish a hard architectural boundary:
| Function | Keep in WMS | Give to robotics/execution layer |
|---|---|---|
| Customer/order data | ✓ | |
| Inventory ownership | ✓ | |
| SKU/location master | ✓ | |
| Allocation | ✓ | |
| Order status | ✓ | |
| Warehouse task creation | ✓ | |
| Task prioritization | ✓ | |
| Robot assignment | ✓ | |
| Robot routing/traffic | ✓ | |
| Charging/fleet management | ✓ | |
| Real-time movement | ✓ | |
| Equipment exceptions | ✓ |
This division matters because robot fleet software is designed to optimize individual robot tasks and the fleet collectively; it isn't necessarily your inventory system.
If your WMS has decent APIs/events, you might get away with an integration layer plus the robot vendor's fleet manager.
If you're adding multiple types of automation, I'd seriously evaluate a WES.
Think of it as:
WMS: "Pick these 500 orders." WES: "Here's the best sequence and resource allocation right now." Fleet manager: "Robot 17, take this tote to station 4." Robot: "Done." WES is particularly valuable when you're coordinating humans, AMRs, conveyors, sortation or other automation simultaneously. MHI describes WES as an intermediary that can let an existing WMS remain in place while real-time execution shifts to the automation layer.
This is where I'd spend disproportionate effort.
Define the messages between WMS and execution layer:
WMS → execution
Execution → WMS
You want idempotent, asynchronous transactions wherever possible. Don't make the WMS wait synchronously for a robot to drive across the building.
And don't let the robot vendor hard-code business logic into your WMS. That's how you create the next legacy system.
This is the part I'd worry about more than the robot itself.
A 3PL isn't one warehouse—it is potentially dozens of customers with different:
Your robot system should therefore receive generic warehouse tasks, rather than customer-specific business logic whenever possible.
For example:
WMS:
MOVE_LPN 12345 from A-01-02 to PICK-07, priority 80rather than:
Robot software: "Customer ABC order 8172 requires..." Keep customer intelligence in the WMS/execution orchestration layer.
I'd run a 60–90 day production pilot around one workflow/account/zone.
Before deployment, establish a baseline:
Then establish the acceptance criterion before you buy.
For example:
"The system must sustain 250 lines/hour for four consecutive peak hours while maintaining ≥99.5% task completion accuracy and requiring no more than 1 operator intervention per 100 movements." That prevents the classic automation problem where everyone declares victory because the robots are moving, while operations discovers that throughput hasn't actually improved.
Your WMS must continue operating when:
Most importantly:
Every automated task needs a human fallback.
If Robot A can't move a pallet, the system should be able to generate a manual exception task rather than leaving inventory stranded.
MHI's guidance on brownfield automation emphasizes validating real-time integration and functional gaps before deployment; inadequate vetting is a common source of cost and schedule problems.
I'd avoid choosing a robot solution that works beautifully but requires a custom integration for every new customer.
Instead, create a standard automation adapter:
┌───────────────┐
│ WMS │
│ inventory │
│ orders/tasks │
└───────┬───────┘
│
Standard API
│
┌───────▼───────┐
│ WES / │
│ Integration │
│ Layer │
└───┬───────┬───┘
│ │
┌─────▼──┐ ┌──▼──────┐
│ AMR │ │ Conveyor│
│ Fleet │ │ / WCS │
└─────┬──┘ └────┬────┘
│ │
┌────▼──────────▼───┐
│ Physical Handling │
└───────────────────┘
Then when Customer B arrives, you're configuring warehouse processes, not rewriting your robot integration.
For a growing 3PL, my sequence would be:
The big idea is don't make the WMS smarter than it needs to be. Let it remain your inventory/order authority and make the execution layer responsible for the messy, real-time physical world. That architecture is specifically one of the approaches recommended for brownfield warehouses where replacing or heavily modifying the existing WMS would add unnecessary risk.
If you tell me which WMS you run (e.g., Manhattan, Blue Yonder, Körber, HighJump, Deposco, 3PL Central, custom) and what kind of robots you're considering (AMRs, autonomous forklifts, pallet robots, picking robots), I can sketch the actual integration architecture and a vendor-selection checklist.
I'd avoid choosing a robot solution that works beautifully but requires a custom integration for every new customer.
Instead, create a standard automation adapter:
┌───────────────┐
│ WMS │
│ inventory │
│ orders/tasks │
└───────┬───────┘
│
Standard API
│
┌───────▼───────┐
│ WES / │
│ Integration │
│ Layer │
└───┬───────┬───┘
│ │
┌─────▼──┐ ┌──▼──────┐
│ AMR │ │ Conveyor│
│ Fleet │ │ / WCS │
└─────┬──┘ └────┬────┘
│ │
┌────▼──────────▼───┐
│ Physical Handling │
└───────────────────┘
Then when Customer B arrives, you're configuring warehouse processes, not rewriting your robot integration.
For a growing 3PL, my sequence would be:
The big idea is don't make the WMS smarter than it needs to be. Let it remain your inventory/order authority and make the execution layer responsible for the messy, real-time physical world. That architecture is specifically one of the approaches recommended for brownfield warehouses where replacing or heavily modifying the existing WMS would add unnecessary risk.
Most importantly:
Every automated task needs a human fallback.
If Robot A can't move a pallet, the system should be able to generate a manual exception task rather than leaving inventory stranded.
MHI's guidance on brownfield automation emphasizes validating real-time integration and functional gaps before deployment; inadequate vetting is a common source of cost and schedule problems.
Adding warehouse robots without replacing your existing Warehouse Management System (WMS) is totally doable—and honestly, the preferred path for most 3PLs trying to avoid catastrophic downtime and multi-million dollar software overhauls. Here is how you pull it off by acting as the bridge between your legacy WMS and…
Adding warehouse robots without replacing your existing Warehouse Management System (WMS) is totally doable—and honestly, the preferred path for most 3PLs trying to avoid catastrophic downtime and multi-million dollar software overhauls.
Here is how you pull it off by acting as the bridge between your legacy WMS and modern automation:
To help narrow down the integration path, could you tell me:
No sources cited
Yes. **You can usually add robots around an existing WMS rather than replacing it.** The key is to keep the WMS as the system of record and put an execution/integration layer between it and the robots. ### The architecture I’d use ```
Yes. You can usually add robots around an existing WMS rather than replacing it. The key is to keep the WMS as the system of record and put an execution/integration layer between it and the robots.
ERP / OMS / Customer Systems
│
▼
┌─────────────┐
│ WMS │
│ inventory │
│ orders │
│ locations │
│ status │
└──────┬──────┘
│
API / events / files
│
▼
┌─────────────────────┐
│ WES / Integration │
│ Layer │
│ │
│ task orchestration │
│ prioritization │
│ exception handling │
│ translation │
└──────┬───────┬──────┘
│ │
┌──────▼──┐ ┌──▼────────┐
│ AMR │ │ Other │
│ Fleet │ │ Automation│
│ Manager │ │ / WCS │
└────┬────┘ └────┬──────┘
│ │
🤖 🤖 🤖 conveyors,
sorters, etc.
This is essentially the brownfield approach recommended by MHI: leave the WMS handling things such as inventory and core warehouse transactions, while a WES or similar middleware handles real-time execution between the WMS and automation.
For a 3PL, I'd be very reluctant to move these out initially:
Think: “What physically exists, and what does the customer believe happened?” → WMS.
Let the robot/fleet software—or WES sitting above it—deal with:
The distinction matters: fleet-management software optimizes individual robots and the fleet, while WES can coordinate automation and manual work at a higher level.
Don't make your WMS speak “robot.”
Instead, have it say something like:
Move LPN 12345 from location A-01-02 to station PICK-07. The integration layer translates that into whatever the particular robot vendor requires.
When the robot completes it:
LPN 12345 arrived at PICK-07. The integration layer translates that back into a WMS transaction.
That abstraction is what lets you add Robot Vendor B later without rewriting your WMS.
Don't start with "automate the warehouse."
Start with something like:
Picker travel → AMRs move picked totes from pick zones to pack/sort.
Or:
Replenishment → robots move inventory from reserve to forward pick.
You want a process where you can establish a baseline:
Then prove the robot improves that metric.
Your first robot project should ideally require only a handful of transactions:
WMS → robot layer
Robot layer → WMS
Don't allow the project to become a six-month exercise in modifying your WMS.
MHI specifically cautions that substantial modification of an older WMS to close automation gaps can be risky; middleware/WES is one way to preserve the existing system.
Before selecting the robot, have the vendor demonstrate—not merely promise—the interface.
I'd put these questions in the RFP:
| Question | What you want |
|---|---|
| WMS interface | REST API/event-based preferred; files acceptable for legacy systems |
| Robot abstraction | Your WMS shouldn't depend on robot-specific commands |
| Multi-vendor | Ability to add another robot type later |
| Task IDs | Globally unique, idempotent |
| State model | Clear lifecycle: created → accepted → executing → complete/failed |
| Exceptions | Machine-readable, not just an operator screen |
| Retry behavior | Defined and safe |
| Offline behavior | Explicitly defined |
| Inventory authority | WMS remains authoritative |
| Observability | Logs, timestamps, correlation IDs |
| Sandbox | Test environment before production |
| Versioning | Backward-compatible API/version strategy |
The underlying principle is that automation integration needs real-time messaging in both directions; MHI specifically identifies APIs, web services and even flat-file interfaces as possible integration mechanisms depending on the existing WMS.
This is the part I'd worry about more than the robots.
Your automation architecture needs to understand that Customer A and Customer B are not necessarily allowed to share the same operational rules, even if they share the same building.
Build tenant awareness into the orchestration layer:
Customer
↓
Order
↓
WMS allocation
↓
Automation task
↓
Robot execution
↓
Confirmation
↓
WMS
↓
Customer-specific reporting/billing
Don't let robot software become the place where customer-specific business rules proliferate.
Otherwise, five customers later, you'll discover that your "robot integration" has become an unofficial second WMS.
I'd also avoid trying to automate every exception.
For example:
Normal:
WMS → WES → AMR → station → WMS
Exception:
WMS → WES → AMR → "blocked"
↓
human resolves
↓
resume
Your operational team needs a single exception-management view. If supervisors have to bounce among the WMS, robot console, conveyor HMI and spreadsheets to understand why orders aren't moving, you've created an automation problem rather than solved one.
This is the strategic piece.
If you're going from one facility/robot application to potentially 10–20 customer deployments, don't make each deployment a bespoke integration.
Create your own internal "automation adapter" pattern:
Your Integration API
│
┌────────────────┼────────────────┐
│ │ │
WMS A WMS B WMS C
│ │ │
└────────────────┼────────────────┘
│
Orchestration
│
┌─────────────┼─────────────┐
│ │ │
AMR #1 AMR #2 Conveyor/WCS
Then your commercial proposition becomes much more scalable:
Customer brings WMS; we connect their warehouse to our automation layer. That's a much better 3PL technology strategy than:
Customer A gets WMS integration #1 + robot integration #1; Customer B gets integration #2; Customer C gets another custom project.
I'd seriously consider WES when you're moving from one isolated robotic workflow to multiple automated/manual workflows.
For example:
At that point, something needs to decide what work should happen next and which resource should perform it. That's where WES becomes valuable as an orchestration layer rather than merely an interface.
One robot application: WMS → robot/fleet middleware → robots
Several robot applications: WMS → WES → robot/WCS/fleet systems
Multiple customers + multiple facilities + multiple automation vendors: WMSs → your standardized integration/orchestration layer → WES/robot/WCS → equipment
That last model is where I'd steer a growing 3PL.
Don't buy the robot first and then ask:
"How do we integrate this with our WMS?" Instead, start with:
process → required transactions → system-of-record ownership → integration contract → orchestration → robot selection.
The robot is ultimately just a new execution resource. Your WMS doesn't need to know whether a human, an AMR, or an automated conveyor performed the physical movement—as long as the right inventory and operational events reliably make it back to the WMS.
If you tell me which WMS you're running (e.g., Manhattan, Blue Yonder, Körber, Deposco, Extensiv, HighJump, homegrown) and what kind of robots you're considering (AMRs, robotic picking, pallet movers, etc.), I can sketch the exact integration architecture and the first 10–15 APIs/events I'd put in the RFP.
For example:
Normal:
WMS → WES → AMR → station → WMS
Exception:
WMS → WES → AMR → "blocked"
↓
human resolves
↓
resume
Your operational team needs a single exception-management view. If supervisors have to bounce among the WMS, robot console, conveyor HMI and spreadsheets to understand why orders aren't moving, you've created an automation problem rather than solved one.
This is the strategic piece.
If you're going from one facility/robot application to potentially 10–20 customer deployments, don't make each deployment a bespoke integration.
Create your own internal "automation adapter" pattern:
Your Integration API
│
┌────────────────┼────────────────┐
│ │ │
WMS A WMS B WMS C
│ │ │
└────────────────┼────────────────┘
│
Orchestration
│
┌─────────────┼─────────────┐
│ │ │
AMR #1 AMR #2 Conveyor/WCS
Then your commercial proposition becomes much more scalable:
Customer brings WMS; we connect their warehouse to our automation layer. That's a much better 3PL technology strategy than:
Customer A gets WMS integration #1 + robot integration #1; Customer B gets integration #2; Customer C gets another custom project.
I'd seriously consider WES when you're moving from one isolated robotic workflow to multiple automated/manual workflows.
For example:
At that point, something needs to decide what work should happen next and which resource should perform it. That's where WES becomes valuable as an orchestration layer rather than merely an interface.
One robot application: WMS → robot/fleet middleware → robots