slack

Slack API for messages and channels. Use when user mentions "Slack", "slack.com", shares a Slack link, "send to Slack", "Slack channel", or asks about workspace.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "slack" with this command: npx skills add vm0-ai/vm0-skills/vm0-ai-vm0-skills-slack

Slack API

Send messages, read channels, and interact with Slack workspaces.

When to Use

  • Send messages to channels or users
  • Read channel message history
  • Upload files to Slack
  • List channels and users
  • Add reactions to messages

Prerequisites

Go to vm0.ai Settings → Connectors and connect Slack. vm0 will automatically inject the required SLACK_TOKEN environment variable.

Core APIs

List Channels

bash -c 'curl -s -H "Authorization: Bearer $SLACK_TOKEN" "https://slack.com/api/conversations.list?types=public_channel"' | jq '.channels[] | {id, name}'

Docs: https://docs.slack.dev/reference/methods/conversations.list

Get Channel History

Replace <channel-id> with the actual channel ID:

bash -c 'curl -s -H "Authorization: Bearer $SLACK_TOKEN" "https://slack.com/api/conversations.history?channel=<channel-id>&limit=10"' | jq '.messages[] | {ts, user, text}'

Docs: https://docs.slack.dev/reference/methods/conversations.history

Send Message

Write to /tmp/request.json:

{
  "channel": "<channel-id>",
  "text": "Hello, World"
}
bash -c 'curl -s -X POST "https://slack.com/api/chat.postMessage" -H "Authorization: Bearer $SLACK_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

Docs: https://docs.slack.dev/reference/methods/chat.postmessage

Send with Blocks

Write to /tmp/request.json:

{
  "channel": "<channel-id>",
  "text": "Notification",
  "blocks": [
    {
      "type": "section",
      "text": {"type": "mrkdwn", "text": "*Alert:* Something happened"}
    },
    {
      "type": "section",
      "fields": [
        {"type": "mrkdwn", "text": "*Status:*\nActive"},
        {"type": "mrkdwn", "text": "*Priority:*\nHigh"}
      ]
    }
  ]
}
bash -c 'curl -s -X POST "https://slack.com/api/chat.postMessage" -H "Authorization: Bearer $SLACK_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

Block Kit Builder: https://app.slack.com/block-kit-builder

Reply in Thread

Write to /tmp/request.json:

{
  "channel": "<channel-id>",
  "thread_ts": "<thread-timestamp>",
  "text": "Thread reply"
}
bash -c 'curl -s -X POST "https://slack.com/api/chat.postMessage" -H "Authorization: Bearer $SLACK_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

Update Message

Write to /tmp/request.json:

{
  "channel": "<channel-id>",
  "ts": "<message-timestamp>",
  "text": "Updated message"
}
bash -c 'curl -s -X POST "https://slack.com/api/chat.update" -H "Authorization: Bearer $SLACK_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

Docs: https://docs.slack.dev/reference/methods/chat.update

Delete Message

Write to /tmp/request.json:

{
  "channel": "<channel-id>",
  "ts": "<message-timestamp>"
}
bash -c 'curl -s -X POST "https://slack.com/api/chat.delete" -H "Authorization: Bearer $SLACK_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

List Users

bash -c 'curl -s -H "Authorization: Bearer $SLACK_TOKEN" "https://slack.com/api/users.list"' | jq '.members[] | {id, name, real_name}'

Docs: https://docs.slack.dev/reference/methods/users.list

Get User by Email

Replace <user-email> with the actual email address:

bash -c 'curl -s -H "Authorization: Bearer $SLACK_TOKEN" "https://slack.com/api/users.lookupByEmail?email=<user-email>"'

Docs: https://docs.slack.dev/reference/methods/users.lookupbyemail

Upload File

curl -s -X POST 'https://slack.com/api/files.upload' -H "Authorization: Bearer $SLACK_TOKEN" -F 'channels=C1234567890' -F 'file=@/path/to/file.txt' -F 'title=My File'

Docs: https://docs.slack.dev/reference/methods/files.upload

Add Reaction

Write to /tmp/request.json:

{
  "channel": "<channel-id>",
  "timestamp": "<message-timestamp>",
  "name": "thumbsup"
}
bash -c 'curl -s -X POST "https://slack.com/api/reactions.add" -H "Authorization: Bearer $SLACK_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

Docs: https://docs.slack.dev/reference/methods/reactions.add

Message Formatting

SyntaxResult
*bold*bold
_italic_italic
~strike~strike
`code`code
<URL|text>hyperlink
<@U123>@mention user
<#C123>#channel link

Rate Limits

  • Tier 1: 1 request/second
  • Tier 2: 20 requests/minute
  • Tier 3: 50 requests/minute
  • Tier 4: 100 requests/minute

See: https://docs.slack.dev/apis/web-api/rate-limits

API Reference

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

google-sheets

No summary provided by upstream source.

Repository SourceNeeds Review
-244
vm0-ai
General

apify

No summary provided by upstream source.

Repository SourceNeeds Review
-213
vm0-ai
General

hackernews

No summary provided by upstream source.

Repository SourceNeeds Review
-166
vm0-ai