Skip to main content

Phone & Voice

Give your AI agents real phone numbers for SMS and voice. The phone number belongs to the same agent identity as its email inbox, vault, addresses, and DID, so cross-channel workflows stay tied to one actor and one audit trail.

Overview

Anima Phone lets you:
  • Search for available US numbers by area code and capability
  • Provision a dedicated number for an agent
  • Send a real “text me now” SMS from that agent
  • Receive inbound SMS through webhooks
  • Place outbound voice calls behind a server-side TCPA consent gate and per-plan call caps
  • Read call records and transcripts from the same identity surface
Use this page when you already have an agent_id. If you are starting from zero, create an agent first in the console or through the agent API, then come back here with the agent ID.

1. Search for a number

Find available numbers by area code and requested capability:

2. Provision a phone identity

Provisioning assigns one number to one agent. Request both sms and voice when you want the number to support the full demo path.

3. Text your human now

Send the first SMS to a number you control. This is the fastest way to prove the agent has a real, reachable phone path.

4. Receive replies

Inbound SMS is delivered as a message event. Subscribe to message.received, then inspect the message channel/payload to distinguish SMS from email.
See Webhooks for signature verification and delivery retries.

5. Call your human now

Outbound voice calls run through the voice gate before dialing. Use a number you control for the first call, and only call recipients where you have the required consent.
Voice behavior comes from the configured agent. Use greeting for the first spoken line; use the agent configuration and voice pipeline for deeper call behavior.

6. Read the transcript

After the call ends, fetch the transcript:
For live call events and bidirectional voice control, see the Voice WebSocket Protocol.

Phone, mail, and vault together

The useful Anima pattern is not “a phone API in isolation.” It is one agent identity using the right channel at each step:
  1. Email the human or customer with context.
  2. Text them if the workflow needs an immediate response.
  3. Place a voice call when the situation needs synchronous confirmation.
  4. Store credentials and tokens in the vault so the agent can act without exposing secrets to the LLM.
  5. Tie the full workflow together in audit logs and webhooks through the same agent ID.

Compliance guardrails

For US outbound calls, Anima enforces some guardrails server-side before the dial reaches the telephony provider, and leaves the rest to you. Knowing which is which matters — TCPA damages are per call. Anima enforces: your organization’s TCPA consent attestation (a missing or incomplete attestation returns a 451 and the call is not placed), per-plan call caps and per-second rate limits, and the voice spend ceiling. On SMS, recipients who reply STOP are suppressed automatically. You are responsible for: scrubbing against the Reassigned Numbers Database, scrubbing against federal and state Do-Not-Call registries, and confining calls to lawful hours in the recipient’s local time. Anima checks none of these and will place the call — a call placed at 6am local goes through. That is the CPaaS-standard posture: scrub before the list reaches us and keep the evidence, because the TCPA safe harbor is earned by the caller, not by the platform. See What is the TCPA? for the full split.

Enable outbound calling and SMS

Placing calls and sending SMS is gated on a one-time consent attestation that you complete yourself in the console — no manual review or support ticket. In Settings → Outbound Calling & SMS:
  1. Choose the basis for contact — for example, the recipient contacted you first, gave prior express consent, or the message is transactional.
  2. Confirm that your organization scrubs recipients against Do-Not-Call (DNC) registries and honors opt-out and STOP requests.
  3. Save. Outbound is enabled for your organization on the Starter plan and above, and the panel shows the attested basis and date.
By attesting, you confirm you have a lawful basis to contact these recipients and accept responsibility for TCPA and related compliance. Receiving calls needs no attestation — inbound works as soon as an agent has a number. For SMS, keep the same standard: do not send spam, honor opt-outs, and only contact recipients where you have a lawful basis to do so.

List or release numbers

List numbers assigned to an agent:
Release a number when the agent no longer needs it:

Next steps