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.md
source 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

  • 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.