How I built a browser agent to do the work nobody wanted to do, and what happened when it actually worked.
Inside Amazon's freight operations, a team called TFT manages trailer movement across dozens of facilities. Every day, a system called Paragon generates cases, each one representing a shipment that needs a trailer attached before it can move.
The cases land in a queue. Associates work through them one by one. Some of those cases are genuinely hard. A trailer stuck in the wrong yard. A site with no available options. A late shipment where someone needs to make a judgment call.
These are the cases that need a human. And then there's the other kind.
of incoming cases require no judgment. Open a tool. Find an empty trailer. Check it. Attach it. Resolve. The associate already knows the answer before they open the case.
The information was already there.
The rule was already written.
The only thing missing was something to click the buttons.
APEX is a browser automation agent. It opens a real Chrome window, logs into Paragon, reads the case queue, opens YMS in a second tab, evaluates available trailers, makes the decision, attaches the VRID, and resolves the case.
It does exactly what an associate would do. It takes 32 seconds. Then it moves to the next case.
It doesn't replace judgment. It replaces the absence of it: the cases where no judgment was needed in the first place.
Browser automation against internal enterprise tools is a different problem. Three things made this harder than expected.
Every trailer in the yard goes through this list. Pass all seven, or move on to the next one. Tap any check to see what happens when it fails.
When APEX handles the routine cases, TFT associates spend their time on the ones that actually need them. The complicated redirections. The yards with no good options. The sites where something's gone wrong and someone needs to make a call.
That's the version of this story I find more interesting than the efficiency numbers. Not faster, but the right kind of work, available more of the time.
When APEX hits something it can't resolve: a site not in YMS, an unusual equipment restriction, a case modified mid-flight, it escalates. A human takes over.
That escalation path is intentional. APEX was never designed to handle everything. It was designed to handle the cases that don't need a decision.