IM Channel Integration

Prerequisites: You must first create a Bot (Bot Management) before configuring messaging channels for it. If you are not yet familiar with the platform’s core architecture, we recommend reading Core Concepts first.

A Gateway is the messaging bridge between an external IM platform and a Monstrum Bot. Once a Gateway is configured, users can chat with the Bot directly from popular IM platforms such as Slack, 飞书 (Feishu), Telegram, and more — without needing to access the Monstrum admin interface.


Overview

What Is a Gateway

A Gateway, also referred to as a “messaging channel,” is Monstrum’s unified abstraction for external IM messaging channels. Each Gateway configuration represents a message pathway from an external IM platform to a specific Bot within the platform.

Key characteristics:

  • One Bot, multiple channels — A single Bot can be connected to multiple channels such as Slack, 飞书 (Feishu), and Telegram simultaneously. Messages from different channels are all handled by the same Bot.
  • One channel, one Bot — Each Gateway configuration can only be associated with one Bot. If you need to connect multiple Bots to the same IM platform, create multiple Gateways.
  • Non-blocking delivery — When a Webhook request arrives from an external IM platform, the platform immediately returns a 200 response. Messages are asynchronously routed to the Bot, and the Bot’s replies are asynchronously delivered back to the IM channel.
  • Credential security — IM platform credentials such as Tokens and Secrets are encrypted at rest within the platform and displayed in masked form on list and detail pages.

Message Flow

When a user sends a message in an IM platform, it goes through the following pipeline:

User sends a message in IM

IM platform pushes the message to Monstrum's Webhook URL

Gateway adapter verifies the request signature and parses the message format

Command interception (/link, /help, and other platform commands are handled directly without reaching the Bot)

Message policy filtering (reply scope, trigger mode, user/channel allowlists, etc.)

Message is converted to the internal unified format (MessageEnvelope) and routed to the associated Bot

Bot processes the message and generates a reply

Gateway delivers the reply back to the original IM channel

Supported Channel Types

ChannelType IdentifierDescription
SlackslackSlack workspace; receives messages via Events API
飞书 (Feishu)feishuFeishu/Lark app; receives messages via event subscriptions
TelegramtelegramTelegram Bot; supports both polling and Webhook modes
DiscorddiscordDiscord server Bot
钉钉 (DingTalk)dingtalkDingTalk enterprise internal app Bot
企业微信 (WeCom)wecomWeCom self-built app; uses message encryption/decryption
QQ 机器人 (QQBot)qqbotQQ Open Platform Bot; supports group and direct messages
LINElineLINE Messaging API
WhatsAppwhatsappWhatsApp Business API
WebhookwebhookGeneric Webhook; suitable for custom system integrations

Configuration Workflow

Messaging channels are configured on each Bot’s detail page.

Adding a Channel

  1. Navigate to the target Bot’s detail page
  2. Switch to the Messaging Channels tab
  3. Click the Add Channel button
  4. Select the channel type and fill in the required credentials

Common Form Fields

All channel types include the following common fields:

FieldDescription
NameDisplay name for the channel, e.g., “Customer Support Slack Channel” or “Ops Feishu Group”
Channel TypeSelect the IM platform from the dropdown list
Enable ImmediatelyWhether to start receiving messages right after saving

After selecting the channel type, the form dynamically displays the platform-specific credential fields required for that type.

Webhook URL

Once a Gateway is successfully created, the platform generates a unique Webhook URL in the following format:

https://{your-domain}/gateway/{channel-type}/{config-id}

You need to enter this URL in the corresponding IM platform’s Webhook or event subscription settings so the IM platform can push messages to Monstrum.

In the Gateway list, click the copy button next to the Webhook URL to quickly copy it.


Slack

Through the Slack Events API, Monstrum can receive messages from a Slack workspace and reply to them.

Prerequisites (on Slack)

  1. Create a Slack App — Visit Slack API and click Create New App > From scratch
  2. Configure Bot Token permissions — Go to OAuth & Permissions and add the following under Bot Token Scopes: chat:write, app_mentions:read, im:history, im:write. Optionally add channels:history and groups:history as needed
  3. Install to workspace — Click Install to Workspace and obtain the Bot User OAuth Token (starts with xoxb-)
  4. Obtain the Signing Secret — Find it under Basic Information > App Credentials

Configure in Monstrum

In the Add Gateway form, select the Slack type and fill in:

FieldDescription
Signing SecretThe Slack App’s signing secret, used to verify requests from Slack
Bot TokenBot User OAuth Token, starting with xoxb-

Configure Event Subscriptions

After creating the Gateway, you need to enter the generated Webhook URL in your Slack App:

  1. In the Slack App settings page, go to Event Subscriptions
  2. Enable Enable Events
  3. Enter the Webhook URL generated by Monstrum in the Request URL field
  4. Slack will send a challenge request to verify the URL; Monstrum responds automatically
  5. Once verified, under Subscribe to bot events, add:
    • message.im — Direct messages
    • app_mention — @Bot messages
    • message.channels — Public channel messages (optional)
  6. Save changes

Message Behavior

  • Direct messages: Users message the Slack Bot directly, and the Bot replies in the same conversation
  • Group chats: By default, the Bot only responds when @mentioned (controlled by trigger mode)
  • Thread replies: The Bot automatically replies within the message thread, preserving conversational context

飞书 (Feishu)

飞书 (Feishu), also known as Lark, receives messages through its event subscription mechanism.

Prerequisites (on Feishu)

  1. Create an app — Visit the Feishu Open Platform, go to the Developer Console, and create an enterprise self-built app
  2. Obtain credentials — Find the App ID and App Secret on the Credentials & Basic Info page
  3. Configure event subscriptions — On the Events & Callbacks page, obtain the Verification Token; you will enter the Webhook URL later
  4. Configure permissions — Request im:message, im:message.group_at_msg, and im:message.p2p_msg
  5. Publish the app — Permissions take effect after review and publication; add the app to the target group chats

Configure in Monstrum

In the Add Gateway form, select the 飞书 (Feishu) type and fill in:

FieldDescription
App IDFeishu app’s App ID
App SecretFeishu app’s App Secret
Verification TokenEvent subscription verification Token, used to verify event requests pushed by Feishu

Configure Event Subscription URL

After creating the Gateway:

  1. Copy the Webhook URL generated by Monstrum
  2. On the Feishu Open Platform’s Events & Callbacks page, enter this URL
  3. Feishu will send a verification request; Monstrum responds automatically
  4. In the Event List, subscribe to the following event:
    • im.message.receive_v1 — Receive message event

Message Behavior

  • Direct messages: Users message the app directly in Feishu
  • Group chats: After adding the app to a group chat, users @mention the app to send messages
  • Bot replies appear in the conversation under the app’s identity

Telegram

Receives and replies to messages through the Telegram Bot API.

Prerequisites (on Telegram)

  1. Create a Bot — Search for @BotFather in Telegram, send /newbot, and follow the prompts to obtain a Bot Token
  2. Configure Bot properties (optional) — Use BotFather commands such as /setdescription, /setuserpic, and /setcommands to customize the Bot’s profile
  3. Group chat settings (if needed) — Use /setjoingroups to allow joining groups, and /setprivacy to disable Privacy Mode so the Bot can receive all group messages

Configure in Monstrum

In the Add Gateway form, select the Telegram type and fill in:

FieldDescription
Bot TokenToken obtained from @BotFather
Proxy (optional)HTTP proxy address, e.g., http://127.0.0.1:7890, for network-restricted environments

Connection Mode

The Telegram adapter uses long polling mode by default, actively pulling messages without requiring a Webhook URL. Polling starts automatically when the platform launches.

If your deployment environment has a publicly accessible address, you can also use Webhook mode for lower message latency.

Message Behavior

  • Direct messages: Users message the Bot directly, and the Bot replies in the same conversation
  • Group chats: The Bot must be added to the group. By default, it only responds when @mentioned (this can be changed by disabling Privacy Mode to receive all messages)
  • The Bot supports replying to specific messages (Reply), maintaining contextual association

Discord

A community-oriented instant messaging platform widely used by gaming and developer communities.

Prerequisites (on Discord)

  1. Create an application — Visit the Discord Developer Portal and create a new application
  2. Create a Bot — On the Bot page, click Add Bot, enable Message Content Intent (required), and copy the Bot Token
  3. Invite the Bot to a server — Under OAuth2 > URL Generator, select the bot scope and check Send Messages, Read Message History, and View Channels permissions. Use the generated link to invite the Bot

Configure in Monstrum

In the Add Gateway form, select the Discord type and fill in:

FieldDescription
Discord Bot TokenBot Token obtained from the Developer Portal
Allowed Server IDs (optional)Restrict the Bot to specific servers only; separate multiple IDs with commas

If no allowed server IDs are specified, the Bot will respond to messages in all servers it has joined.

Obtaining a Server ID

In Discord, enable Developer Mode (User Settings > Advanced > Developer Mode), then right-click on a server icon and select Copy Server ID.

Message Behavior

  • Direct messages: Users can send private messages to the Bot directly
  • Server channels: The Bot receives messages in channels where it has access
  • By default, the Bot only responds when @mentioned (adjustable via trigger mode)

钉钉 (DingTalk)

An enterprise collaboration platform by Alibaba, widely used by businesses in China.

Prerequisites (on DingTalk)

  1. Create an application — Visit the DingTalk Open Platform and create an enterprise internal Robot-type application
  2. Obtain credentials — Find the AppKey (ClientID) and AppSecret (ClientSecret) on the Basic Information page
  3. Configure the robot — On the Robot & Message Push page, enable the feature; you will enter the Webhook URL later
  4. Publish the application — After requesting permissions, create a release version and submit it for review

Configure in Monstrum

In the Add Gateway form, select the 钉钉 (DingTalk) type and fill in:

FieldDescription
App AppKeyDingTalk app’s AppKey (ClientID)
App AppSecretDingTalk app’s AppSecret (ClientSecret)

Configure Message Receiving URL

After creating the Gateway:

  1. Copy the Webhook URL generated by Monstrum
  2. On the DingTalk Open Platform’s Robot & Message Push page, enter this URL
  3. DingTalk will push messages sent to the robot through this URL

Message Behavior

  • Direct messages: Users message the robot directly
  • Group chats: After adding the robot to a group chat, users @mention the robot to send messages
  • DingTalk uses signature verification to ensure message authenticity

企业微信 (WeCom)

An enterprise communication platform by Tencent. Message transmission uses AES-256-CBC encryption, providing a high level of security.

Prerequisites (on WeCom)

  1. Create a self-built application — Log in to the WeCom Admin Console, go to App Management > Self-built, and create an application
  2. Obtain credentialsCorpID (at the bottom of the “My Enterprise” page), AgentID and Secret (on the app detail page)
  3. Configure message receiving — In the app’s Receive Messages settings, set the URL (enter the Webhook URL). The system will auto-generate a Token and EncodingAESKey; save these for later
  4. Configure trusted domain — If needed, add the Monstrum domain in the app settings

Configure in Monstrum

In the Add Gateway form, select the 企业微信 (WeCom) type and fill in:

FieldDescription
Corp ID (CorpID)The enterprise’s unique identifier
App AgentIDThe self-built app’s AgentID
App SecretThe app’s secret key
Callback TokenToken generated in the message receiving configuration
EncodingAESKeyMessage encryption/decryption key generated in the message receiving configuration

Message Encryption

WeCom uses AES-256-CBC encryption for message transmission:

  • The encryption key is derived from the EncodingAESKey
  • The CorpID is embedded in messages for source verification
  • Monstrum handles encryption and decryption automatically; no manual action is required

Message Behavior

  • Direct messages: Users message the app in WeCom
  • Group chats: After adding the app to a group chat, users @mention the app to send messages
  • All messages are encrypted during transmission, ensuring enterprise data security

QQ 机器人 (QQBot)

Built on the QQ Open Platform, QQBot supports providing AI services in QQ groups and direct messages.

Prerequisites (on QQ Open Platform)

  1. Create an application — Visit the QQ Open Platform and create a Bot application
  2. Obtain credentials — Record the AppID and AppSecret
  3. Configure event subscriptions — In Development Settings, configure the message receiving URL; you will enter the Webhook URL later
  4. Sandbox environment (optional) — During development, you can use the sandbox environment for testing

Configure in Monstrum

In the Add Gateway form, select the QQ 机器人 (QQBot) type and fill in:

FieldDescription
App IDQQ Open Platform application AppID
App SecretApplication AppSecret

Verification Mechanism

The QQ Open Platform uses Ed25519 signature verification:

  • The platform automatically derives an Ed25519 key pair from the AppSecret
  • During verification requests, URL verification events (op=13) automatically return a signed challenge
  • This process is fully automatic and requires no user intervention

Message Behavior

  • Group chats: Users @mention the Bot in a group to send messages; the event type is GROUP_AT_MESSAGE_CREATE
  • Direct messages: Users message the Bot directly; the event type is C2C_MESSAGE_CREATE
  • QQBot uses the OpenID system to identify users and groups

LINE

A widely used instant messaging platform in Japan, Southeast Asia, and other regions.

Prerequisites (on LINE)

  1. Create a Channel — Visit the LINE Developers Console, create a Provider, then create a Messaging API type Channel
  2. Obtain credentialsChannel Access Token (generated in the Messaging API tab) and Channel Secret (in the Basic Settings tab)
  3. Configure Webhook — In the Messaging API tab, enable Use webhook; you will enter the Webhook URL later
  4. Disable auto-reply (recommended) — Disable the auto-response message in the LINE Official Account Manager

Configure in Monstrum

In the Add Gateway form, select the LINE type and fill in:

FieldDescription
Channel Access TokenLong-lived access token for the Messaging API
Channel SecretThe Channel’s secret, used to verify Webhook request signatures

Message Behavior

  • One-on-one chats: Users add the official account as a friend and message it directly
  • Group chats: Add the official account to a group to receive messages
  • LINE uses Webhook mode and requires a publicly accessible URL

WhatsApp

Sends and receives messages through the WhatsApp Business API.

Prerequisites (on Meta)

  1. Create an application — Visit Meta for Developers, create a Business type application, and add the WhatsApp product
  2. Obtain credentialsAccess Token (generate a permanent token in API settings), Phone Number ID (business number ID), App Secret (optional, found in Basic Settings)
  3. Configure Webhook — In the WhatsApp Webhook settings, enter the Webhook URL, set a custom Verify Token (must match the one in Monstrum), and subscribe to the messages field

Configure in Monstrum

In the Add Gateway form, select the WhatsApp type and fill in:

FieldDescription
Access TokenPermanent access token for the WhatsApp Business API
Phone Number IDID of the WhatsApp business phone number
Verify TokenWebhook verification token; must match the one set on the Meta platform
App Secret (optional)Meta app secret, used to verify Webhook request signatures. Recommended for enhanced security

Webhook Verification

WhatsApp’s Webhook verification has two steps:

  1. GET verification — Meta sends a GET request to the Webhook URL with hub.mode=subscribe and hub.verify_token parameters. Monstrum automatically verifies the Verify Token and returns the hub.challenge
  2. POST delivery — After verification passes, messages are delivered to the same URL via POST

Message Behavior

  • WhatsApp only supports one-on-one direct messages; Bots in group chats are not supported
  • Users send a message to the WhatsApp business number to trigger a Bot reply
  • Note WhatsApp’s 24-hour conversation window rule: you can reply freely within 24 hours after the user sends a message. After that, template messages are required

Webhook (Generic)

Webhook is the most flexible integration method, suitable for custom system integrations. You can push messages to Monstrum from any system capable of sending HTTP requests.

Use cases include internal system integrations (monitoring alerts, ticketing, CI/CD), custom IM integrations, API-driven automation, and development/debugging.

Configure in Monstrum

In the Add Gateway form, select the Webhook type and fill in:

FieldDescription
NameResource name, e.g., “Monitoring Alert Channel”
Associated BotSelect the Bot that will process messages
Callback URL (optional)Bot replies are sent to this URL. If left empty, replies are only recorded within the platform
Signing Secret (optional)Used to verify request signatures. If set, each request must include the X-Webhook-Secret header

Sending Messages to the Webhook

After creating the Gateway, obtain the generated Webhook URL and send POST requests to it.

Request format:

FieldTypeRequiredDescription
sourcestringNoMessage source identifier; defaults to webhook
user_idstringYesUser ID
channel_idstringNoChannel/group chat ID
textstringYesMessage text
callback_urlstringNoPer-request callback URL (overrides the Gateway’s configured callback URL)
metadataobjectNoAdditional metadata

Signature Verification

If a signing secret is configured, you must include the following HTTP header when sending requests:

X-Webhook-Secret: {your-configured-signing-secret}

Requests that are missing the header or have a mismatched secret will be rejected.

Reply Delivery

Bot replies are asynchronously delivered via HTTP POST to the configured callback URL. If a callback_url is also provided in an individual request, the per-request URL takes precedence.


Message Policies

Message policies allow fine-grained control over how a Bot responds in IM channels. On the Gateway management page or the Messaging Channels tab of the Bot detail page, click the Manage button for a Gateway to configure its message policies.

Reply Scope

Controls which types of conversations the Bot responds to:

OptionDescription
AllReply to both direct and group messages (default)
Direct messages onlyReply only to direct messages; group messages are silently ignored
Group chats onlyReply only to group messages; direct messages are silently ignored

Bots for internal teams are typically set to All; group-dedicated Bots use Group chats only; Bots handling sensitive information use Direct messages only.

Trigger Mode

Controls under what conditions the Bot responds to messages:

OptionDescription
SmartIn group chats, only reply when @mentioned; in direct messages, reply to all messages (default, recommended)
All messagesReply to all messages regardless of whether the Bot is @mentioned
@Bot onlyOnly reply to messages that explicitly @mention the Bot, including direct messages

Smart mode works well for most scenarios. Dedicated channels (where users only interact with the Bot) can use All messages; multi-user groups should use @Bot only to avoid unintended triggers.

User Filtering

Control which users can interact with the Bot through allowlists and blocklists:

SettingDescription
Allowed usersUser ID allowlist. If specified, only messages from users on this list will be processed
Blocked usersUser ID blocklist. Messages from users on this list are silently ignored
  • Allowlists and blocklists use IM platform user IDs (not usernames)
  • An empty allowlist means no allowlist restriction is applied (all users are permitted)
  • The blocklist takes priority over the allowlist

Channel Filtering

Control which channels the Bot responds to through allowlists and blocklists:

SettingDescription
Allowed channelsChannel ID allowlist. If specified, only messages from channels on this list will be processed
Blocked channelsChannel ID blocklist. Messages from channels on this list are silently ignored
  • Uses IM platform channel/group IDs
  • An empty allowlist means no allowlist restriction is applied
  • Useful when the Bot has joined multiple channels but should only operate in specific ones

Policy Evaluation Order

Message policies are evaluated in the following order. If any step fails, the message is silently ignored:

  1. Reply scope — Does the conversation type match?
  2. Trigger mode — Is the trigger condition satisfied?
  3. User allowlist — Is the user on the allowed list (if configured)?
  4. User blocklist — Is the user on the blocked list?
  5. Channel allowlist — Is the channel on the allowed list (if configured)?
  6. Channel blocklist — Is the channel on the blocked list?

Admin Binding

Each Gateway supports binding one IM administrator. The admin can execute platform management commands directly within the IM client, without needing to log in to the Monstrum admin interface.

Binding Process

  1. In the Monstrum admin interface, locate the target Gateway
  2. In the Admin Binding section, click Regenerate Binding Code
  3. The system generates a one-time binding code
  4. Share the binding code with the IM user who should become the admin
  5. That user sends the following command to the Bot via direct message in the IM:
/link {binding-code}
  1. On successful binding, the system replies with “Admin linked successfully!”
  2. The binding code is invalidated after use and cannot be reused

Admin Commands

Once bound, the admin can use the following management commands in the IM:

CommandDescriptionPermission Required
/link {code}Bind as adminAll users, direct message only
/unlinkUnbind adminAdmin, direct message only
/statusView Bot status and policy informationAdmin, direct message only
/chathis on|off|clearManage channel conversation persistenceAdmin, direct message and group chat
/helpDisplay list of available commandsAll users, direct message and group chat

Command Details

/status

View status information for the current Gateway, including:

  • Associated Bot name
  • Gateway channel type
  • Admin binding status
  • Current message policy configuration

/chathis (Conversation Persistence Management)

Manage conversation persistence for the current channel:

  • /chathis on — Enable conversation persistence; the Bot will remember the conversation history in the channel
  • /chathis off — Disable conversation persistence; each conversation starts fresh
  • /chathis clear — Clear the conversation history for the current channel without changing the persistence setting

This command can be used in group chats and applies to the current channel.

/help

Displays a list of all available commands, including platform built-in commands and workflow commands bound to the Bot. If the Bot is associated with workflows that support IM command triggers, those commands will also appear in the /help output.

Important Notes

  • Each Gateway can have only one admin at a time
  • Binding codes are single-use; they are invalidated after use or when a new code is generated
  • Management commands (except /link and /help) can only be executed by the admin
  • /link and /unlink can only be used in direct messages to prevent binding code exposure
  • /help and /chathis can be used in group chats

Gateway Status Management

Status Descriptions

StatusDescription
ConnectedGateway is operating normally; it can receive and send messages
DisconnectedGateway has been created but has not yet received any messages, or the adapter has not started
ErrorGateway encountered an issue, such as invalid credentials or a broken connection

Enable, Edit, and Delete

  • Enable/Disable — Use the toggle switch in the list. Disabling preserves the configuration; re-enabling restores it
  • Edit — Click the edit button to modify the configuration. Leaving credential fields empty keeps their existing values
  • Delete — This is an irreversible operation. After deletion, IM users can no longer interact with the Bot. The Webhook configuration on the IM platform side must be removed manually

Chatting with the Bot via IM

Messages received through a Gateway enter the Bot’s conversation system. For details, see Chat Interaction. Here is a brief overview of IM channel-specific behavior:

  • Conversation isolation — Messages from different IM channels belong to different conversations. Within the same channel, messages from different users belong to the same conversation (in group chat scenarios).
  • Conversation persistence — Conversations expire after 30 minutes of inactivity. Admins can enable persistence with /chathis on, which automatically saves the conversation history when it expires and restores context in the next conversation. When a conversation exceeds 80 messages, it is automatically compressed (an LLM summarizes older messages while retaining recent ones).
  • Deduplication — The platform has built-in deduplication. Even if the IM platform pushes the same message multiple times due to network instability, the Bot processes it only once.

FAQ

Gateway Status Shows “Disconnected”

Possible causes:

  • The Gateway was just created and has not yet received any messages from the IM platform
  • The Webhook URL is not configured correctly on the IM platform
  • Platform credentials (Token, Secret, etc.) were entered incorrectly
  • Network issues are preventing the IM platform from reaching Monstrum’s Webhook URL

Troubleshooting steps:

  1. Verify that Monstrum is accessible from the public internet (the IM platform needs to be able to send HTTP requests to the Webhook URL)
  2. Confirm the Webhook URL has been correctly entered in the IM platform’s settings
  3. Check that credentials are correct (you can edit the Gateway to re-enter them)
  4. Review the IM platform’s Webhook logs for any error messages

Bot Does Not Reply to IM Messages

Possible causes:

  • The Gateway is not enabled
  • The message policy’s trigger mode is restricting responses
  • The user is not on the allowlist, or has been added to the blocklist
  • The channel is not on the allowlist, or has been added to the blocklist
  • The associated Bot has a configuration issue (e.g., no LLM provider configured)

Troubleshooting steps:

  1. Confirm the Gateway is enabled
  2. Check the message policy’s reply scope and trigger mode settings
  3. Review the user and channel filter lists
  4. Chat with the Bot directly in the Monstrum admin interface to confirm it is functioning properly
  5. Check the Bot’s execution history to verify whether the message was received

Duplicate Replies

The platform has built-in deduplication, so duplicates should not normally occur. Check whether multiple Gateways are pointing to the same channel, or whether the IM platform is pushing the same Webhook event multiple times.

Channel-Specific Verification Failures

  • Slack URL verification failed — Ensure Monstrum is running and publicly accessible, and that the Signing Secret is entered correctly
  • Feishu events not being delivered — Confirm the Verification Token matches, that the im.message.receive_v1 event is subscribed, and that the app has been published
  • WeCom message decryption failed — Verify the EncodingAESKey (watch for extra spaces) and CorpID are correct
  • WhatsApp Webhook verification failed — Confirm the Verify Token matches and that the Webhook URL is reachable via GET

Best Practices

  • Always configure signature verification — For Webhook-type Gateways, always set a signing secret. For other types, ensure all credential fields are completely filled in
  • Use user allowlists — When a Bot should only serve specific users, configure an allowed users list
  • Restrict servers/channels — For platforms like Discord, configure allowed server IDs to limit the Bot’s operating scope
  • Test before going live — After creating a Gateway, verify message sending and receiving in a test channel first
  • Use Smart trigger mode — The default mode works well for most scenarios and avoids excessive interruptions in group chats
  • Disable instead of delete — For channels not currently needed, disable them rather than deleting them, making it easy to restore later
  • Use descriptive names — Include the purpose and platform, e.g., “Customer Support Slack Channel,” “Feishu - Engineering Group,” or “Webhook (Testing)”