Open source · Runtime independent

Give every agent an address in the real world.

AgentOwl makes autonomous agents reachable through email, SMS, and voice—then preserves and delivers each interaction as a durable event to your runtime.

API + CLI · Email, SMS & voice today

External world reachable
@Email
#SMS
◉Voice

Agent address

[email protected]

RECEIVEVERIFYPERSISTROUTE

Durable event

Delivered to your runtime

The missing boundary

Agents shouldn’t have to poll the world.

Most agents work only when someone invokes them. Real work doesn’t. A customer replies, a vendor calls, or a system changes while the agent is between runs.

Today

A vendor replies

The interaction happens on their schedule.

Tomorrow

A customer calls

Your runtime may not be active yet.

Next week

The work continues

The external context still needs to survive.

AgentOwl keeps the door open.

Addressability

One agent. Many ways to reach it.

Give an agent persistent entry points through the channels people already understand. AgentOwl resolves the address, preserves the interaction, and sends the event where it belongs.

01

Address

Email addresses and phone numbers give the outside world a stable way to initiate work.

02

Receive

Accept interactions independently of whether the downstream runtime is online or executing.

03

Preserve context

Carry addressing, channel, provider, sender, authentication, policy, and delivery context forward.

04

Wake

Route the event over standard interfaces. Your runtime decides how the agent reasons and acts.

The AgentOwl event

Everything arrives at one durable boundary.

Your runtime shouldn’t need to operate SMTP, parse provider callbacks, implement deduplication, or rebuild delivery infrastructure. AgentOwl records what happened, where it came from, how it was routed, and whether delivery succeeded.

deduplicationpolicyretriesdead lettersreplay
AgentOwl Eventdelivery: success
{
  "event_id": "evt_01J...",
  "tenant_id": "t_acme",
  "binding_id": "b_procurement",
  "channel": "email",
  "provider": "smtp",
  "provider_event_type": "email.received",
  "subject": {
    "from": "[email protected]",
    "to": "[email protected]"
  },
  "policy_result": { "decision": "allow" },
  "delivery": { "status": "success", "attempt": 1 }
}
SPFpass
DKIMpass
DMARCpass
Ingress policyallow

Authentication evidence is preserved with the interaction. It does not assert that the message itself is truthful.

Provenance and policy

Know what reached your agent.

Before external input influences autonomous execution, preserve where it came from and the technical evidence that accompanied it. AgentOwl verifies supported ingress, records the result, and applies deterministic policy before routing.

Runtime independent

AgentOwl is the boundary. Your runtime is the brain.

AgentOwl owns external reachability, ingress, policy, routing, and delivery. Your runtime owns models, reasoning, tools, memory, and execution.

Outside world

Initiates the interaction

People, businesses, providers, and systems create events on their own schedule.

Your runtime

Reasons and acts

Receive a standard event through a webhook, queue, SIP handoff, or voice runtime.

Start with email

From address to runtime in four steps.

The current CLI uses infrastructure names—tenant, binding, endpoint, and route—while the public model evolves toward organization, address, destination, and agent.

1

Create a workspace

agentowl tenant create acme \
  --display-name "Acme"
2

Connect your runtime

agentowl endpoint create webhook runtime \
  https://api.acme.ai/events --tenant acme
4

Route events

agentowl route create --tenant acme \
  --binding <binding_id> --endpoint <endpoint_id>

From callable to reachable

APIs made software callable. AgentOwl makes agents reachable.

Give your agent a persistent way for the outside world to initiate work.