Or roll your own ...
An API explorer for Slack.
You can DM the bot.
Or invite it to a channel.
Post a message into a channel.
Local scripts and images use content-hashed asset_path URLs from rack-server-pages 0.3.0. The custom middleware applies slack-ruby-bot-server 2.3.0's config.server_pages callback, setting Cache-Control: private, no-cache for rendered pages so browsers revalidate and discover changed asset URLs. Static files retain the middleware's content ETags and timestamp validation defaults, without long-lived or immutable caching. Versioned URLs are cache keys, not archives; old query strings still serve current files.
Get help with api help.
All the commands of slack-ruby-client are supported. The output is JSON.
auth test
{
"ok": true,
"url": "https://dblockdotorg.slack.com/",
"team": "dblock",
"user": "api",
"team_id": "T04KB5WQH",
"user_id": "U0HPMN0GY"
}
You can pipe a JSON parser. See jsonpath for detailed syntax.
Your team ID.
auth test | $.team_id
[
"T04KB5WQH"
]
Names of all unarchived channels.
conversations list | $..[?(@.is_archived==false)].name
[
"demo",
"general",
"apiapi",
...
]
Find out the ID of the #general channel, the easy way.
conversations info --channel=#general
{
"ok": true,
"channel": {
"id": "C04KB5X4D",
...
}
}
Find out the ID of the #general channel, the hard way.
conversations list | $..[?(@.name=="general")].id
[
"C04KB5X4D"
]
Post a message into the #general channel.
chat postMessage --as_user=true --text="Hello World" --channel=#general
{
"ok": true,
"channel": "C034LSACD",
"ts": "1453588359.000006",
"message": {
"type": "message",
"user": "U0K28DFCY",
"text": "Hello World",
"ts": "1453588359.000006"
}
}
This bot is built with slack-ruby-bot. See CONTRIBUTING.
Copyright (c) 2016-2025, Daniel Doubrovkine, Vestris LLC, Artsy and Contributors.
This project is licensed under the MIT License.



