Skip to content
Agentmart
Submit a tool

send-slack-message

Post a message to a Slack channel using a Slack bot token via the Slack Web API, and return a clickable permalink to the posted message.

Skill by prakhar1114

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/prakhar1114-send-slack-message

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Post a message to a Slack channel using a Slack bot token via the Slack Web API, and return a clickable permalink to the posted message. Use this whenever the user wants to send, post, or announce a message to a Slack channel through a bot, drop a notification into Slack, or push text to a Slack channel programmatically — even if they don't say "API". Takes a channel and message text; posts as the bot and returns the message link.

Use cases: backend, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/send-slack-message

What's inside

Skill name
send-slack-message
Description
Post a message to a Slack channel using a Slack bot token via the Slack Web API, and return a clickable permalink to the posted message. Use this whenever the user wants to send, post, or announce a message to a Slack channel through a bot, drop a notification into Slack, or push text to a Slack channel programmatically — even if they don't say "API". Takes a channel and message text; posts as the bot and returns the message link.
License
MIT
Instructions
73 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Instructions call the network

Files (7)

  • SKILL.md
  • credentials.template.json
  • inputs.example.json · inputs/
  • inputs.template.json · inputs/
  • fallback_plan.md · references/
  • run.sh
  • run.py · scripts/

SKILL.md (first lines)

# Send Slack Message (Bot)

Posts a message to a Slack channel as a bot and returns a clickable link to the
posted message. Uses the Slack Web API (`chat.postMessage` + `chat.getPermalink`)
over HTTPS — no browser or UI automation, so it is fast and reliable.

## Credentials

Requires a Slack bot token stored under service `slack`:
- `slack.bot_token` — a bot token (`xoxb-...`) with the **`chat:write`** scope
  (add **`chat:write.public`** too if the bot is not invited to the target
  channel). The installer is prompted to fill `credentials.template.json`.

## Inputs

Read from the JSON file passed via `--inputs-json`. See
`inputs/inputs.example.json` and `inputs/inputs.template.json`.

- `channel` (required) — channel name (e.g. `#general`) or channel ID (e.g. `C0BB39TU3AS`).
- `message` (required) — the text to post.

## Run

```bash
./run.sh inputs/inputs.example.json
# or
"$AI_MIME_PYTHON_PATH" scripts/run.py --inputs-json inputs/inputs.example.json
```

Runtime contract:
- `run.sh` uses the first available interpreter in this order: skill
  `.venv/bin/python`, workflow `.venv/bin/python`, then required
  `$AI_MIME_PYTHON_PATH`.
- No `requirements.txt` — the script uses only the Python standard library
  (`urllib`), so no `.venv` is required. Runtime does not create or repair a
  `.venv`.

## Outputs

On success, prints a one-line confirmation with the message link and emits a
`workflow_done` event whose `outputs` contain:
- `channel` — the channel input as provided.
- `channel_id` — the resolved Slack channel ID.
- `ts` — the posted message timestamp.
- `permalink` — clickable Slack link to the message (may be `null` if the
  permalink lookup fails, though the message is still posted).

## Progress log format

Structured JSON events are emitted on stderr:
- `{"event":"step_start","id":"<step_id>","title":"…"}`
- `{"event":"step_done","id":"<step_id>","outputs":{…},"summary":"…"}`
- `{"event":"step_failed","id":"<step_id>","error":"…","recoverable":false}`
- `{"event":"workflow_done","outputs":{…}}`

Step ids: `post_message`, `get_permalink`. Exits non-zero on `step_failed`.

## Fallback

If the API call fails, see `references/fallback_plan.md`. Common errors are
mapped to plain-language guidance in the script (`missing_scope`,
`not_in_channel`, `channel_not_found`, `invalid_auth`). The fallback covers
fixing scopes/membership and posting manually via the Slack app.

## ask_llm decision points

None. The task is fully deterministic — no `ask_llm` calls.

## References

- `references/fallback_plan.md` — recovery steps and Slack API error guidance.

From prakhar1114/ai_mime_marketplace, MIT.

More from prakhar1114/ai_mime_marketplace

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Jun 17, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from prakhar1114

Cite this page

send-slack-message skill. Agent Mart. https://agentmart.dev/skills/prakhar1114-send-slack-message (last updated 2026-10-24)