Channels
Exolvra supports four messaging channels — Telegram, Discord, Slack, and the local console. Each can be configured from the Channels page in the dashboard. This page walks through every one.
Telegram
Prerequisites
- A Telegram account
- The Telegram app (mobile or desktop)
Step 1: Create a Bot
- Open Telegram and search for @BotFather
- Send
/newbot - Enter a display name (e.g., “My Exolvra Assistant”)
- Enter a username (must end in
bot, e.g.,my_exolvra_bot) - BotFather responds with your bot token — copy it
Step 2: Configure in Exolvra
- Open the Exolvra dashboard and go to Channels
- Click Configure on the Telegram card
- Check Enabled
- Paste the bot token from BotFather
- Leave “Allowed Chat IDs” empty to allow anyone, or enter specific IDs to restrict access
- Click Save Channel Settings
- Restart Exolvra
Step 3: Start Chatting
- Open Telegram and search for your bot’s username
- Press Start or send any message
- The bot responds through Exolvra’s AI agent
Finding Your Chat ID
If you want to restrict access to specific users:
- Send a message to the bot with “Allowed Chat IDs” empty
- Check the Exolvra console logs — you’ll see:
Received Telegram message from Username (chat 123456789) - Copy the chat ID number
- Add it to the “Allowed Chat IDs” field (comma-separated for multiple users)
- Save and restart
Telegram troubleshooting
| Issue | Solution |
|---|---|
| Bot doesn’t respond | Check the console for errors. Verify the token is correct. |
| ”Telegram bot token not configured” | The token field is empty or the channel isn’t enabled. |
| Bot responds to everyone | Add chat IDs to the allowlist to restrict access. |
| Long messages get cut off | Telegram has a 4096 character limit. Exolvra auto-splits long messages. |
Discord
Prerequisites
- A Discord account
- Access to the Discord Developer Portal
Step 1: Create a Discord Application
- Go to https://discord.com/developers/applications
- Click New Application
- Enter a name (e.g., “Exolvra Assistant”) and click Create
Step 2: Create a Bot User
- In your application, go to the Bot tab
- Click Add Bot (if not already created)
- Under Token, click Reset Token and copy the token
- Enable these Privileged Gateway Intents:
- Message Content Intent
- Server Members Intent (optional)
Step 3: Invite the Bot to Your Server
- Go to the OAuth2 tab, then URL Generator
- Under Scopes, check
bot - Under Bot Permissions, check:
- Send Messages
- Read Message History
- Read Messages / View Channels
- Copy the generated URL and open it in your browser
- Select the server to add the bot to and click Authorize
Step 4: Configure in Exolvra
- Open the Exolvra dashboard and go to Channels
- Click Configure on the Discord card
- Check Enabled
- Paste the bot token
- Optionally add Guild IDs to restrict which servers the bot responds in
- Click Save Channel Settings
- Restart Exolvra
Step 5: Start Chatting
- Go to your Discord server where the bot was added
- Send a message in any channel the bot can see
- The bot responds through Exolvra’s AI agent
- You can also DM the bot directly
Finding Your Guild (Server) ID
- In Discord, go to Settings → Advanced and enable Developer Mode
- Right-click on your server name in the sidebar
- Click Copy Server ID
Discord troubleshooting
| Issue | Solution |
|---|---|
| Bot is offline | Check the console for connection errors. Verify the token. |
| Bot doesn’t respond to messages | Enable Message Content Intent in the Developer Portal. |
| Bot responds in wrong servers | Add your Guild ID to the allowlist. |
| ”Discord bot token not configured” | The token field is empty or the channel isn’t enabled. |
Slack
Prerequisites
- A Slack workspace where you have admin permissions
- Access to the Slack API portal
Step 1: Create a Slack App
- Go to https://api.slack.com/apps
- Click Create New App
- Choose From scratch
- Enter a name (e.g., “Exolvra Assistant”) and select your workspace
- Click Create App
Step 2: Configure Bot Permissions
- In the app settings, go to OAuth & Permissions
- Under Bot Token Scopes, add:
chat:write— Send messageschannels:history— Read messages in public channelsgroups:history— Read messages in private channelsim:history— Read direct messagesim:write— Send direct messagesapp_mentions:read— Respond to @mentions
Step 3: Install to Workspace
- Go to OAuth & Permissions
- Click Install to Workspace
- Review the permissions and click Allow
- Copy the Bot User OAuth Token (starts with
xoxb-)
Step 4: Enable Events (Webhook Mode)
- Go to Event Subscriptions and toggle Enable Events on
- Set the Request URL to
http://your-exolvra-host:5079/api/webhooks/slack- For local development, use a tunnel service like ngrok:
ngrok http 5079 - Then use the ngrok URL:
https://abc123.ngrok.io/api/webhooks/slack
- For local development, use a tunnel service like ngrok:
- Under Subscribe to bot events, add:
message.channelsmessage.groupsmessage.im
- Click Save Changes
Step 5: Configure in Exolvra
- Open the Exolvra dashboard and go to Channels
- Click Configure on the Slack card
- Check Enabled
- Paste the Bot User OAuth Token
- Optionally paste the App Token (for Socket Mode, starts with
xapp-) - Click Save Channel Settings
- Restart Exolvra
Step 6: Start Chatting
- In Slack, invite the bot to a channel:
/invite @Exolvra Assistant - Send a message mentioning the bot or in a DM
- The bot responds through Exolvra’s AI agent
Slack troubleshooting
| Issue | Solution |
|---|---|
| Bot doesn’t respond | Check if the event subscription URL is reachable. Check console logs. |
| ”Your URL didn’t respond” during setup | Exolvra must be running and accessible from the internet for webhooks. Use ngrok for local dev. |
| Bot can’t see messages | Add the required bot token scopes and reinstall the app. |
| ”Slack bot token not configured” | The token field is empty or the channel isn’t enabled. |
Console (local CLI)
The Console channel provides a text-based chat interface directly in the terminal where Exolvra is running. No external accounts or setup required.
Configure
- Open the Exolvra dashboard and go to Channels
- Click Configure on the Console card
- Check Enabled
- Optionally change the prompt prefix (default:
You>) - Click Save Channel Settings
- Restart Exolvra
Usage
After restart, you’ll see in the terminal:
=== Exolvra Console Chat ===
Type your message and press Enter. Type 'exit' to quit.
You> Hello!
Assistant> Hi! How can I help you today?
You> exit
The console channel is useful for quick testing without opening the dashboard, headless server environments without a browser, and scripted interactions via piped input.
Managing channels
Viewing status
The Channels page shows the current status of each adapter:
- Active (green) — connected and receiving messages
- Stopped — configured but not running (usually means the app needs a restart)
- Not configured — no token or credentials set
Multiple channels
You can enable multiple channels simultaneously. Each channel creates separate sessions, and all conversations are visible in the Sessions page. Budget tracking applies across all channels.
Security
- Sandboxing — by default, messages from external channels (Telegram, Discord, Slack) run in sandboxed sessions with restricted tool access. Main sessions (dashboard chat) have full access.
- Allowlists — use chat ID or guild ID allowlists to restrict who can interact with the bot.
- Tokens — all tokens are stored in the local database, not in the git repository.