by Wiredcraft



A little server that enables public access to a Slack server. Like Freenode, but on Slack.

It provides

  • A landing page you can point users to fill in their emails and receive an invite (
  • An <iframe> badge to embed on any website that shows connected users in realtime with
  • A SVG badge that works well from static mediums (like GitHub README pages)

How to use



Or install it and launch it on your sever:

$ npm install -g slackin
$ slackin "your-slack-subdomain" "your-slack-token"

You can find your API token at

The available options are:

Usage: slackin [options] <slack-subdomain> <api-token>


  -h, --help            output usage information
  -V, --version         output the version number
  -p, --port <port>     Port to listen on [$PORT or 3000]
  -c, --channel <chan>  Single channel guest invite [$SLACK_CHANNEL]
  -i, --interval <int>  How frequently (ms) to poll Slack [$SLACK_INTERVAL or 1000]
  -s, --silent          Do not print out warns or errors

Realtime Badge

<script async defer src=""></script>

or for the large version, append ?large:

<script async defer src=""></script>


<img src="">

Landing page

Point to

Note: the image for the logo of the landing page is retrieved from the Slack API. If your organization doesn't have one configured, it won't be shown.


Requiring slackin as a module will return a Function that creates a HTTP.Server instance that you can manipulate.

  token: 'yourtoken', // required
  interval: 1000,
  org: 'your-slack-subdomain', // required
  channel: 'channel' // for single channel mode,
  silent: false // suppresses warnings

This will show response times from Slack and how many online users you have on the console.

By default logging is enabled.


  • The SVG badge generation was taken from the excellent shields project.
  • The button CSS is based on github-buttons.