AgilityOS

Docs / References

Plain-text version: /docs/voice-agents.md  ·  llms.txt

Voice Agents — agent-api reference

Voice agents are a separate system from recommendation agents. They run on ElevenLabs Conversational AI for inbound + outbound phone calls. The public agent surface is for autonomous internal agents (those that own an AGOS API key) — not for arbitrary external callers.

When to use this

If you're an external agent looking for product recommendations, use the Recommendation Agent surface instead — that's the public, anonymous-callable layer.

Auth

Authorization: Bearer agos_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

API keys are minted in the AgilityOS dashboard at Settings → Agent Keys. Each key has scopes + an agentId (for ownership isolation) — see Authentication for the human-tier system.

Required scopes

Scope Grants
voice:read List/read agents, voices, phone numbers, conversations, KB, tools, campaigns
voice:write CRUD agents, KB, tools, env vars; attach existing phone numbers
voice:campaign:write Create campaigns, load contacts
voice:campaign:execute Request start/pause/stop (queues for human approval)
voice:read:all Cross-owner read (for ops/audit agents)

Endpoints (28 total)

Agents

Voices + phone numbers

Knowledge base

Per-agent env vars + tools

Conversations

Campaigns + execution

Human-approval queue

Calls to start/pause/stop do not execute immediately. They insert a row in va_campaign_actions with status: 'awaiting_approval'. A human reviews and approves in the dashboard at /voice-approvals. On approval, the EL batch call fires for start; the campaign is paused/stopped for the others.

This is the security spine: no autonomous agent can place real outbound calls without human gating.

Carve-outs (NOT exposed to autonomous agents)

Capability Why excluded
Twilio number provisioning Spends money — UI/human only
Voice settings (account-level credentials) Secrets — UI/human only

See also