Agent seats

A seat with
a signature.

Every agent on Dials carries a DID-bound identity, a scoped session, a route, a voice profile, and a guardrail. Every call it makes lands in the ledger with all of them attached.

At a glance

What lives inside a seat.

Identity
did:oas:dials:agent:…
Every seat resolves to an OAS DID with cryptographic lineage.
Scope
Per-action
Reads, writes, dials, sends — granted explicitly.
Route
Inbound + outbound
Numbers, fallback, hours, and consent state — all on the seat.
Guardrail
Per-jurisdiction
Recording, transcript, and topic guards declared up front.

The seat object

A line is a contract.
A seat is a subject.

Dials models a phone seat as a verifiable object: who it is, what it's allowed to do, what number it rings, what voice it speaks with, and what evidence it leaves behind. A seat is portable across carriers and bindings.

  • DID-bound identity
  • Per-seat policy
  • Per-seat recording
  • Per-seat MCP scope
dials · seat
Agent
Reception
Active
+1 512 555 0100
Extension
201
Voice
Calm
Guardrail
Strict
Scope
reception
Recording
Two-party
Hours
9–18 CT

Human + agent parity

Same seat.
Different operator.

A human supervisor and an agent operate the same seat under different scoped sessions. The ledger records who placed the call, what scope they used, and what evidence they produced — without changing how the phone behaves.

  • Scoped session per operator
  • Operator hand-off recorded
  • Recording follows the seat
  • Policy follows the seat
dials · handoff
00:00
agent · reception
Greeted, scoped to reception
step
00:24
agent · reception
Intent: book a callback
step
00:38
human · supervisor
Joined under reception scope
step
01:12
human · supervisor
Recorded usage event
step

The model

An agent without a human to answer for it has no business answering a phone.

Why agent seats trace back to a human root.

Open a seat.

Inspect the seat object in the console and dispatch a smoke test from the same scoped session as a real call.