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

curl -s -H "Authorization: Bearer $(printenv 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:

curl -s -H "Authorization: Bearer $(printenv 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"
}
curl -s -X POST "https://slack.com/api/chat.postMessage" -H "Authorization: Bearer $(printenv 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"}
      ]
    }
  ]
}
curl -s -X POST "https://slack.com/api/chat.postMessage" -H "Authorization: Bearer $(printenv 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"
}
curl -s -X POST "https://slack.com/api/chat.postMessage" -H "Authorization: Bearer $(printenv 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"
}
curl -s -X POST "https://slack.com/api/chat.update" -H "Authorization: Bearer $(printenv 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>"
}
curl -s -X POST "https://slack.com/api/chat.delete" -H "Authorization: Bearer $(printenv SLACK_TOKEN)" -H "Content-Type: application/json" -d @/tmp/request.json

List Users

curl -s -H "Authorization: Bearer $(printenv 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:

curl -s -H "Authorization: Bearer $(printenv 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 $(printenv 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"
}
curl -s -X POST "https://slack.com/api/reactions.add" -H "Authorization: Bearer $(printenv 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
246-vm0-ai
General

apify

No summary provided by upstream source.

Repository SourceNeeds Review
214-vm0-ai
General

hackernews

No summary provided by upstream source.

Repository SourceNeeds Review
170-vm0-ai
General

serpapi

No summary provided by upstream source.

Repository SourceNeeds Review
164-vm0-ai