Redashbot V2 is a open-source slack bot for Redash.
(This project was forked from hakobera/redashbot, but it is not maintained anymore. I have rewritten almost all of the code and published as v2.)
- Visualization(Chart) screenshot
- Dashboard screenshot
- Table result (NOT SCREENSHOT)
- Docker deployment
Serverless deployment- HTTP-based New Slack app (non-RTM style)
- Open source!
- Visualization
@botname <Query URL>#<Viz ID>
- e.g.
@redash https://your-redash-server.example.com/queries/1#2
- e.g.
- Dashboard
@botname <Dashboard URL>
- e.g.
@redash https://your-redash-server.example.com/dashboards/dashboard-name
- e.g.
- Table
@botname <Query URL>#table
- e.g.
@redash https://your-redash-server.example.com/queries/1#table
- e.g.
Create a Slack app and set environment variables SLACK_BOT_TOKEN
and SLACK_SIGNING_SECRET
.
On Event Subscription page, Request URL
will be https://<your-domain>/slack/events
.
Then, npm start
or docker run yamitzky/redashbot:main
to start. When you use Docker, do not forget to pass environment variable via -e
or .env
file.
You can use redashbot with /redash-capture [URL]
.
On Slash Command page of your app, click [Create New Command] and submit. Command
must be /redash-capture
and Request URL
will be https://<your-domain>/slack/events
.
You can use redashbot as a Workflow step.
On Interactivity & Shortcuts page of your app, enable Interactivity. Request URL
will be https://<your-domain>/slack/events
.
Then, move to Workflow Steps page, and click [Add Step] and submit. Callback ID
must be redash_capture
.
Slack's bot token.
Slack's sigining secret.
Redash's URL and its API Key.
Redash' URL accessible from the bot.
If you want to use multiple Redash at once, specify this variable like below
REDASH_HOSTS_AND_API_KEYS="http://redash1.example.com;TOKEN1,http://redash2.example.com;TOKEN2"
or if you need to specify REDASH_HOST_ALIAS for each Redash, like below
REDASH_HOSTS_AND_API_KEYS="http://redash1.example.com;http://redash1-alias.example.com;TOKEN1,http://redash2.example.com;TOKEN2"
Milliseconds to wait loading finished before capturing.
chromium
, firefox
or webkit
. default is chromium
Clone this repository, then
$ npm install
$ export REDASH_HOST=https://your-redash-server.example.com
$ export REDASH_API_KEY=your-redash-api-key
$ export SLACK_BOT_TOKEN=your-slack-bot-token
$ node index.js
Redashbot is just a node program.
npm start
Docker image is provided. Currently, latest
tag is used for v1(old), then you must use 2.0.0
or something like that.
docker run -it --rm -e SLACK_BOT_TOKEN=$SLACK_BOT_TOKEN -e SLACK_SIGNING_SECRET=$SLACK_SIGNING_SECRET -e REDASH_HOSTS_AND_API_KEYS=$REDASH_HOSTS_AND_API_KEYS -p 3000:3000 yamitzky/redashbot:2.0.0
docker-compose is also provided.
docker-compose up
You can easy to deploy redashbot to Heroku, just click following button.