Skip to main content

Email and voice for your agent.

Give your agent an email address and a phone number. Receive messages in its Inbox and connect incoming calls to your voice agent.

Start free with email. Add voice when you need a number; see channel availability.

Five example agents · fictional contact details
Select a card to see another agent

One agent.
Email and voice.

Give people an email address and a number to call. AgentOwl receives the messages and connects incoming calls to your phone system or voice agent. Texting remains preview.

Email

Start with a workspace address and receive mail in your Inbox. Sending availability and limits are shown in your account.

Self-service receiving · sending pilot

Set up email sending

Text messages

SMS and MMS are in preview and require separate carrier registration. They are outside the first Pro voice release.

Preview · carrier approval required

Messaging setup

Voice

Give your agent a phone number and connect incoming calls to your phone system or voice agent.

Available on Pro · paid usage

Voice setup

Connect your phone system or voice agent. See voice setup.

A message shouldn’t disappear
into a webhook.

One envelope for email, texts, and call events. Stored messages and delivery attempts give you a place to look when your receiver fails.

Delivery ledger

evt_procurement_demo

Illustrative fixture
  1. 01Received and storedstored
  2. 02Attempt 1 · HTTP 204accepted
Email authentication results
SPF
pass
DKIM
pass
DMARC
pass

Origin checks are evidence. Your runtime decides whether a request is authorized.

Your receiver saved one job before acknowledging. Accepted delivery does not mean the agent finished.

Retry selected failures with the same delivery identity. Replay intentionally creates new work. Channel bodies differ; live voice audio travels separately.

Reproduce failure and recovery

A real receiver.
One saved job.

Verify the signed request, accept it into a durable inbox, then run your agent in the background. The example uses Python and SQLite—no package installation.

receiver.py / durable acceptanceExcerpt
def accept(path, key, event):
    with connect(path) as db:
        db.execute('BEGIN IMMEDIATE')
        existing = db.execute(
            'SELECT event_id FROM jobs WHERE delivery_key=?', (key,)
        ).fetchone()
        if existing:
            return 204 if existing['event_id'] == event['event_id'] else 409
        db.execute(
            'INSERT INTO jobs(delivery_key,event_id,body) VALUES (?,?,?)',
            (key, event['event_id'], json.dumps(event))
        )
    # SQLite committed before the HTTP acknowledgement.
    return 204
Input

“Can you check the delivery date for order 42?”

Acknowledgement

204 accepted evt_procurement_demo

Worker result

status: example_processed

A deterministic fixture result; connect your own runtime for agent execution.

Run the complete example Inspect the full event format

A unique delivery key prevents duplicate queue jobs. Your external tools still need their own idempotency and authorization.

Delivered is a transport status.
Done is an agent outcome.

Use any HTTP receiver for message delivery. Where optional agent work is enabled, your runtime can also report progress, ask for human input, and report a result.

Message deliveryReceiver accepted
Runtime reportWork accepted
Human inputApproval requested
Runtime reportCompleted

AgentOwl: incoming communications, delivery records, and optional work/attention tracking.

Your runtime: reasoning, tools, permission to act, execution, and result evidence.

Agent work is opt-in for participating runtime endpoints. A runtime’s completion report does not independently verify an external action. Conversation matching follows channel-specific rules.

Understand the work protocol

Start with email.
Add phone when ready.

Receive email for free. Add a US local number and incoming voice calls with Pro; texting remains preview.

Free

Receive email with no email usage charge. Outbound sending is currently available only through reviewed pilot setup.

Pro

Add a US local number and connect incoming calls to your phone system or voice agent. A monthly fee and usage charges apply.

Explore plans and pricing

Connect your first agent.

Create your agent identity, activate its email Inbox, and add voice when you need a number. The quickstart covers both paths.

Ready for voice? Set up voice.