home / skills / openclaw / skills / slack

slack skill

/skills/steipete/slack

This skill helps you control Slack via the slack tool in Clawdbot, enabling reactions, messages, pins, and member info.

npx playbooks add skill openclaw/skills --skill slack

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
2.3 KB
---
name: slack
description: Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
---

# Slack Actions

## Overview

Use `slack` to react, manage pins, send/edit/delete messages, and fetch member info. The tool uses the bot token configured for Clawdbot.

## Inputs to collect

- `channelId` and `messageId` (Slack message timestamp, e.g. `1712023032.1234`).
- For reactions, an `emoji` (Unicode or `:name:`).
- For message sends, a `to` target (`channel:<id>` or `user:<id>`) and `content`.

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

## Actions

### Action groups

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

### React to a message

```json
{
  "action": "react",
  "channelId": "C123",
  "messageId": "1712023032.1234",
  "emoji": "✅"
}
```

### List reactions

```json
{
  "action": "reactions",
  "channelId": "C123",
  "messageId": "1712023032.1234"
}
```

### Send a message

```json
{
  "action": "sendMessage",
  "to": "channel:C123",
  "content": "Hello from Clawdbot"
}
```

### Edit a message

```json
{
  "action": "editMessage",
  "channelId": "C123",
  "messageId": "1712023032.1234",
  "content": "Updated text"
}
```

### Delete a message

```json
{
  "action": "deleteMessage",
  "channelId": "C123",
  "messageId": "1712023032.1234"
}
```

### Read recent messages

```json
{
  "action": "readMessages",
  "channelId": "C123",
  "limit": 20
}
```

### Pin a message

```json
{
  "action": "pinMessage",
  "channelId": "C123",
  "messageId": "1712023032.1234"
}
```

### Unpin a message

```json
{
  "action": "unpinMessage",
  "channelId": "C123",
  "messageId": "1712023032.1234"
}
```

### List pinned items

```json
{
  "action": "listPins",
  "channelId": "C123"
}
```

### Member info

```json
{
  "action": "memberInfo",
  "userId": "U123"
}
```

### Emoji list

```json
{
  "action": "emojiList"
}
```

## Ideas to try

- React with ✅ to mark completed tasks.
- Pin key decisions or weekly status updates.

Overview

This skill provides programmatic control of Slack via Clawdbot's slack tool. It lets you react to messages, manage pins, send/edit/delete messages, and retrieve member or emoji lists using the bot token configured for Clawdbot. Use it to automate common Slack workflows and surface message context for other automations.

How this skill works

The skill accepts structured action requests that specify an action (for example: react, sendMessage, pinMessage) and the required identifiers such as channelId, messageId (Slack timestamp), or userId. For sending messages you provide a target like channel:<id> or user:<id> and a content string. The tool calls Slack APIs via the bot token and returns results such as reaction lists, message read results, pinned items, member details, or emoji lists.

When to use it

  • Add or remove emoji reactions to mark progress or signal approvals.
  • Programmatically pin or unpin important messages for team visibility.
  • Send, edit, or delete messages from Clawdbot to channels or DMs.
  • Fetch recent messages or list pins for context-aware automations.
  • Look up member profiles or the workspace custom emoji catalog.

Best practices

  • Always supply channelId and messageId (timestamp) exactly as Slack provides to avoid errors.
  • Use clear emoji inputs (Unicode or :name:) when reacting to messages.
  • Limit readMessages with a sensible limit to avoid large payloads and rate limits.
  • Pin only high-value items and unpin when items become outdated to reduce clutter.
  • For edits and deletes, confirm ownership or permission scope before acting.

Example use cases

  • Mark completed tasks by reacting ✅ to task messages automatically.
  • Pin weekly status summaries in the team channel at the end of each meeting.
  • Auto-delete transient bot notifications after a time window to keep channels tidy.
  • Fetch recent messages and memberInfo to populate a meeting brief or audit log.
  • List workspace custom emoji to present reaction options in a UI.

FAQ

What identifiers do I need to act on a message?

You need channelId and messageId (Slack message timestamp like 1712023032.1234).

Can I use both Unicode and :name: emoji formats?

Yes. The skill accepts Unicode emoji or colon-wrapped names (for custom emoji use the :name: format).