4b6817381b
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
CI / coverage-report (push) Has been cancelled
CI / test-kubernetes (push) Has been cancelled
CI / should-run-thorough (push) Has been cancelled
CI / test-thorough (cloudwatch-demo) (push) Has been cancelled
CI / test-thorough (flink-ecs) (push) Has been cancelled
CI / test-thorough (upstream-lambda) (push) Has been cancelled
CI / test-thorough (prefect-ecs-fargate) (push) Has been cancelled
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Has been cancelled
Benchmark image — build + push to ECR (any adapter) / build + push (push) Has been cancelled
CI / quality (ubuntu-latest) (push) Has been cancelled
CI / test (tools-runtime) (push) Has been cancelled
CI / test (e2e-general) (push) Has been cancelled
CI / test (cli-runtime) (push) Has been cancelled
CI / test (e2e-provider-and-openclaw) (push) Has been cancelled
CI / test (integrations-and-misc) (push) Has been cancelled
Release / verify (push) Has been cancelled
Release / build-python-dist (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Has been cancelled
Release / publish-release (push) Has been cancelled
Release / publish-main-release (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Has been cancelled
Release / prepare (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Has been cancelled
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Has been cancelled
79 lines
3.8 KiB
Plaintext
79 lines
3.8 KiB
Plaintext
---
|
|
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 <service>` (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)).
|