A runaway bot loop
A misconfigured bot repeats the same action hundreds of times in a minute (an infinite loop or a bad retry) and does real damage before anyone notices the pattern.
Discover, authorize, monitor, and halt RPA bots across any automation platform.
Robotic process automation (RPA, software bots that mimic human clicks to run back-office work) is everywhere in the enterprise, and an ungoverned bot carries the same risks as an ungoverned AI agent: unauthorized actions, no attribution, no audit trail, no kill switch. The failures are documented. Runaway automated trading cost Knight Capital about $440M in August 2012. In August 2020 an automated bank process sent roughly $900M (the full principal instead of an interest payment) in a transfer that a boundary check should have stopped. A 2024 US government audit found decommissioned bots that still held access to systems containing personally identifiable information. Without a governance layer there is no inventory of what exists, no enforced least-privilege boundary, and no record of what a bot did.
A misconfigured bot repeats the same action hundreds of times in a minute (an infinite loop or a bad retry) and does real damage before anyone notices the pattern.
A bot built for one task starts reaching systems and endpoints outside its approved set, whether from scope creep, a misconfiguration, or compromise.
Several bot instances run on one service account, so when something goes wrong the trail points at a shared identity rather than the specific bot and the operator behind it.
A retired bot still holds live access to systems with sensitive data, an unwatched standing credential no one remembered to revoke.
Continuously inventory every bot and service account across whatever RPA platforms and custom automation your teams run, including the ones nobody registered. Unregistered means read-only until authorized.
Scope each bot to exactly the systems and actions its job requires and tie it to a unique governance identity. The number of distinct systems a single session may traverse is capped by a server-registered limit, so a bot that starts reaching past its task is refused at the cap and recorded, rather than reviewed after the run.
Per-bot baselines flag runaway loops, lateral movement, and drift with auto-quarantine, and one switch halts every governed bot across every platform in a fraction of a second.
A single tamper-evident, hash-linked log records every bot action (what it touched, under whose authorization, and why), exportable to the framework your auditors care about.
Agentomy carries a dedicated RPA pattern family for RPA & Automation Governance. Each one is a specific failure this layer watches for, with the signal it watches, checked at runtime before the action reaches your systems.
DetectionFrequency anomaly monitoring on action history per bot instance.
DetectionAuthorization check against per-bot system whitelist.
DetectionAuthorization tier enforcement.
DetectionScope escalation detection on data movement actions.
DetectionScope escalation detection across system boundaries.
DetectionIdentity drift detection.
DetectionBehavioral baseline comparison.
DetectionFrequency anomaly monitoring with rolling baseline.
DetectionShadow discovery within governed perimeter.
DetectionTiming pattern detection.
RPA family, RPA-001 to RPA-010 · 10 of 166 governance patterns Agentomy enforces at runtime. Severity as classified in the pattern definition.
Agentomy does not certify you. It gives you the enforcement and the audit trail these frameworks ask for, so readiness is something you can show rather than assert.
A tamper-evident, hash-linked trail of every governance decision for this workload: what an agent did, under whose authorization, and why. Plain-English reasons for every allow and deny, exportable to the framework your auditors care about.
| Agent | Type | Status | Module | Score |
|---|---|---|---|---|
| process-discovery-agent | Discovery | Active | RuntimeMonitor | 92 |
| exception-triage-agent | Exceptions | Active | AuditLogger | 88 |
| vendor-review-agent | Procurement | Monitored | PermissionRouter | 74 |
| invoice-extract-agent | Finance | Quarantined | HaltProtocol | 41 |
| runbook-draft-agent | Runbooks | Monitored | EthicsConstraint | 79 |
| throughput-report-agent | Reporting | Active | DecisionLog | 90 |
| Agent | Action | Policy | Result | Time |
|---|---|---|---|---|
| PermissionRouter | data_access_request | vendor-access | Blocked | 12:42:08 |
| AuditLogger | output_validation | audit-trail | Allowed | 12:41:54 |
| TrustScorer | policy_check | runtime-score | Allowed | 12:41:37 |
| RuntimeMonitor | behavior_drift | drift-threshold | Flagged | 12:40:58 |
| HaltProtocol | halt_initiated | unsafe-action | Blocked | 12:40:21 |
| EthicsConstraint | prompt_review | restricted-output | Flagged | 12:39:46 |
| DecisionLog | evidence_recorded | decision-proof | Allowed | 12:39:12 |
| Block | Timestamp | Agent | Action | Tier | Hash |
|---|---|---|---|---|---|
| 46,756 | Today 12:42:08 | process-discovery-agent | data_access_request | Evaluator | 8d71ee65a36ea228 |
| 46,755 | Today 12:41:54 | exception-triage-agent | output_validation | Analyst | eeb3afd8a42c7c2a |
| 46,754 | Today 12:41:37 | vendor-review-agent | policy_check | Builder | 37b068936daca7d5 |
| 46,753 | Today 12:40:58 | invoice-extract-agent | behavior_drift | Operator | fb4632ad2615724f |
| 46,752 | Today 12:40:21 | runbook-draft-agent | halt_initiated | Strategist | 8f11c5cd6b42181f |
| 46,751 | Today 12:39:46 | throughput-report-agent | prompt_review | Evaluator | f1ebfe48e6b5600f |