Slack (Socket Mode)

Use when you need to control Slack from OpenClaw via the message tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 52 · 0 current installs · 0 all-time installs
byYamini Chua@ailven
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, declared config path (channels.slack), and the SKILL.md actions (send, react, read, pin, member-info, etc.) are consistent with a Slack bot operating in Socket Mode. There are no unrelated binaries or environment variables requested.
Instruction Scope
SKILL.md stays within Slack operations (read/send/edit/delete messages, reactions, pins, list custom emoji, member-info). It explicitly returns potentially sensitive profile fields (email, timezone, profile status). The instructions do not direct data to external endpoints, but they do encourage periodic reads which could increase exposure of channel contents if used autonomously.
Install Mechanism
This is an instruction-only skill with no install spec and no code files beyond a benign package.json. Nothing will be downloaded or written during install by the skill itself.
Credentials
No environment variables are declared; the skill relies on the configured Slack bot token under channels.slack (declared required config path). That is proportionate, but the bot token must have scopes that permit reading messages and user profile/email data — these are sensitive capabilities that you should verify are necessary and limited to the correct workspace.
Persistence & Privilege
The skill does not request always:true and is user-invocable with normal autonomous invocation allowed. It does not attempt to modify other skills or system-wide settings.
Assessment
This skill appears to do what it says: control Slack via the bot token configured at channels.slack. Before installing, verify: (1) which bot token/config entry channels.slack points to and that it is scoped only as broadly as needed (chat:write, reactions:write, pins, channels:history or equivalent, users:read/users:read.email if member emails are exposed); (2) you are comfortable that the agent may read channel messages and user profile info (emails are sensitive); (3) you are okay with the agent performing periodic reads or autonomous actions if you enable automated runs. Because this is instruction-only (no install), installation risk is low, but token scope and privacy are the primary risks — restrict the bot to the minimum scopes and workspace channels required.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.1
Download zip
latestvk971at4h9afegcsnmqvv6yyv7583135y

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

💬 Clawdis
Configchannels.slack

SKILL.md

Slack Actions

Overview

Use the message tool with these actions to control Slack: send, react, reactions, read, edit, delete, download-file, pin, unpin, list-pins, member-info, emoji-list. The tool uses the bot token configured for OpenClaw.

Inputs to collect

  • channelId (e.g. C123) and messageId (Slack message timestamp, e.g. 1712023032.1234).
  • For reactions, an emoji (Unicode or :name:).
  • For message sends, a to target (channel:<id> like C123 or user mention <@U123>).

Message context lines include slack message id and channel fields you can reuse directly.


Actions

Action groups | Default | Notes

Action groupDefaultNotes
reactionsenabledReact + list reactions
messagesenabledRead/send/edit/delete
pinsenabledPin/unpin/list
memberInfoenabledMember info
emojiListenabledCustom emoji list

Common Patterns

Send a message to a channel

/message
action: send
channel: slack
to: C123
message: Hello @everyone!

Send a message to a specific user

/message
action: send
channel: slack
to: <@U123>
message: Hi there!

React to a message

/message
action: react
channelId: C123
messageId: 1712023032.1234
emoji: ✅

List reactions on a message

/message
action: reactions
channelId: C123
messageId: 1712023032.1234

Edit a message

/message
action: edit
channelId: C123
messageId: 1712023032.1234
message: Updated text

Delete a message

/message
action: delete
channelId: C123
messageId: 1712023032.1234

Read recent messages from a channel

/message
action: read
channelId: C123
limit: 20

Pin a message

/message
action: pin
channelId: C123
messageId: 1712023032.1234

Unpin a message

/message
action: unpin
channelId: C123
messageId: 1712023032.1234

List pinned messages in a channel

/message
action: list-pins
channelId: C123

Get member info by user ID

/message
action: member-info
userId: U123

Returns: real_name, display_name, email, avatar URLs, timezone, profile status, etc.

List custom emojis

/message
action: emoji-list

Tips & Gotchas

  1. Mention format: Use <@U...> instead of @Name to ensure Slack parses the mention correctly.
  2. Member lookup: If you don't know a user's ID, check recent message context or project board assignee fields. You can also use member-info once you have any guessable ID.
  3. DM policy: Direct messages require im:write scope and may need explicit pairing if your channel config is restrictive.
  4. Socket Mode vs Bot API: OpenClaw uses Socket Mode for real-time events; all write operations go through bot token scopes.

Ideas to try

  • React with ✅ to mark completed tasks.
  • Pin key decisions or weekly status updates.
  • Introduce yourself using <@UserID> to trigger notifications.
  • Monitor channel activity with periodic read calls.

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…