Files
openclaw-workspace/skills/api-gateway/references/slack.md
2026-04-11 09:45:12 -05:00

3.8 KiB

Slack Routing Reference

App name: slack Base URL proxied: slack.com

API Path Pattern

/slack/api/{method}

Common Endpoints

Post Message

POST /slack/api/chat.postMessage
Content-Type: application/json

{
  "channel": "C0123456789",
  "text": "Hello, world!"
}

With blocks:

POST /slack/api/chat.postMessage
Content-Type: application/json

{
  "channel": "C0123456789",
  "blocks": [
    {"type": "section", "text": {"type": "mrkdwn", "text": "*Bold* and _italic_"}}
  ]
}

List Channels

GET /slack/api/conversations.list?types=public_channel,private_channel

Get Channel Info

GET /slack/api/conversations.info?channel=C0123456789

List Messages in Channel

GET /slack/api/conversations.history?channel=C0123456789&limit=100

Get Thread Replies

GET /slack/api/conversations.replies?channel=C0123456789&ts=1234567890.123456

List Users

GET /slack/api/users.list

Get User Info

GET /slack/api/users.info?user=U0123456789

Search Messages

GET /slack/api/search.messages?query=keyword

Upload File

POST /slack/api/files.upload
Content-Type: multipart/form-data

channels=C0123456789
content=file content here
filename=example.txt

Add Reaction

POST /slack/api/reactions.add
Content-Type: application/json

{
  "channel": "C0123456789",
  "name": "thumbsup",
  "timestamp": "1234567890.123456"
}

Update Message

POST /slack/api/chat.update
Content-Type: application/json

{
  "channel": "C0123456789",
  "ts": "1234567890.123456",
  "text": "Updated message"
}

Delete Message

POST /slack/api/chat.delete
Content-Type: application/json

{
  "channel": "C0123456789",
  "ts": "1234567890.123456"
}

Post Thread Reply

POST /slack/api/chat.postMessage
Content-Type: application/json

{
  "channel": "C0123456789",
  "thread_ts": "1234567890.123456",
  "text": "This is a reply in a thread"
}

Get Channel Members

GET /slack/api/conversations.members?channel=C0123456789&limit=100

Open DM Conversation

POST /slack/api/conversations.open
Content-Type: application/json

{
  "users": "U0123456789"
}

Auth Test (get current user/team)

GET /slack/api/auth.test

Notes

  • Authentication is automatic - the router uses the user's OAuth access token
  • Channel IDs start with C (public), G (private/group), or D (DM)
  • User IDs start with U, Team IDs start with T
  • Message timestamps (ts) are used as unique identifiers
  • Use mrkdwn type for Slack-flavored markdown formatting
  • Thread replies use thread_ts to reference the parent message

Resources