Browser automation · Live · since October 2026
The shipper portal pull.
The shipper's carrier portal has no feed, so a bot searches it, exports the grid, parses the legacy spreadsheet and feeds two dashboards every 15 minutes.
The problem
Two pages of the platform ran on a spreadsheet export from the shipper's portal, and a teammate produced that export by hand every 15 minutes. The shipper's API team confirmed there would be no data access.
How it works
- Drives the portal in a real browser: set the pickup window, run the slow search, wait on the real row counter, fetch the export in-page. Legacy spreadsheet in, typed rows out.
- The portal silently caps every export at 500 rows and keeps the oldest. The bot splits the date window and unions the pieces by load number instead of ever shrinking the search.
- Every live run publishes a status row, and both dashboards show it: green when fresh, amber with the reason when the bot is failing or logged out, parked outside hours. The rules are pure functions with 26 checks.
- The bot clicks exactly two things: Search and Export. The portal's approval controls are never touched.
// the bot can only search and export; nothing on the portal is ever approved or changed by it
The result
The every-15-minutes manual export is retired. The first live write carried 529 rows, past the cap the split was built for, and the dashboards now say exactly how fresh their data is.
In practice
Schedule of the unattended systems, Central time.
Syncing the Central clock.
Related systems
- Live
The report discrepancy checker
Replaced the owner's Excel compare macro: the TMS and the shipper's portal reconciled with a status vocabulary map and seven exception views.
How it works - Live
The pick tracking board
The shipper's daily tracking sheet lives in the platform now, mirrored against the TMS every 15 minutes and fed by the portal pull.
How it works - Live
The load-board refresh bot
Every 15 minutes a desk PC pulls the board from the TMS, wipes the stale postings on the load board, uploads the fresh file and posts it. Nobody touches it.
How it works
Your version of this exists.
Different industry, same shape: a repetitive workflow, a fragile spreadsheet, an inbox someone babysits. Tell me what the manual work looks like and I can usually name the first build in one conversation.