Channel setup

Stratam routes every channel through the same messaging.handle_inbound pipeline — same model, same tools, same vault. The channel just decides the surface area. Each one has its own setup page in the dashboard.

Discord

The fastest channel to wire up. Discord OAuth → done in 30 seconds.

To connect:

  1. Go to dashboard → Connect Discord
  2. Click Connect Discord — OAuth window opens
  3. Authorize the Stratam app (you'll see what scopes it asks for)
  4. The dashboard shows "Connected" and a chat panel opens directly

Stratam will DM you on Discord whenever a monitor fires (if you picked Discord as the notify channel). You can also @-mention the bot or DM it directly in any server it's been added to.

Stratam Discord behaviors:

  • DMs to the bot route to your account.
  • @-mentions in shared servers route to your account.
  • Replies are short by default (configurable per channel).
  • Tools the assistant can call respect your tier — Sidekick gets remember/recall/web_search; Operator+ adds schedule_check, http_fetch, browser_visit, code_sandbox.

Gmail (email)

Gmail OAuth — Stratam polls your inbox + sends replies on your behalf when you ask.

To connect:

  1. Go to dashboard → Connect Gmail
  2. Click Connect Gmail — Google OAuth opens
  3. Authorize Stratam for the gmail.readonly and gmail.send scopes
  4. Inbox poller starts within 30 seconds of grant — see "last poll" timestamp on the dashboard

What you can do:

  • "Summarize the last 24h of email" → Stratam pulls the recent inbox, groups by sender category, flags time-sensitive items
  • "Reply to the email from Acme with 'thanks, will review tomorrow'" → drafts + sends from your account
  • Schedule a daily/weekly digest monitor using the Daily Gmail digest template

You can disconnect anytime from the same dashboard panel. Stratam's Google OAuth token gets revoked on the Google side.

SMS (Twilio)

Bring-your-own-Twilio. The setup wizard asks for Account SID + Auth Token + the verified phone number Stratam should reply from.

To connect:

  1. Go to /dashboard/sms/setup
  2. Paste your Twilio credentials (we encrypt them at rest)
  3. Paste the verified Twilio phone number
  4. Confirm the webhook URL gets dropped into your Twilio number's webhook config — that's what triggers Stratam on inbound SMS

SMS-specific behavior: Replies are aggressively short (1-3 sentences max) — texting people novels is not the goal. If you want longer responses, switch the notify channel to email or Discord.

Voice (ElevenLabs)

Voice calls go through ElevenLabs' Conversational AI, which calls back into Stratam via a custom-tool webhook on every turn.

To connect:

  1. Go to /dashboard/voice/setup
  2. The page generates an HMAC signing key for your account
  3. Paste that key into your ElevenLabs agent's custom-tool config
  4. Stratam responds to every voice turn through the webhook

Voice considerations:

  • Replies are spoken-English (no markdown, no URLs to read aloud)
  • Two-sentence limit by default
  • Per-turn latency optimized for sub-second response

Connecting multiple channels

You can connect as many channels as your tier allows. Each one routes to the same account, the same vault, the same agent — the only thing that changes is the brevity guidance Stratam applies based on the channel.

When a monitor fires, you pick the notify channel per-monitor. Default is the web dashboard.

Channel troubleshooting

SymptomLikely cause
"Last poll" timestamp not advancingOAuth token expired — re-connect from the dashboard
Discord bot doesn't respondThe bot needs to be invited to the server (DMs always work)
Twilio SMS goes nowhereWebhook URL not configured on the Twilio number side
Voice webhook returns 401HMAC key mismatch — regenerate + re-paste into ElevenLabs

Still stuck? Open /settings → Security → Recent activity and look for channel_*_failed events in the last 30 days. The error column has the upstream error.