Skip to content
Back to skills

Slack Extended

ASecurity

Upload files, manage canvases, and manage bookmarks in Slack. Use when you need to share files, create/edit canvases, or add/organize link bookmarks in Slack channels. Complements the core slack skill which handles messages, reactions, and pins.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
businesspythongobashreactapiperformance

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add johnalbertini14-glitch/openclaw-skills --skill slack-extended --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Slack Extended?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Slack Extended
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/johnalbertini14-glitch-slack-extended/badge)](https://www.skillsdirectory.com/skills/johnalbertini14-glitch-slack-extended)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: slack-extended
description: Upload files, manage canvases, and manage bookmarks in Slack. Use when you need to share files, create/edit canvases, or add/organize link bookmarks in Slack channels. Complements the core slack skill which handles messages, reactions, and pins.
metadata: { "openclaw": { "emoji": "πŸ“Ž", "requires": { "config": ["channels.slack"] }, "credentials": { "source": "~/.openclaw/openclaw.json", "keys": ["channels.slack.botToken"], "scopes": ["files:write", "canvases:write", "bookmarks:write", "bookmarks:read"] } } }
---

# Slack Extended

Extends the core `slack` skill with file uploads and canvas management. Uses Python scripts that call the Slack API directly with the bot token from `~/.openclaw/openclaw.json`.

**Requires OAuth scopes:** `files:write`, `canvases:write` (add at api.slack.com if missing).

## File Upload

Upload a local file to a Slack channel:

```bash
python3 /mnt/openclaw/skills/slack-extended/scripts/slack_file_upload.py \
  --channel C123ABC \
  --file /path/to/file.png \
  --title "Q4 Report" \
  --message "Here's the latest report"
```

**Arguments:**
- `--channel` (required): Channel ID to share the file in
- `--file` (required): Path to the local file
- `--title`: Display title (defaults to filename)
- `--message`: Comment posted with the file

Returns JSON with `file_id`, `permalink`, and `channel`.

**Common patterns:**
- Share a generated chart: `--file /tmp/chart.png --title "Performance Chart"`
- Share a text file: `--file ./notes.txt --title "Meeting Notes"`
- Share with context: `--message "Backtest results for GEM v2" --file results.csv`

## Canvas Operations

Manage Slack canvases (collaborative documents):

### Create a canvas

```bash
python3 /mnt/openclaw/skills/slack-extended/scripts/slack_canvas.py create \
  --title "Sprint Notes" \
  --markdown "## Goals\n- Ship feature X\n- Fix bug Y"
```

### Edit a canvas

Append content:
```bash
python3 /mnt/openclaw/skills/slack-extended/scripts/slack_canvas.py edit \
  --canvas-id F07ABCD1234 \
  --operation insert_at_end \
  --markdown "## Update\nNew section added"
```

Replace a section:
```bash
python3 /mnt/openclaw/skills/slack-extended/scripts/slack_canvas.py edit \
  --canvas-id F07ABCD1234 \
  --section-id temp:C:abc123 \
  --operation replace \
  --markdown "## Revised Section\nUpdated content"
```

**Operations:** `insert_at_start`, `insert_at_end`, `insert_after`, `replace`, `delete`

### Look up sections

```bash
python3 /mnt/openclaw/skills/slack-extended/scripts/slack_canvas.py sections \
  --canvas-id F07ABCD1234
```

### Delete a canvas

```bash
python3 /mnt/openclaw/skills/slack-extended/scripts/slack_canvas.py delete \
  --canvas-id F07ABCD1234
```

### Set access

```bash
python3 /mnt/openclaw/skills/slack-extended/scripts/slack_canvas.py access \
  --canvas-id F07ABCD1234 \
  --channel C123ABC \
  --level edit
```

## Canvas Markdown

Canvases support: bold, italic, strikethrough, headings (h1-h3), bulleted/ordered lists, checklists, code blocks, code spans, links, tables (max 300 cells), blockquotes, dividers, emojis.

**Mentions:** `![](@USER_ID)` for users, `![](#CHANNEL_ID)` for channels.

## Bookmarks

Manage link bookmarks in the bookmark bar at the top of Slack channels.

**Limitation:** Slack API only supports **link** bookmarks. Folders are a UI-only feature and cannot be created via the API.

**Requires OAuth scopes:** `bookmarks:write`, `bookmarks:read`

### List bookmarks

```bash
python3 /mnt/openclaw/skills/slack-extended/scripts/slack_bookmark.py list \
  --channel C123ABC
```

### Add a link bookmark

```bash
python3 /mnt/openclaw/skills/slack-extended/scripts/slack_bookmark.py add \
  --channel C123ABC \
  --title "Design Docs" \
  --link "https://example.com" \
  --emoji ":link:"
```

### Edit a bookmark

```bash
python3 /mnt/openclaw/skills/slack-extended/scripts/slack_bookmark.py edit \
  --channel C123ABC \
  --bookmark-id Bk123 \
  --title "New Title"
```

### Remove a bookmark

```bash
python3 /mnt/openclaw/skills/slack-extended/scripts/slack_bookmark.py remove \
  --channel C123ABC \
  --bookmark-id Bk123
```

## Troubleshooting

- **`missing_scope` error**: Add the required scope (`files:write` or `canvases:write`) at api.slack.com, then reinstall the app to the workspace.
- **`channel_not_found`**: Use the channel ID (e.g. `C07ABC123`), not the channel name.
- **`not_authed`**: Bot token may have changed. Check `~/.openclaw/openclaw.json`.
- **Canvas edit fails**: Look up sections first to get valid `section_id` values.
- **`missing_scope` for bookmarks**: Add `bookmarks:write` and `bookmarks:read` at api.slack.com, then reinstall.
- **Folders not supported**: Slack API does not support creating folders β€” only link bookmarks. Folders can only be created manually in the Slack UI.

Files in this skill

  • SKILL.md4.7 KB
  • _meta.json280 B
  • scripts/slack_bookmark.py5.6 KB
  • scripts/slack_canvas.py6.3 KB
  • scripts/slack_file_upload.py5.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in business β†’

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.