Features

Everything in the box

A short tour of what’s wired and shipping today. If it’s on this page, you can use it.

01

The voice loop

Every conversation runs end-to-end inside a single process: Twilio Media Streams in, Claude in the middle, ElevenLabs out. No queues, no buffering tricks.

Real-time STT (Deepgram)

µ-law 8 kHz streams transcribed with sub-300ms endpointing. Interim results power barge-in detection.

Claude-powered turn taking

Streaming Claude responses (Sonnet 4.6 by default) are chunked by sentence and spoken as soon as the first clause lands.

ElevenLabs TTS

Streamed ulaw_8000 synthesis with low-latency settings, framed at 20ms and piped to Twilio without buffering.

Barge-in handling

When the caller starts speaking again, the current reply is aborted mid-sentence and the conversation continues naturally.

02

Agent builder

Every agent is a small, inspectable config — not a model fork or a hidden setting.

System prompt + greeting

Edit the greeting the caller hears first and the system prompt the model follows. Iterate without redeploying.

Voice selection

Drop in any ElevenLabs voice ID per agent. Different teams, different voices, same dashboard.

Direction + max duration

Choose inbound, outbound, or both. Cap call duration to keep cost predictable and bail out of stuck conversations.

Number provisioning

Bind a Twilio number to an agent from the API; the voice webhook is configured automatically.

03

Telephony

Real numbers, real PSTN, real recordings.

Inbound + outbound

Inbound calls hit the agent immediately. Outbound calls launch from campaigns with a configurable from-number.

Outbound campaigns

Upload a CSV of leads, set concurrency, hit Start. An in-process dialer paces the calls and reports live status.

Call lifecycle tracking

Every Twilio status callback (initiated, ringing, answered, completed, busy, no-answer, failed) is reflected in the dashboard.

Transcripts and outcomes

Each call persists the full transcript, duration, outcome, and Twilio Call SID for forensic replay.

04

Integrations

Connect what you already use. Get out of the way for what you don't.

Google Calendar OAuth

One-click connect. Refresh tokens are AES-256-GCM encrypted at rest. Disconnect any time.

Outbound webhooks

POST signed payloads to your URLs on call.ended, call.failed, and campaign.completed. HMAC-SHA256, timestamp + version in the header.

Per-event filtering

Subscribe each webhook to specific events, or leave it open to fire on everything.

Replay-resistant signatures

x-receptionist-signature: t=…,v1=… so consumers can reject anything older than their tolerance window.

05

Operations and compliance

Multi-tenant from day one, with the legal and operational scaffolding a production phone-call product actually needs.

Multi-tenant organizations

Users → Organizations → Memberships. Switch workspaces from the dashboard header; data is scoped per-org.

Usage metering

Every call's duration becomes a UsageRecord. Per-period caps stop calls when a free or starter plan is exhausted.

Encryption at rest

OAuth refresh tokens and webhook secrets are encrypted with a server-side key. Database column types are sized for it.

Stripe billing

Checkout + Customer Portal + signature-verified webhooks. Subscription state, tier, and period are tracked locally.

Want to see it talk?

Sign up free and have a working agent on a real Twilio number in under five minutes.