Status: Beta — Telegram and Slack channels are functional. Discord and push notifications are still being refined.
Channels
FERAL connects to external messaging platforms through channels. Each channel bridges a platform’s API into the Brain’s session system, so users can talk to the agent from Telegram, Slack, Discord, or receive push notifications — all with the same capabilities as the web UI.
ChannelManager Architecture
The ChannelManager is a singleton that registers, starts, and supervises channel adapters. Each adapter runs in its own asyncio task and translates platform-specific messages into FeralMessage objects.
Each channel adapter implements a common interface:
Telegram Bot
Setup
- Create a bot via @BotFather and get the token.
- Store the token in the vault. The channels step of the setup wizard
prompts for it, verifies it against Telegram’s
getMe, and stores it
under the FERAL_TELEGRAM_BOT_TOKEN name the runtime reads:
The web UI’s Settings → Channels card writes the same credential.
feral key add --provider telegram is not the right command here.
It stores labeled keys for LLM providers under a namespace the channel
loader and the Telegram probe never read.
- Enable the channel in config:
- Start FERAL — the Telegram channel connects automatically.
Features
Slack Integration
Setup
- Create a Slack app at api.slack.com/apps.
- Enable Socket Mode and add bot scopes:
chat:write, app_mentions:read, im:history.
- Store tokens:
- Configure:
Thread Support
FERAL maintains session continuity per Slack thread. A new thread starts a new session; replies within a thread continue the same conversation context.
Discord Gateway
Setup
- Create an application at discord.com/developers.
- Add a bot, enable Message Content Intent.
- Invite the bot to your server with
Send Messages + Read Message History permissions.
Slash Commands
FERAL auto-registers Discord slash commands on startup:
Push Notifications
FERAL sends push notifications via Firebase Cloud Messaging (Android/web) and Apple Push Notification service (iOS) for proactive alerts, reminders, and task completions.
Configuration
Sending Notifications
Push notifications are triggered by the Brain when proactive events fire (health alerts, reminders, task completions):
Device Registration
Clients register their push tokens via the Brain API:
Each adapter translates SDUI payloads into platform-native formatting: