--- title: "Messaging" description: "Deliver investigation findings and trigger investigations from Slack, Discord, Telegram, WhatsApp, or Twilio SMS." --- OpenSRE can deliver investigation findings — and accept investigation triggers — through five messaging platforms. Pick the one that matches where your team already responds to incidents. ## Pick a platform | Platform | Best for | Trigger investigations from chat? | Configured by | Setup time | |---|---|---|---|---| | [**Slack**](/messaging/slack) | Teams already paged in Slack channels | ❌ delivery only (incoming webhook) | `opensre integrations setup slack` | ~5 min | | [**Discord**](/messaging/discord) | Communities and teams using Discord servers | ✅ `/investigate` slash command in any channel the bot is in | `opensre onboard` or `opensre integrations setup discord` | ~10 min | | [**Telegram**](/messaging/telegram) | Mobile-first and on-call rotations | ✅ DM text chat via `opensre gateway start` | `opensre onboard` or `opensre integrations setup telegram` | ~5 min | | [**WhatsApp**](/messaging/whatsapp) | Mobile alerting via Twilio WhatsApp | ❌ delivery only | `opensre integrations setup whatsapp` | ~5 min | | [**Twilio SMS**](/messaging/twilio-sms) | SMS paging via Twilio (separate from WhatsApp) | ❌ delivery only | `opensre integrations setup twilio` | ~5 min | If you're not sure, start with Slack — it has the simplest setup. Pick Discord if you want chat-driven investigations with threaded follow-ups. Pick WhatsApp or Twilio SMS when your team already pages via Twilio. You can configure more than one. Each is independent and uses its own credentials. ## What every guide covers Each platform guide walks you through: 1. **Prerequisites** — what you need before you start (workspace/server admin rights, a phone number for Telegram, a Twilio account for WhatsApp, etc.). 2. **Create the bot/app** — the platform-side setup (BotFather, Discord Developer Portal, Slack App). 3. **Credentials** — the exact tokens, IDs, and keys to copy. 4. **OpenSRE wizard** — the `opensre onboard` flow, what it asks for, and what it writes to `.env`. 5. **Verify** — how to confirm delivery is working. 6. **Troubleshooting** — common failures and how to read the error. --- ## Common environment variables Discord and Telegram credentials can also be set directly in `.env` instead of (or alongside) the CLI configuration: ```bash # Slack — read as a fallback when no Slack entry exists in # ~/.opensre/integrations.json SLACK_WEBHOOK_URL= # Discord DISCORD_BOT_TOKEN= DISCORD_APPLICATION_ID= DISCORD_PUBLIC_KEY= DISCORD_DEFAULT_CHANNEL_ID= # Telegram TELEGRAM_BOT_TOKEN= TELEGRAM_DEFAULT_CHAT_ID= # WhatsApp (Twilio) TWILIO_ACCOUNT_SID= TWILIO_AUTH_TOKEN= TWILIO_WHATSAPP_FROM= WHATSAPP_DEFAULT_TO= # Twilio SMS (shares TWILIO_ACCOUNT_SID / TWILIO_AUTH_TOKEN) TWILIO_SMS_FROM= TWILIO_SMS_MESSAGING_SERVICE_SID= TWILIO_SMS_DEFAULT_TO= ``` After editing `.env`, run `opensre integrations verify ` (e.g. `opensre integrations verify telegram`, `opensre integrations verify whatsapp`, or `opensre integrations verify twilio`) to confirm the credentials work. Note that `opensre doctor` only inspects the integrations store (`~/.opensre/integrations.json`), so it does **not** detect env-var-only configurations like Telegram, WhatsApp, Twilio SMS, or Slack-via-`SLACK_WEBHOOK_URL`. --- ## Re-running the wizard You can re-run the Discord wizard at any time to update credentials: ```bash opensre onboard ``` Existing values are pre-populated, so you can press Enter to keep what you have. Slack, WhatsApp, and Twilio SMS use `opensre integrations setup slack`, `opensre integrations setup whatsapp`, and `opensre integrations setup twilio`. Telegram does not currently have a wizard step that persists credentials — use `.env` for Telegram (see [#1481](https://github.com/Tracer-Cloud/opensre/issues/1481)).