Skip to main content
What it does: Wraps the native moderation and management APIs of Discord, Telegram, Slack, and WhatsApp so agents can kick users, manage roles, pin messages, archive channels, change group settings, and more — all from inside a conversation. Who it’s for: Agents that need to act as moderators or admins in a chat platform. These tools require both Comis tool policy (typically the group:platform_actions group) AND the underlying bot permissions on the platform itself. Granting Comis access does not bypass platform permissions; the bot must already have the relevant capability (e.g., “Kick Members” on Discord, group-admin status on Telegram or WhatsApp).

Quick Reference

All platform action tools follow the same pattern: call the tool with an action parameter specifying what to do, plus any additional parameters that action requires. The action set per platform reflects what each platform’s bot/API actually exposes — Slack and WhatsApp do not have direct equivalents of Discord’s role system, for example, and Telegram’s API is the only one that exposes native polls.

Auth and bot permissions

Each tool reads its credentials from the same place its channel adapter does. There is no separate auth surface for platform actions — if your bot is connected and can send messages, it can attempt platform actions, subject to the bot’s own platform permissions. If a platform rejects the call (insufficient permission, missing scope, target not in scope), the tool returns a structured error with errorKind: "platform" and the platform’s error message. The action classifier also gates destructive actions (kick, ban, archive, channelDelete, group_leave) behind user confirmation via _confirmed: true.

Discord Actions

The discord_action tool provides actions for managing Discord servers, channels, threads, roles, and member moderation.
Pin a message to the current channel so it appears in the pinned messages list.
Remove a message from the pinned messages list.
Remove a member from the server. They can rejoin with a new invite.
Ban a member from the server. They cannot rejoin until unbanned.
Remove a ban, allowing the user to rejoin the server.
Assign a role to a server member.
Remove a role from a server member.
Update the topic text displayed at the top of a channel.
Set the slowmode interval for the channel. When enabled, members can only send one message per interval.
Retrieve information about the current Discord server, including name, member count, channels, and roles.
Retrieve information about the current channel, including name, topic, type, and permissions.
Create a new thread in the current channel. Optionally create it from an existing message.
List all threads in the current channel.
Send a message to a specific thread.
Create a new channel in the server.
Modify the settings of an existing channel.
Delete the current channel. This action is irreversible.
Channel deletion is permanent. All messages and history in the channel will be lost.
Move a channel to a different category in the server.
Update the bot’s online status and activity message.

Telegram Actions

The telegram_action tool provides actions for managing Telegram groups and channels.
Pin a message in the chat so it appears at the top.
Remove a pinned message.
Create a poll in the chat for members to vote on.
Send a sticker to the chat.
Retrieve information about the current chat, including name, type, and member count.
Get the number of members in the current chat.
List all administrators in the current chat with their permissions.
Change the title of the group or channel.
Update the description of the group or channel.
Ban a user from the chat. They cannot rejoin until unbanned.
Remove a ban, allowing the user to rejoin the chat.
Promote a user to administrator with specified permissions.

Slack Actions

The slack_action tool provides actions for managing Slack workspaces and channels.
Pin a message in the channel.
Remove a pinned message.
Update the channel topic displayed at the top of the channel.
Update the channel’s purpose description.
Archive a channel. Archived channels are read-only and hidden from the channel list.
Restore an archived channel to active status.
Create a new Slack channel.
Invite one or more users to join the current channel.
Remove a user from the current channel.
Retrieve detailed information about the current channel.
List all members of the current channel.
Add a bookmark link to the channel’s bookmarks bar.

WhatsApp Actions

The whatsapp_action tool provides actions for managing WhatsApp groups.
Retrieve information about the current WhatsApp group, including name, description, and participants.
Update the group name (subject).
Update the group description text.
Add new members to the group.
Remove members from the group.
Promote participants to group admin status.
Revoke admin status from participants, returning them to regular member status.
Change group-wide settings that control who can send messages and edit group info.
Update the bot’s WhatsApp profile status message.
Have the bot leave the current group. This action is irreversible — the bot must be re-invited to rejoin.
Leaving a group is permanent. The bot must be added back by a group admin to rejoin.

Permissions and Trust

Platform actions require appropriate bot permissions on each platform. For example:
  • Discord — Kick and ban require the bot to have the “Kick Members” and “Ban Members” permissions in the server settings. Role management requires “Manage Roles.”
  • Telegram — Ban, promote, and group management actions require the bot to be an administrator with the relevant permissions.
  • Slack — Channel management actions require appropriate bot scopes (like channels:manage, chat:write) configured in the Slack app settings.
  • WhatsApp — Group management actions require the bot to be a group admin.
Platform actions are part of the group:platform_actions tool group and can be restricted through Tool Policy. By default, they are available in the full profile but not in restricted profiles like minimal or coding.
If a platform action fails with a permissions error, check that your bot has the required permissions on that platform. The error message will typically indicate which permission is missing.

End-to-end example: auto-pin first message of the day

A community-management workflow: at the start of each day, the agent finds the first user message in a channel and pins it as a “today’s kickoff” anchor. This combines cron, the message tool’s fetch action, and a platform action pin call.
The agent registers a cron job:
When the cron fires, the agent runs:
The agent filters the fetched results client-side for the earliest message after the day boundary, then pins it:
If the bot lacks the “Manage Messages” permission, step 2 returns an error and the agent can post a notification asking the admin to grant the permission. For Telegram or Slack the same workflow swaps discord_action for telegram_action or slack_action — the action name pin is identical across all three.

Discord Setup

Set up and configure your Discord bot

Telegram Setup

Set up and configure your Telegram bot

Slack Setup

Set up and configure your Slack bot

WhatsApp Setup

Set up and configure your WhatsApp connection