A voice layer for humans and agents.

A voice for
every agent.

Dials is the programmable voice and messaging platform built for a world of humans and agents. Numbers, identity, routing, and records — in one control plane you actually own.

Built on the real telephone network.

Tier 1 voiceSTIR/SHAKEN10DLCE911RFC 3261 SIPMCP

A new way to ring.

+1 (512) 555 0100
Reception
+1 (415) 555 0144
Sales
+1 (646) 555 0188
Voicemail

Numbers

A clean, searchable inventory. Find a line, hold it, hand it to an agent — without losing the route.

Inbound
Agent · Reception
On
Outbound
Dials network
On
Fallback
Voicemail
On
Emergency
E911 · bound address
On

Routes

Inbound, outbound, fallback, blocked. Each path is a policy you can read out loud.

CallerReception
IdentityVerified
ConsentOn file
StatusCleared

Trust

Identity before action. Verified callers, recorded consent, bound addresses, signed history.

Outbound call
Sales · +1 415 555 0144
ok
Number search
Area code 512 · 25 found
ok
SMS sent
Support · consent on file
ok

Records

Every accepted action carries one signed record. The phone bills like the rest of your platform — line by line.

Agent
Reception
Active
+1 512 555 0100
Extension
201
Voice
Calm
Guardrail
Strict
Scope
reception

Agents

A phone seat as an object: number, extension, scope, voice, guardrail, recording policy.

United States
Local + toll-free
Canada
Local + toll-free
Mexico
Voice
Global
Inbound + outbound

Coverage

The Dials network reaches where your customers are. Tier 1 quality, wholesale economics, global reach.

The principle

A phone call shouldn’t be the only thing your platform can’t see.

Why we built Dials.

Programmable

Calls in code.
Messages on rails.

Define how a number rings before a packet ever leaves the network. Every line gets an identity, a route, and a policy — addressable from your console, your CLI, or any MCP-aware agent.

  • Number inventory
  • Routing policy
  • Agent seats
  • Per-call records
dials · console
Agent
Reception
Active
+1 512 555 0100
Inbound · ring agentReception
Hours · 9:00 – 18:00 CTLocal
Fallback · voicemailAlways

Sovereign

Our network.
Your platform.

Dials runs the voice and messaging network end to end. Tier 1 quality, wholesale economics, global reach. Your numbers, your routes, your identity — on infrastructure you can trust.

  • Tier 1 voice quality
  • Wholesale economics
  • Global reach
  • Portable numbers
dials · coverage
Coverage
United States
Local · toll-free · short-code
Canada
Local · toll-free
Mexico
Voice
Global
Inbound + outbound
Tier 1 voice. Wholesale economics. Built to scale.

Accountable

Every ring,
on the record.

Identity comes before action. Every call, message, and command is signed against a verified identity and recorded in one place — readable, exportable, defensible.

  • Verified identity
  • Signed records
  • Per-action history
  • One story across surfaces
dials · trust
Verified call
CallerReception
IdentityVerified
ConsentOn file
RecordSigned
Duration00:00:42
Verified

The surface

One platform, four ways in.

Console

For humans.

Search numbers, model agent seats, set routes, watch trust and usage — in one calm, opinionated UI.

API

For your platform.

Versioned HTTP endpoints with verified identity, idempotency keys, structured errors, and a record on every action.

CLI

For your terminal.

`dials` walks the same identity and history as the dashboard — locally, in CI, or in production.

MCP

For your agents.

The Dials MCP server exposes every action as a tool. Same identity. Same signature. Same record.

For developers

One call.
Three ways in.

The same call runs from the dashboard, the CLI, and the MCP tool. Real filters. Real validation. Real records.

  • Prefix, pattern, location filters
  • Per-call record
  • Safe local environment
  • Same for agents
HTTP
GET /api/numbers/search
  ?contains=0100
  &startsWith=512
  &repeatingDigit=5
  &repeatingDigitCount=3
  &region=TX
  &postalCode=78701
  &nearLatLong=30.2672,-97.7431
  &voice=true
  &limit=25
CLI
dials numbers search \
  --contains 0100 \
  --starts-with 512 \
  --repeating-digit 5 \
  --repeating-digit-count 3 \
  --state TX \
  --zip 78701 \
  --near-lat-long 30.2672,-97.7431 \
  --voice \
  --limit 25
MCP
{
  "tool": "dials.numbers.search",
  "arguments": {
    "contains": "0100",
    "startsWith": "512",
    "repeatingDigit": "5",
    "repeatingDigitCount": 3,
    "region": "TX",
    "postalCode": "78701",
    "nearLatLong": "30.2672,-97.7431",
    "voice": true,
    "limit": 25
  }
}

What every action carries

One identity.
One record.

100%
On the record

Every accepted action carries a signed record — readable, exportable, defensible.

0
Dead links

Every nav target is a real page with a real URL and real evidence behind it.

1:1
Surface parity

Humans, CLIs, and agents all use the same calls. Never two stories.

The honest part

What we won’t do.

We won't sign what we can't verify.

Outbound calls only carry the STIR/SHAKEN attestation level we can prove. Full A on numbers we own. Never inflated, never quietly downgraded.

We won't dial without a binding.

A seat without a dispatchable E911 address can't dial at all. Not just 911. The contract is a contract.

We won't ignore opt-outs.

STOP, UNSUBSCRIBE, and recorded verbal opt-outs propagate across every channel a brand operates within seconds. Across seats. Across agents.

We won't train on your traffic.

Call audio, transcripts, and message bodies are processed to deliver the Service. They're not used to train Dials' machine-learning models. Ever.

We won't lock you in.

Numbers, routes, and records port out the same day you decide to leave. No hostage fees, no waiting list, no "please call your account manager."

We won't rewrite history.

Records are forward-only. Replays mark themselves as replays. Mistakes are recorded, not erased. We hand you the chain, signed.

Frequently asked.

  • What does Dials do?

    Dials gives every human and every agent a verified voice and messaging identity. Numbers, routes, recording, and records — one platform, one record, no surprises.

  • What's in the console?

    Number search, agent seats, routing, trust and recording controls, and a live record of every action. Humans and agents work the same surface.

  • How does identity work?

    Every request — from the dashboard, the CLI, or an agent — runs against a verified identity and records what happened. One identity, one record, one story.

  • Will Dials lock me in?

    No. Numbers, routes, and records port out the same day you decide to leave. No hostage fees, no waiting list.

  • Which countries does Dials support?

    The United States and Canada at launch. Additional regions arrive as we expand the network.

  • Can I use Dials from the command line?

    Yes. The Dials CLI runs the same actions the dashboard does — locally, in CI, or in production.

  • Can agents use Dials directly?

    Yes. The Dials MCP server exposes every action as a tool. Any MCP-aware agent can search numbers, place calls, and follow the same rules a human operator follows.

Explore Dials.

A phone system designed for companies made of people and agents. Walk the console, run the operator, then put your first real call on the wire.