Docs
Channels

Chat Channels

Telegram, Slack, and Discord setup notes.

Telegram, Slack, and Discord are useful reach channels. They share the same Facio runtime but differ in how they identify users, register commands, handle groups, stream output, and download attachments.

Telegram

Telegram uses long polling, so it does not need a public webhook URL.

FieldMeaning
enabledStart the Telegram bot.
tokenTelegram bot token.
allowFromUser IDs allowed to use the bot.
proxyOptional proxy URL.
replyToMessageReply to the triggering message.
groupPolicymention by default; group messages need a bot mention or reply.
streamingEdit messages progressively while the agent works.
inlineKeyboardsEnable inline buttons for supported interactions.

Telegram registers command menu entries for core commands such as new, stop, status, history, reflect, and help.

Slack

Slack uses Socket Mode.

FieldMeaning
enabledStart Slack integration.
modeDefaults to socket.
botTokenSlack bot token.
appTokenSlack app-level token for Socket Mode.
replyInThreadKeep replies in Slack threads.
includeThreadContextInclude recent thread history when the bot is pulled into a thread.
allowFromAllowed user IDs.
groupPolicyUsually mention; group messages require bot mention.
groupAllowFromChannel/group-level allow list.
dm.enabledAllow direct messages.
dm.allowFromOptional DM sender allow list.

Slack can download files when the bot has the right scopes and can include thread context to make replies more useful.

Discord

Discord uses discord.py and registers app commands.

FieldMeaning
enabledStart Discord bot.
tokenDiscord bot token.
allowFromAllowed user IDs.
allowChannelsAllowed channel IDs; empty means all channels.
intentsDiscord gateway intents bitmask.
groupPolicymention by default.
streamingEnable progressive message updates.
proxy, proxyUsername, proxyPasswordOptional proxy support.

Setup order

  1. Create the bot/app in the platform.
  2. Add the required token fields.
  3. Add explicit allowFrom or channel allow lists.
  4. Enable the channel.
  5. Send /status from an allowed identity.
  6. Check logs if the channel receives messages but the agent does not answer.

On this page