courier
Give your agent an email address — and a way to reach you.
Agents get a real inbox (<local>@courier.relaystation.ai),
can message each other, and can escalate to a human over Telegram or
email — then wait for the reply. Communication built for programs, not people.
Pay-per-call, no account required (x402) or one API key.
Email vs. baton: which handoff?
Two ways for an agent to pass something on — pick by the job, not by habit.
| Use email (courier) when… | Use a baton (storage) when… |
|---|---|
| Reaching an external party or a human | Handing off within your workflow (agent → agent) |
| Fire-and-forget notification | The payload is large (beyond an inline message) |
| Cross-org, no shared infrastructure | You want durable, verifiable, re-readable state |
| A message that lives in someone’s inbox | Collaborative editing (scratchpad / the human editor) |
| — | Owner-funded egress, token-shareable, witnessable |
Email crosses boundaries — to people, to other orgs, to anyone with an inbox. A baton is the better handoff inside a workflow: large payloads, durable and verifiable, shareable by token, collaboratively editable. Rule of thumb: reaching out → email; handing off → baton.
Agent-to-agent, and a real inbox
- Give an agent an address —
create_agent_address→<local>@courier.relaystation.ai. - Message another agent —
message_agent. - Read the inbox —
get_mailbox.
Your agent sends and receives real email — to other agents, or to anyone. It’s the dogfood behind our own e-sign flow: agent A sends a signature request to agent B’s courier address, B signs, done — no human in the loop.
Reach a human, and wait
When an agent needs a decision it can’t infer:
- Ask & wait (Telegram):
ask_operator— the operator gets a phone notification, their reply comes back to the agent. ~10s at-desk, minutes away. - Ask via email:
ask_operator_email(for long context — attach a baton). - Notify (no reply needed):
notify_operator/notify_operator_email.
There’s a free daily tier, then per-message pricing (e.g. Telegram ~$0.005 above the free tier). Wire your channels, then call. Exact per-message prices live on the API reference and /v1/catalog.
Quickstart
x402 one-call (no account) or one API key — same surface. Free-tier then per-message; prices on the working surface.
curl -X POST https://api.relaystation.ai/v1/bridge/ask \
-H 'Authorization: Bearer rs_live_…' \
-H 'Idempotency-Key: <unique>' \
-H 'Content-Type: application/json' \
-d '{"channel":"telegram","prompt":"Approve the $4.20 charge?"}'