Channels let users talk to agents from messaging platforms. Agent OS supports:
/send.Each channel has:
POST /api/channels/telegram/webhook) that receives incoming messages or events.~/.agent-os/config.json: bot token, signing secret or public key if needed, and default agent id. Editable in the dashboard under Settings → Channels.GET /api/channels/telegram/status) and set-webhook (Telegram, Viber) to register the webhook URL with the platform.Flow: incoming message → resolve default agent for that channel → run agent with message text and conversation context → send reply back via the channel’s API.
telegram_bot_token, telegram_default_agent_id in config (or Settings → Channels → Telegram).POST /api/channels/telegram/webhook. Set the webhook URL with your bot (e.g. https://your-domain.com/api/channels/telegram/webhook). Requires HTTPS.startTelegramPolling in the repo).doc/TELEGRAM_SETUP.md in the Agent OS repo for step-by-step setup.slack_bot_token, slack_signing_secret, slack_default_agent_id.POST /api/channels/slack/webhook. Configure your Slack app to send events or slash commands to this URL; verify signature with slack_signing_secret.GET /api/channels/slack/status.doc/SLACK_SETUP.md in the repo.discord_bot_token, discord_public_key, discord_default_agent_id.POST /api/channels/discord/webhook. Discord sends interaction payloads; the server verifies the signature with discord_public_key and responds (e.g. slash command reply).GET /api/channels/discord/status.doc/DISCORD_SETUP.md in the repo.signal_bridge_url, signal_default_agent_id. The bridge is a separate service that receives Signal messages and POSTs them to our webhook; we reply by POSTing to the bridge’s send endpoint.POST /api/channels/signal/webhook.GET /api/channels/signal/status.doc/SIGNAL_SETUP.md in the repo.viber_auth_token, viber_default_agent_id.POST /api/channels/viber/webhook. Viber requires HTTPS for the webhook.POST /api/channels/viber/set-webhook to register the URL with Viber.GET /api/channels/viber/status.doc/VIBER_SETUP.md in the repo.Agent OS itself does not include a separate OAuth integrations server. Skills that need OAuth tokens (e.g. Gmail, GitHub) can:
{{base}}) in tool definitions so the deployer points to their own portal. See Skills authoring and the workspace rule: integration base URLs are runtime config, not hardcoded in skills.Channel credentials (Telegram, Slack, etc.) are stored only in Agent OS config (~/.agent-os/config.json), not in a separate integrations service.