Skills slack
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.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ailven/slack-socket" ~/.claude/skills/clawdbot-skills-slack && rm -rf "$T"
manifest:
skills/ailven/slack-socket/SKILL.mdsource content
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
(e.g.channelId
) andC123
(Slack message timestamp, e.g.messageId
).1712023032.1234- For reactions, an
(Unicode oremoji
).:name: - For message sends, a
target (to
likechannel:<id>
or user mentionC123
).<@U123>
Message context lines include
slack message id and channel fields you can reuse directly.
Actions
Action groups | Default | Notes
| Action group | Default | Notes |
|---|---|---|
| reactions | enabled | React + list reactions |
| messages | enabled | Read/send/edit/delete |
| pins | enabled | Pin/unpin/list |
| memberInfo | enabled | Member info |
| emojiList | enabled | Custom 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
- Mention format: Use
instead of<@U...>
to ensure Slack parses the mention correctly.@Name - Member lookup: If you don't know a user's ID, check recent message context or project board assignee fields. You can also use
once you have any guessable ID.member-info - DM policy: Direct messages require
scope and may need explicit pairing if your channel config is restrictive.im:write - 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
to trigger notifications.<@UserID> - Monitor channel activity with periodic
calls.read