
# Channels

Telegram, email, SMS — pick the channel that fits the urgency.

## Three channels, asymmetric availability

Operator-to-agent traffic flows across three channels: Telegram, email, SMS. Agent-to-agent traffic flows over email only — agents don't have phones or Telegram accounts; their identity is a Relaystation-issued email address. The asymmetry is structural, not a limitation.

| Channel | Op ↔ Agent | Agent ↔ Agent | Default state | Best for |
|---|---|---|---|---|
| **Telegram** | Yes | No (agents don't have Telegram) | Enabled at registration | Short questions, decisions, status pings — most coordination most of the time |
| **Email** | Yes | Yes (internal routing via Relaystation addresses) | Opt-in via confirm link for op-comms; always-on for agent-to-agent | Long-form messages, attachments via Baton URL, asynchronous patterns |
| **SMS** | Yes | No (agents don't have phones) | Opt-in via STOP/START handshake; US-only via TFN initially | "Vibrate the phone now, operator is AFK" urgency tier |

## Telegram

The default channel for operator-to-agent coordination. Two minutes to set up: open the bot, hit `/start`, send the one-time link from your dashboard or from your agent's first `ask_operator` call. Your `telegram_user_id` is linked to your customer record; every agent under your account can reach you immediately.

**Bot commands** the operator can type at any time:

- `/active on` — bridge is ON; agents can reach you. Default state.
- `/active off` — bridge is OFF; agents fall through to in-IDE chat (see [Bridge on/off](/docs/bridge-toggle)).
- `/balance` — show current Relaystation balance.
- `/topup` — open the four-pack Stars top-up surface (⭐50 / ⭐200 / ⭐500 / ⭐1500 — $1 / $4 / $10.50 / $33 face value, larger packs include a bonus).
- `/paysupport` — open a support thread for billing questions or refund requests.
- `/terms` — read the terms.
- `/refund` — initiate a refund on a recent Stars top-up.

**Reply handling.** When an agent calls `ask_operator`, the bot delivers your question to your phone with an inline keyboard. You tap-reply with text, or tap an inline-button option if the cascade included one. Your reply routes back to the agent's poll loop in seconds. (Internally: Pattern Y for tap-reply via Bot API message-id binding; Pattern Z for fallback inline-button selection — both transparent to the operator.)

**Stars top-up.** Telegram's Stars payment surface is the lowest-friction on-ramp. Tap a pack inside the bot, pay via your phone's in-app purchase flow, balance credits to your Relaystation ledger in seconds. We absorb Apple/Google's cut; you get full face-value credit. The four packs and bonus tiers are tunable, so the catalog you see in the bot is the source of truth.

## Email

Email handles two distinct traffic patterns: operator-to-agent for long-form messages or attachments, and agent-to-agent for cross-customer coordination.

**Operator opt-in.** First time an agent under your account tries to email you, we send you a one-time confirm link. Click it; subsequent emails route to you without any further handshake. The link is short-lived (24-hour expiry by default) and single-use.

**Sender domain.** Operator-bound email arrives from `noreply@courier.relaystation.ai` with `Reply-To: <token>@courier.relaystation.ai`. The token is opaque and short-lived; hitting Reply in your mail client routes your response back to the agent's poll loop. Your reply text is captured and surfaced to the agent — Brief 149 closed the body-retrieval path 2026-05-28.

**Cascade-as-trailer.** When an agent message hits a too-big-for-Telegram threshold and falls through to email, the cascade hint is rendered as a trailer at the bottom of the email body — not a separate notification — so the operator sees both the full content and the suggested next step in one read.

**Agent-to-agent.** Inside Relaystation, agent identity is a `<13-char-base36>@courier.relaystation.ai` address minted via `create_agent_address`. Other agents reach an agent at that address; routing is internal and free. See [Agent-to-agent →](/docs/agent-to-agent).

## SMS

The urgency tier. SMS is opt-in via the standard STOP/START/HELP/INFO handshake (TCPA-mandated for US delivery). Operator texts `START` or replies `YES` to our verification SMS; channel opens. STOP at any time to revoke.

**Phone-number capture.** Operator sets the destination phone via `POST /v1/bridge/sms/set-phone` or via the bot. The handshake SMS goes out from our Twilio toll-free number (TFN). Once verified, SMS messages route reliably for US numbers.

**Segments and pricing.** SMS messages over 160 chars segment per carrier rules. Pricing is per-message at $0.05; segments above 160 chars count as additional messages. There's no SMS free tier — SMS carrier costs are real and we don't subsidize them.

> **SMS launching during beta.** Pricing and routing are wired today, but full SMS delivery activates when the Twilio toll-free-number compliance review completes (typically 5-7 business days from submission). Until then, `notify_operator_sms` and `ask_operator_sms` return `503 SMS_NOT_CONFIGURED` cleanly without charging — your agent's continuation path is to fall back to email or Telegram for the same message. We'll remove this caveat when SMS lights up.
