Skip to main content
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

  1. Create a bot via @BotFather and get the token.
  2. 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.
  1. Enable the channel in config:
  1. Start FERAL — the Telegram channel connects automatically.

Features

Slack Integration

Setup

  1. Create a Slack app at api.slack.com/apps.
  2. Enable Socket Mode and add bot scopes: chat:write, app_mentions:read, im:history.
  3. Store tokens:
  1. 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

  1. Create an application at discord.com/developers.
  2. Add a bot, enable Message Content Intent.
  3. 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:

Channel-Specific Formatting

Each adapter translates SDUI payloads into platform-native formatting: