Skip to content
CKAN integration for slack
Python Shell
Branch: master
Clone or download
This branch is 14 commits behind jesserobertson:master.

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.


CKAN integration for slack

What does it do?

Searches an arbitrary CKAN instance from slack for data. You just ask databot find <x> and databot does the rest.

Databot scrot

You can specify any CKAN endpoint with v3 of the CKAN API using on, so databot search cycling on will search the CKAN instance for cycling. Our default is because Australia needs to be first in something after our terrible Ashes performance this year.

How do I run it?

To run, you'll need Python 2, and pip

Just clone the repo, drop into the base folder and install the Python dependencies with pip install -r requirements.txt.

Then you should be good to go - you can run the Flask dev server with

python runserver

or use gunicorn to serve to the world:


Tell slack to push requests to databot to your IP address on port 5050 using the Outgoing Webhooks integration (see picture below)

Slack Outgoing Webhooks Integration Page

Contact & contributing

You can get in touch with me on twitter @jesserobertson.

Databot could be a bit cleverer about how it picks datasets to return - the goodness all happens inside app/ so feel free to have a play around and improve it.

I find that installing httpie is a good way to play with databot on your local machine - just do pip install httpie, then start up the dev server in the databot root directory with python runserver, and then you can do something like:

jess@host $ http post :5000 user_name=jess text="databot find cycling"
HTTP/1.0 200 OK
Content-Length: 464
Content-Type: application/json
Date: Fri, 07 Aug 2015 02:36:33 GMT
Server: Werkzeug/0.10.4 Python/2.7.10

    "text": "Thanks @jess. I found 50 results for cycling at, here's the top result:\nSouth Australian residents riding a bicycle in a typical week (it's a XLS file). Get it <|here>.\nWant more? Check out <|this link>."


You can’t perform that action at this time.