koira
self-healing automationbrowser automationrpa

The Engineering Behind Automation That Doesn't Break

KOIRA Team8 min read1,579 words
Diagram of Koira self-healing automation detecting a website DOM change and re-anchoring workflow execution plan
Intro
Breakdown
Solution
FAQ
◆ Key takeaways
  • Traditional RPA and macro tools fail because they record exact element paths — one DOM update breaks the whole workflow.
  • Koira anchors actions to semantic intent (what the element means and does) rather than its CSS selector or XPath address.
  • A continuous observation layer monitors target pages between runs and triggers re-planning before a live workflow hits a broken step.
  • When self-repair confidence falls below threshold, the workflow pauses and surfaces a specific, actionable prompt in the approval queue — not a generic error.
  • Self-healing is not magic: it works best when the underlying task intent is unambiguous, which is why plain-English training descriptions matter.
  • The cost of re-planning is paid once; subsequent runs use the updated execution plan at the same low per-run cost as before.

Why Browser Automation Breaks in the First Place

If you've ever set up a Zapier workflow, a UiPath bot, or even a simple browser macro, you already know the feeling: it works perfectly on Tuesday, and by Friday someone on the target site's dev team pushed a release that renamed a button from #submit-order to #place-order, and your automation has been silently doing nothing ever since.

This is the core fragility of selector-based automation. Traditional RPA tools record a literal path to an element — its XPath, its CSS selector, its pixel coordinates on screen. When the page changes, that path goes dead. The tool doesn't know what it was trying to accomplish; it only knows where it used to click. Those are very different things.

The problem compounds at scale. An owner-operator running a dozen automations across their Shopify store, their booking platform, their supplier portal, and their Google Business Profile is exposed to twelve independent failure surfaces. Any one of those sites can push an update at any time. Most do, routinely.

What "Self-Healing" Actually Means

The phrase gets used loosely, so let's be precise. Self-healing automation is a system that can detect when its execution plan no longer matches the current state of a target website, generate a revised plan that achieves the same intent, and resume execution — without requiring a human to re-record or re-configure the workflow.

That definition has three distinct requirements:

  1. Detection — the system must notice that something has changed, ideally before a live run fails.
  2. Re-planning — the system must understand the original intent well enough to find the new path to the same outcome.
  3. Resumption — the updated plan must be deployed automatically, not queued for a developer to review.

Most tools that market themselves as "self-healing" only address the third requirement, and only partially: they'll retry a failed step, or try a few selector variants, but they don't actually understand what the step was supposed to accomplish. Koira's approach starts at the first requirement.

The Observation Layer: Catching Changes Before They Break Runs

Koira maintains a lightweight observation layer that runs independently of live workflow execution. Between scheduled runs, it periodically checks the structural signature of pages that active workflows touch — not a full re-crawl, but a targeted scan of the regions and elements those workflows interact with.

When the observation layer detects a structural delta — a changed element label, a reordered form, a new authentication step, a shifted navigation — it compares the delta against the semantic intent stored in the workflow's execution plan. If the delta is minor and the intent mapping is unambiguous (e.g., the "Submit" button is now labeled "Confirm" but is still the primary form action in the same position), the system updates the execution plan automatically and logs the change.

This proactive approach means the self-repair happens before a live run hits the broken step. The workflow never fails; it just silently updates its map.

The analogy that fits: a GPS that re-routes when it detects a road closure ahead, rather than one that drives you into a barrier and then asks what happened.

Semantic Anchoring: Why Intent Beats Selectors

The reason Koira can re-plan at all is that it doesn't store workflows as selector paths. It stores them as semantic action graphs — a structured representation of what each step is trying to accomplish, in terms a reasoning model can interpret.

When you train Koira by showing it once (or describing a task in plain English), it doesn't record "click element with id=submit-btn at coordinates (412, 780)." It records something closer to: "Submit the completed order form using the primary confirmation action on this page."

That description is robust to cosmetic and structural changes because it captures function, not address. When the page updates, the system re-evaluates which current element best satisfies that functional description. In most cases — button renames, layout shifts, minor form restructures — it finds the answer immediately.

This is why the quality of the original plain-English description matters. A vague description like "click the button" gives the re-planner less to work with than "click the button that submits the refund request form." The more intent is captured at training time, the more resilient the workflow is to change.

The Confidence Threshold: When to Self-Repair vs. When to Escalate

Self-healing isn't binary. Every re-planning attempt produces a confidence score — an estimate of how certain the system is that the revised plan achieves the original intent.

Koira uses a tiered response based on that score:

  • High confidence (above threshold): Execute the updated plan silently. Log the change for the owner's review in the activity feed.
  • Medium confidence (near threshold): Execute the updated plan, but flag the run in the approval queue with a specific note: "Page structure changed — this step was re-mapped. Please confirm the output looks correct."
  • Low confidence (below threshold): Pause the workflow. Surface a targeted prompt in the approval queue: "I couldn't confidently re-map [step name] after a page change. Here's what changed and here's what I need to know to proceed."

The low-confidence escalation is not a failure state — it's the system working correctly. The alternative is executing with low confidence and producing wrong outputs silently, which is far worse. An owner who gets a specific, actionable prompt can resolve it in thirty seconds. An owner who discovers their automation has been submitting malformed orders for a week has a much bigger problem.

This tiered approach is what separates L4 automation — where the human spot-checks via an approval queue — from the brittle L2 tools that either break silently or require constant babysitting.

What Self-Healing Doesn't Cover

Honesty matters here. Self-healing handles structural changes to existing workflows. It does not handle:

  • Fundamental site redesigns where the entire user journey changes (e.g., a supplier portal that moves from a web form to a mobile-only app)
  • New authentication requirements like 2FA added to a previously open login
  • Policy changes that require a human decision before proceeding (e.g., a new terms-of-service checkbox that requires informed consent)
  • Changes to the underlying business logic the workflow was built around

For these cases, the system escalates to the owner with a clear explanation of what changed and why it can't proceed. The workflow is paused, not broken — the owner can update the training description and resume, usually in a few minutes.

The distinction matters: a paused workflow with a clear explanation is a tool working as designed. A broken workflow that keeps running and producing garbage output is a tool failing silently.

The Cost Model: Re-Planning Is Cheap

One concern engineers often raise: if re-planning requires invoking a reasoning model, doesn't that make self-healing expensive at scale?

In practice, no — for two reasons.

First, re-planning is rare. Most workflows run for weeks or months without triggering a re-plan, because most sites don't change the specific elements those workflows touch with every release. The observation layer only triggers re-planning when a genuine structural delta is detected in a relevant region.

Second, the cost of re-planning is paid once and amortized across all subsequent runs. Once the execution plan is updated, subsequent runs use the revised plan at the same low per-run cost as before. The re-planning event is a one-time overhead, not a recurring tax.

This is fundamentally different from vision-based automation approaches that invoke a vision model on every single run to figure out what's on screen. That architecture is expensive by design — every run pays the full inference cost. Koira's architecture pays the reasoning cost once (at training time and at re-plan events) and runs cheaply thereafter.

Practical Implications for Owner-Operators

For an owner running automations across five or six different websites, the practical effect of self-healing is simple: you stop getting surprise failures on Monday morning.

The supplier portal that updated its checkout flow over the weekend? The booking platform that added a new confirmation step? The review platform that changed its response interface? These are all events that would break a traditional macro or RPA bot. With self-healing automation, they're events that get handled — either silently or with a brief prompt — without requiring the owner to re-record anything.

The approval queue becomes a genuine signal, not noise. When something surfaces there, it's because the system genuinely needs input, not because a CSS class changed. That's a meaningful shift in how an owner-operator relates to their automation stack.

For teams evaluating Koira against traditional RPA tools, the self-healing architecture is one of the most concrete differentiators — not as a marketing claim, but as an engineering property with direct consequences for how much maintenance overhead the owner carries.

The Bigger Picture: Automation You Can Trust to Run

The goal of self-healing isn't to make automation feel magical. It's to make it trustworthy. An automation you have to check every day to make sure it's still running isn't really saving you time — it's just moving the labor from doing the task to monitoring the bot that does the task.

Trustworthy automation is automation you can genuinely hand off. That requires the system to be resilient not just to normal operation, but to the messy reality that the web changes constantly and sites don't notify you before they do.

Self-healing is the engineering property that makes that hand-off possible.

An automation you have to check every day to make sure it's still running isn't really saving you time — it's just moving the labor from doing the task to monitoring the bot that does the task.

Save this for later
Get a PDF copy of this post →
Drop your email, we’ll send you the full piece as a clean PDF. Plus the weekly KOIRA roundup.
Title: How Koira Self-Heals When Websites Change
Self-Healing Automation
A system that detects when its execution plan no longer matches the current state of a target website, generates a revised plan that achieves the same original intent, and resumes execution without human re-configuration.
Semantic Action Graph
A structured workflow representation that stores each step as a functional description of what it accomplishes, rather than as a literal selector path or screen coordinate — enabling re-planning when page structure changes.
Observation Layer
A background process that monitors the structural signature of pages active workflows interact with between runs, detecting changes before a live execution hits a broken step.
Confidence Threshold
A scored estimate of how certain a re-planning attempt is that its revised execution plan achieves the original workflow intent, used to decide whether to proceed silently, flag the run, or escalate to a human.
Selector-Based Automation
The traditional RPA approach of recording exact CSS selectors, XPaths, or screen coordinates to identify elements — brittle by design because any page update can invalidate the recorded path.
Selector-Based Automation vs. Semantic Self-Healing Automation
AreaTraditional RPA / MacrosKoira Self-Healing Automation
How steps are storedExact CSS selectors, XPaths, or pixel coordinatesSemantic intent descriptions of what each step accomplishes
Response to a button renameWorkflow breaks silently; owner discovers failure laterObservation layer detects change; execution plan updates before next run
Response to a layout shiftStep fails or clicks wrong element; may produce bad outputRe-planner evaluates new layout against stored intent; updates or escalates
Cost per run after a site changeDeveloper time to re-record the workflow from scratchOne-time re-plan cost; subsequent runs continue at standard per-run cost
Human involvementRequired for any structural change, however minorRequired only when re-plan confidence falls below threshold
Failure modeSilent failure or wrong output with no notificationPaused workflow with specific, actionable escalation prompt

How to Minimize Escalations from Self-Healing Workflows

  1. 01
    Write precise intent descriptions when training. When showing Koira a task or describing it in plain English, be specific about the functional purpose of each key step — not just 'click submit' but 'click the button that confirms the order submission.' The re-planner uses this description to find the correct element after a page change, so more context means higher re-plan confidence.
  2. 02
    Scope workflows to stable page regions where possible. If a target site has a section that rarely changes — a backend admin panel, a supplier portal's core order form — anchor your workflow there rather than to the site's public-facing marketing pages, which update more frequently. Fewer structural changes in scope means fewer re-plan triggers.
  3. 03
    Review the activity log after site updates. When you know a target site has pushed a release, check Koira's activity feed before the next scheduled run. Proactive review lets you catch any flagged re-plans and confirm them before they affect live outputs, rather than discovering issues after the fact.
  4. 04
    Resolve medium-confidence flags promptly. When a run surfaces in the approval queue with a re-map notification, review and confirm it quickly. The workflow is still running, but prompt confirmation updates the execution plan for future runs and prevents the flag from recurring unnecessarily.
  5. 05
    Update training descriptions after major site redesigns. If a target site undergoes a fundamental redesign — new user journey, new authentication, completely restructured forms — treat it as a re-training event. Spend a few minutes showing Koira the new flow or updating the plain-English description; this resets the execution plan baseline and restores full self-healing coverage.
  6. 06
    Use the escalation prompt as a diagnostic, not a failure signal. When the system pauses a workflow and asks for input, read the specific prompt carefully — it will tell you exactly what changed and what it needs to proceed. A targeted escalation is the system working correctly; use the information it surfaces to update the workflow rather than treating it as a breakdown.
FAQ
How does Koira know when a website has changed?
Koira runs a lightweight observation layer between scheduled workflow runs. It periodically scans the structural signature of pages that active workflows interact with — not a full crawl, but a targeted check of the specific regions and elements those workflows use. When a structural delta is detected, it compares the change against the workflow's stored semantic intent to determine whether a re-plan is needed.
What happens if the self-healing re-plan isn't confident enough to proceed?
Koira uses a confidence threshold system. If re-planning produces a high-confidence result, the workflow updates silently and logs the change. At medium confidence, the run proceeds but a flag appears in the approval queue. At low confidence, the workflow pauses and surfaces a specific, actionable prompt explaining exactly what changed and what input is needed — not a generic error message.
Does self-healing work for major site redesigns?
Self-healing handles structural changes — button renames, layout shifts, reordered forms, minor navigation updates — reliably. It does not handle fundamental redesigns where the entire user journey changes, new authentication requirements like added 2FA, or policy changes that require informed human consent. In those cases, the workflow pauses with a clear explanation rather than failing silently.
Is self-healing expensive to run at scale?
No, because re-planning is rare and its cost is paid once. The observation layer only triggers a re-plan when a genuine structural change is detected in a relevant page region, which is infrequent for most sites. Once the execution plan is updated, all subsequent runs use the revised plan at the same low per-run cost as before — unlike vision-based automation that pays full inference cost on every single run.
Why does the quality of the original training description matter for self-healing?
Because self-healing re-plans by matching the current page state against the stored semantic intent of each step. A precise description — 'click the button that submits the refund request form' — gives the re-planner clear criteria to evaluate candidate elements against. A vague description — 'click the button' — leaves the system with less to work with and may reduce re-plan confidence, increasing the chance of an escalation prompt.
How is this different from traditional RPA tools that claim to self-heal?
Most RPA tools that market self-healing are doing selector-variant retries — they try a few alternative XPaths or CSS selectors when the recorded one fails. They don't understand the intent of the step, so they can only guess at alternatives based on structural similarity. Koira's approach stores intent semantically from the start, which means re-planning can find the correct element even when it looks structurally different from the original.
Find KOIRA on
XLinkedInFacebookCrunchbaseWellfoundF6S
Keep reading
Product
What an Approval Queue Actually Does for Your Business
9 min read
Company
What We Learned from the First 100 Businesses on KOIRA
9 min read
Product
Self-Driving Work vs RPA: What's Actually Different
9 min read
Company
How Koira Self-Heals When Websites Change
8 min read
Stay in the loop
New posts, straight to your inbox.
Marketing and sales insights from the KOIRA team. No filler.
How Koira Self-Heals When Websites Change
Get KOIRA