Human-in-the-Loop Agent Approvals

Pause selected agent actions, notify authorized reviewers, and replay or deny the work after a human decision.

Overview

Description

Human-in-the-Loop Agent Approvals add a deliberate decision point to sensitive automated work. A grant can mark a permitted action as requiring approval; when the agent reaches the shared authorization gate with a replayable descriptor, Dots parks the action as a pending approval instead of executing it. Authorized reviewers see who requested what, decide approve or deny, and receive the final execution result in the same queue.

Approval is not a bypass around authorization. On approval, the service reconstructs the requesting actor with its original credential scopes and re-evaluates current authority before replaying the registered action. Expired requests are closed, denials are final, and replay failures remain visible rather than being reported as successful decisions. Notifications can direct reviewers to the focused queue, while the append-only access ledger records each stage.

Selling Points

  • Lets teams automate routine work while reserving consequential operations for explicit human judgment.
  • Re-checks authority at execution time, so revoked access cannot be resurrected by approving an old request.
  • Preserves the requesting agent, deciding human, status, and result for accountable operations review.
  • Distinguishes denied, expired, executed, and failed outcomes instead of collapsing them into a generic completed state.
  • Centralizes approval parking at the authorization seam, avoiding inconsistent per-feature implementations.

User Story

An agent attempts a schema-changing action covered by a grant marked “require approval.” The action pauses and a workspace reviewer opens the Approvals tab, sees the agent and intended operation, and approves it. Dots verifies that the agent still has the necessary authority, executes the registered action, and shows the result. The reviewer walks away with both control and a durable decision trail.

Extension Surface

This capability is configurable. Administrators choose approval-required behavior on supported grants, while reviewers operate the queue in apps/web/src/modules/access/management/ApprovalsSurface.tsx. The replay mechanism is an in-repo injected registry defined in packages/access/src/contracts/access-like.ts; it is extensible to platform code but is not an external plugin interface, so the user-facing rating remains configuration-driven.

Capabilities & Limits

  • Parks replayable agent actions and records the original actor and credential scope.
  • Supports approve, deny, expiry, execution results, and visible replay failures.
  • Re-evaluates authority immediately before approved execution.
  • An action without a registered replay descriptor cannot be resumed through the queue.
  • Approval requirements are additive controls; they do not create arbitrary conditional policy rules.

Implementation Map

  • packages/access/src/contracts/access-like.ts
  • packages/access/src/service.ts
  • packages/db/src/schema/access-approvals.ts
  • apps/web/src/modules/access/management/ApprovalsSurface.tsx

Properties

Property
Value
product
dots-platform
extensibility
configurable
module
Access, Notifications, Automations
packages
access, api, db, apps-web
status
shipped
surface
ui
summary
Pause selected agent actions, notify authorized reviewers, and replay or deny the work after a human decision.

Connections

Human-in-the-Loop Agent Approvals · Explore connections

  • extendstoAgent Identities and Authority Profiles
  • implementstoDS_Access — Comprehensive Module Spec (Phase 25)
  • implemented bytopackages/access/src/contracts/access-like.ts
  • implemented bytopackages/db/src/schema/access-approvals.ts
  • implemented bytopackages/access/src/service.ts
  • implemented bytoapps/web/src/modules/access/management/ApprovalsSurface.tsx
  • complementstoAccess Audit Log
  • complementsfromAccess Audit Log
  • complementsfromAgent Identities and Authority Profiles

Connected Records9

Complements
Extends
Implemented by
apps/web/src/modules/access/management/ApprovalsSurface.tsx
packages/access/src/contracts/access-like.ts
packages/access/src/service.ts
packages/db/src/schema/access-approvals.ts
Implements
DS_Access — Comprehensive Module Spec (Phase 25)
9 connections.