Last year we started automating parts of our vendor operation. My agency works with more than 10,000 publishers, and everything about that number is unglamorous: rate cards, invoices, payment details, order confirmations, and a partner marketplace feeding us site data over an API. The pilot was beautiful. The agent matched orders to invoices, flagged price changes, and kept our internal records in sync. Then, in the second week of production, a vendor's rate came through the API at a tenth of the agreed price, another vendor turned out to be two listings for the same domain, and a third asked to change their bank details in a very polite email. The automation handled none of it. To be fair, nobody had asked it to.
This is the year agents moved into back-office work. Accounts payable, procurement, vendor management, order processing. The demos look great, and they look great for a specific reason: demos live on the happy path. Clean inputs, known vendors, no ambiguity. Production is different. In production, the exceptions are not an edge case. They are the job.
The routine work was never the expensive part
In our operation, roughly seven or eight transactions in ten are routine. Same vendor, agreed rate, clean invoice. Before automation, those took the team seconds each. The other two or three in ten ate the whole day: mismatched prices, sites that had changed owners, invoices in the wrong currency, a discount negotiated by email that never made it into any system.
An agent that absorbs the routine 80 percent sounds like an 80 percent saving. It is not, because the cost was never spread evenly. When the easy work disappears, what remains is a concentrated stream of hard cases with no quick wins in between. More than one operations lead I have spoken with this year rolled out agents, watched the dashboard turn green, and then wondered why the team felt busier than before.
Automation moves bad data faster
Our marketplace sync taught us this the direct way. The partner's API sends us thousands of sites with pricing. Some prices disagree with rates we negotiated by email. Some domains appear twice under slightly different names. A few sites changed hands after they were listed, which in our business changes what the site is actually worth. None of this is unusual. Every vendor dataset I have ever seen looks like this underneath.
A human doing the sync by hand noticed when something felt off. The price looked wrong, the domain rang a bell, the name did not match the invoice. Agents do not get that feeling. They move the data exactly as it arrives, at scale, with confidence. Automation does not fix data quality. It gives bad data better throughput.
We now run reconciliation before anything touches our records. Negotiated rates win over API rates. Duplicates get merged by a person. And any request to change payment details goes to a human every single time, with the vendor's full history attached. That last rule is not negotiable. Payment detail changes over email are one of the oldest fraud patterns in existence, and an agent that helpfully processes them is an agent that helpfully wires money to a stranger.
Design the handoff before the workflow
Most rollouts define what the agent does in careful detail and leave "everything else" to an exception queue nobody designed. That queue is where all the difficult work now lives, so it deserves more design attention than the workflow itself.
When the agent gives up, the case should arrive with everything the agent saw and tried, so the human starts at minute five instead of minute zero. Each exception type needs a named owner rather than a shared inbox. And resolutions should flow back into the reference data, because otherwise the same exception returns next month wearing a different invoice number.
An exception without context is the worst of both worlds: a task too hard for the agent, handed over in a way that makes it slower for the human than the manual process ever was.
Measure resolved work, not executed tasks
The metrics that flatter an automation program are straight-through rate and tasks completed. Both can improve while the operation gets worse. The numbers I trust now are different: time to resolution across every case, including the ones that fall out of the flow, how often a human overrides the agent, and whether the exception queue is shrinking month over month. If the dashboard is green and the queue keeps growing, the automation is producing work, not absorbing it.
Agents amplify the discipline you already have
The uncomfortable part of our own rollout is that most of the effort went into things we should have done years ago. Writing down the rules the team actually used, including the unofficial ones that lived in two people's heads. An agent cannot replace judgment that was never written down. It can only remove the people who had it from the loop.
So my advice to anyone pointing agents at a back office in the next two quarters is boring. Spend the first month on your reference data and your exception design, not on prompts. Decide which cases must always reach a human, and make sure those cases arrive with context attached. Then automate the rest, and watch the queue rather than the dashboard. Ours is finally shrinking. It took two quarters longer than the pilot suggested, and every week of that delay traced back to a data problem or a handoff problem. Never the model.