The Age of Decommission

Make the productivity claim prove itself.

RPA was also sold as augmentation, until the exceptions became the job

The last automation wave promised that bots would take the boring clicks. It did, sometimes; it also created fragile interfaces, reconciliation work and a human job defined by what the bot could not explain.

What it feels like

The unsettled feeling of becoming the person who only sees the work when something has already gone wrong.

You are not the failure mode because you handle exceptions. You are the control the automation left unfinished.

You’ve become the person who gets the cases after the cheerful message has already gone out.

Not the person who does the ordinary work. The person who sees the work when the amount is in the wrong currency, the balance is already zero, the button has moved, the confirmation never arrives.

You weren’t naive to welcome the bot.

The repetitive work was real and it was exhausting. A remittance file at the end of a long day isn’t a test of character. It’s payer references, invoice numbers, dates, currencies, amounts, and the same legacy screen asking to be found again.

You had people waiting, a home to get back to, and a queue that didn’t become meaningful by being tedious.

Somebody offered to take ten clicks out of a task.

Saying yes was reasonable.

No grudge. No uprising. Just sequence.

It’s about sequence.

The ordinary work went first. What stayed arrived already damaged, ambiguous, or late.

2013 — You record a macro to save ten clicks.

2018 — The bot runs the night shift.

2021 — A screen update stops it on a Tuesday.

2026 — The agent can read the screen. It can also misunderstand why the screen changed.

The promise had a friendly name. Augmentation. The bot takes the boring clicks so you can do the work that needs judgment.

Sometimes it did. RPA lands where your work is rule-based, repetitive, periodic and digitally performed. Four characteristics that make an overnight payment-status update look almost purpose-built for a machine.

That isn’t a trick. A legacy receivables application with no usable API really does leave you copying a remittance into a screen.

A bot can get its own short-lived credential, open the approved desktop image, enter the invoice reference, the amount, the date, press save, move on.

The useful part is real.

The problem is that a screen isn’t a contract. It’s a surface.

The job moved to the edges

Your bot’s ordinary case is more precise than its sales story.

Your intake checks sender, date, schema and duplicate status before it creates a work item.

That item carries your payer reference, invoice number, amount, currency, received date, source-file identifier, correlation ID, business date. Its state is ready, in progress, completed, business exception, system exception, or held.

Those names don’t make your work bigger. They make visible the work that was always in it.

The same happens at the screen.

Before it types into a field, an unattended runner checks the application name, the version, the account context, the business date, and whether an unexpected password prompt, warning banner, modal dialog or previous session has grabbed the foreground.

A fixed wait asks whether enough time passed. A state check asks whether the expected window and controls are actually there.

One is hope with a timer. The other is a boundary.

There’s an unfashionably concrete reason for the fuss.

A selector describes a chain from root window to target control. The last node is the thing to press. The earlier ones are its parents.

Change your login route or your layout and that chain ends before the bot reaches the business rule. One study recorded a bot failing two weeks after a small change.

That’s not a reliability rate. It’s a reminder that a working path is not a stable path.

So it checks the returned customer, invoice amount, currency and open balance before it writes anything.

A row appearing in search is not a match. Several invoices can share a partial reference. An apparently open record can have a zero balance.

Your payment then needs a before image, the ordinary save action, a success reference, and a read-after-write check off the confirmation screen.

The bot’s confidence has no standing here. The target record does.

And this is where augmentation quietly acquired its second job.

You were no longer asked to enter every ordinary payment. You were asked to decide whether the values differed because a customer paid strangely, because the source file was wrong, because the bot lost the screen, or because the application changed underneath it.

Judgment didn’t vanish. It got concentrated into the cases with less time, less context and more consequence.

You’re not the failure mode because you handle exceptions.

You’re the control the automation left unfinished.

Three things that look identical

A record mismatch is a business exception. The bot and the platform are fine. Your case needs judgment.

A locked account, a network failure, an inaccessible application: that’s a system exception. A safe attempt can’t happen at all.

An altered button, a new confirmation dialog, a changed selector: that’s a change event. Somebody repairs the shared screen object, tests both paths in a comparable environment, and releases a versioned package.

Those aren’t three flavours of “the bot failed.”

Different evidence. Different owners. Different remedies.

Retry a changed interface blindly and you put the correct amount into the wrong account. Treat an unusual payment as a technical fault and your bot developer owns a collection decision. Calling a network interruption a business problem sends you to solve a screen that isn’t there.

And this gets more urgent as the estate grows.

Deloitte called organizations with fewer than ten live automations pilots, and those with eleven to fifty implementers. One reported programme reached about a hundred processes and more than 110,000 hours a month saved.

Those figures aren’t a target for your payment bot. They show why your estate needs a queue, a case ID and reconciliation before its ordinary work disappears behind a success dashboard.

Completion is not the last click.

After your queue drains, somebody compares the source-file line count and amount total against completed cases, business exceptions, system exceptions and holds.

You sample completed cases by reading the target application. Not by rereading the bot’s own log.

A bot can finish a sequence while the target rejects the change. It can post an amount that needs reversing.

Your sign-off belongs to the unresolved population being explicit. Not to the green icons being plentiful.

That’s the feeling you recognize later. Not that the machine made no mistakes.

That you now meet the work only after it has become a discrepancy.

The normal path became a night shift. Your path became a post-mortem.

The bridge and the debt

RPA was attractive because it imitated your route without waiting for core-system modernization.

It was especially tempting where your valuable application had no supported interface, an API was incomplete, or the core product couldn’t be changed.

But a stable native control, a pixel-based remote desktop, OCR and a coordinate-driven screen are not the same bargain.

More ways to find a control can mean more ways to find the plausible wrong one.

So the question was never whether RPA was foolish.

A stable, bounded UI bridge can be entirely sensible. It has an explicit maintenance owner, recurring volume that justifies the service, and change authority over the surface it drives.

Your bot becomes debt when it preserves an obsolete workflow, stands in permanently for a supported application contract, or drives a portal whose owner can alter its route without telling anybody.

The adoption record explains why this became a maintenance question rather than a build one.

Deloitte reported 13% of organizations planning to increase automation through RPA in 2015. By 2021, 74% said they were implementing RPA and 50% OCR. Low-code implementation went from 24% to 40% across two years, while organizations with no low-code plans fell from 47% to 30%.

Those surveys don’t prove your next bot is wise. They explain the mixed automation stacks and local variants that need somebody who still knows which layer failed.

Ask the typesetters. The travel agents. The reconciliation team.

Wider path, same authority

The agent pitch arrives with a real difference.

A bot needs the route known in advance. An agent can interpret an attachment, recognize a discrepancy, choose among named tools, and prepare a change where the route is less fixed.

That helps you when the case contains unstructured documents.

It can also make the old boundary problem larger. A screen bot could only be brittle. An agent with broad access can be wrong in ways that are harder to predict and much harder to explain.

The answer isn’t a more impressive prompt. It’s the old separation, made explicit.

Your tool catalogue has to keep reading, proposing and committing apart.

One of those discloses. One makes something you can throw away. One touches the ledger.

Give all three the same authority because their responses sound equally certain, and you’ve rebuilt your problem with a friendlier interface.

A fixed rule still belongs in a deterministic workflow. Interpretation isn’t a reason to make every rule conversational.

The old augmentation promise wasn’t a lie. The clicks really were boring.

The correction is harder and kinder than that.

Automation never revealed that you were unnecessary. It revealed how much of your service was made of boundaries.

Knowing which record is the record. When a mismatch is meaningful. When a screen change is a change to authority. When a reassuring message isn’t a completed action.

The agent can read the screen now. Good.

The work still needs somebody who can tell the difference between a route and a reason.

Put this to work

  1. UI automation needs starting-state checks and a read-after-write confirmation in the target application.
  2. A business exception, system exception, and change event have different causes, evidence, owners, and recovery paths.
  3. A bot success log does not prove that a target record changed; reconciliation must compare source, outcomes, and target state.
  4. A stable, bounded UI bridge can be sensible, but a bot that embeds an obsolete workflow or replaces a supported application contract becomes technical debt.
  5. An agent needs separate permissions for retrieval, a reversible proposal, and a committed action, with an approval gate for material effects.
  6. An agent trace needs machine identity, policy and approval evidence, tool results, and recovery evidence rather than a reassuring model message.

Questions

Why is a bot success message not proof that the payment record changed?
A bot success message proves only that the bot reached the end of its own click sequence. A UI bot can have its click ignored, diverted, or accepted with altered data. It needs a read-after-write check in the target application, and the completed population needs reconciliation against the source file, accepted target postings, exceptions, holds, duplicates, and amount totals.
What is the difference between a business exception and a system exception?
A business exception occurs when the bot and platform are working but a case violates an operational rule or needs judgment, such as a record mismatch, a zero balance, or a wrong currency. A system exception occurs when access, network, runtime, bot, or application failure prevents a safe attempt. The two categories require different owners and different recovery paths.
Why does a screen update break a bot that worked yesterday?
A UI bot relies on a human-facing surface rather than a supported application contract. A selector commonly follows a root-to-target chain through windows and controls, so a changed login, layout, button, warning, or confirmation dialog can break the route before business logic runs. A changed interface is a change event that requires repair, testing, and a versioned release, not blind retry.
When is a screen bot a reasonable bridge instead of technical debt?
A stable, bounded UI bridge can be reasonable when a valuable legacy application has no usable API, the work is rule-based, repetitive, periodic, and digitally performed, and a named owner can maintain it. It becomes technical debt when it embeds an obsolete workflow, substitutes indefinitely for a missing application contract, or depends on an interface whose owner cannot coordinate or predict changes.
Why does the bot need a queue and a correlation ID for one payment?
A controlled work item links the source remittance, bot run, desktop transaction reference, outcome, and later reconciliation. It records the applicable business date and preserves the same correlation ID on retry, so a transient login failure does not look like a second payment. Even small automation estates need this shared record because individual bot logs and inboxes cannot safely reconcile a population.
What is different when an AI agent reads a record, drafts a change, or commits it?
Read-only retrieval can disclose sensitive data but does not alter a record. A proposal creates a reversible draft. A commit changes a business, legal, or physical state. These effects need separate tool constraints because a model response is not a control boundary. A policy engine checks the tool, arguments, resource, principal, state, budget, and current approval before execution.
What makes an approval gate real instead of a polite message?
A real approval gate binds an authorized person to one stable proposed act, its affected resource, exact arguments or digest, supporting evidence, policy version, requester, approver, and expiry. It can approve, reject, request further evidence, or cancel. The workflow service checks that record before the tool runs and fails closed when the proposal, source record, policy, or authority no longer matches.
Why does an agent need its own identity if an employee asked for the work?
An agent service needs a machine identity separate from the employee identity and separate from the identity of each tool it calls. Authentication establishes who makes the request; authorization establishes whether that identity may perform a specific action on a specific resource for a specific purpose at that time. The employee request remains audit context rather than becoming inherited blanket permission.
What happens if an agent times out after trying to make a change?
An uncertain timeout does not prove failure or permit an automatic duplicate action. The runtime queries the downstream system with the idempotency key, then records the committed result, retries safely, or parks the case for an operator. A trace links the request, evidence, policy decision, credential scope, approval, tool arguments, external result, and recovery event for later review.
Why are 400, 401, and 403 not the same kind of agent failure?
A 400 response means a tool request is malformed. A 401 response means authorization is absent or invalid. A 403 response means the service recognizes the caller but denies the required permission. These are different boundaries, so they require different alerts, investigation, and recovery states. A generic agent-failed label conceals the condition that prevented safe execution.
Does an AI agent solve the maintenance problem that made RPA brittle?
An AI agent can interpret unstructured documents and broaden a route through a changing case, but it does not remove the need for authority, validation, and an accountable owner. Screen interaction can make an incorrect action harder to predict and explain. The safer design still separates retrieval, a reversible proposal, approval, and a committed tool result from the model's interpretation.