You must enable javascript in order to use the Slack API Documentation. You can do this in your browser settings.
Go to Slack

Slack Developer Kits

The below official SDKs—Slack Developer Kits—are the best way to get started building on the Slack Platform, whether you are looking to integrate Slack into your existing back office, or build the next great business bot.

SDK Language/Framework Features
Slack Developer Kit for Node

Code your node.js Slack projects with this very comprehensive and caffeinated library.

Node.js
Slack Developer Kit for Python

Interface with nearly every Web API method. This Python library gets out of your way so you can focus on making requests and evaluating responses.

Python
Slack Developer Kit for Hubot

Connect Hubot to Slack and get started with ChatOps.

Hubot

Find other libraries, tutorials, and open source projects developed by Slack on github.com/slackapi

The Web API has an OpenAPI 2.0 specification. Follow changes to the Web API with our changelog and on GitHub.

Widely-used open source libraries

With hundreds of open source libraries, plugins, and apps covering more than a dozen languages and frameworks, it's tough to know where to begin. Here are some popular libraries supporting a wide range of Slack platform functionality.

Looking for hosting? We have suggestions!

Libraries, Plugins, and Sample Apps

If you've built your own Slack library, plugin, or open source app, please get in touch and we'll add it to this list.

Some of these integrations may be incomplete.

Jump to your favorite language: C, C#, C++, Clojure, CoffeeScript, Dart, Elixir, Erlang, Go, Groovy, Haskell, Java, JavaScript, Lua, Matlab, OCaml, PHP, Perl, PowerShell, Python, R, Ruby, Rust, Scala, Shell, Swift, Tcl, Zephir


C

C++

  • engine - A modern C++ library for building modern Slack-enabled applications
  • matterbot - A native Mattermost/Slack bot framework
  • slacking - C++11 library for communicating with the Slack Web API
  • SlackRtm - Primitive library to access the Slack RTM API

C#

  • Cake.Slack - Cake AddIn that extends Cake with Slack messaging features
  • CCNetSlackPublisher - Slack integration with CruiseControl.NET
  • Log4Slack - Simple, asynchronous Slack log4net appender
  • margiebot - A .NET library designed to make building bots for Slack fast, easy, and fun
  • mmbot - a C# port of hubot, with Slack support
  • noobot - An extensible Slack bot built for C#
  • Selenium-storage-provider - Post your Selenium screenshots to Slack
  • Slack-Contour - Umbraco Contour workflow item that allows you to post the form data to a Slack channel
  • slack-library-.net - Slack client library written in C#
  • Slack.Webhooks - Even simpler integration with Slack's Incoming / Outgoing webhooks
  • SlackAPI - Full Slack API library, including WebSockets
  • SlackCommander - Useful (?) Slash Commands and miscellaneous integrations for Slack
  • SlackConnector - A simple connector for the Slack API
  • SqlServerSlackAPI - A SQL Server CLR assembly for direct communication with Slack via TSQL
  • svn-slack-notifier - A simple app to send VisualSVN Server commit notifications to Slack
  • TfsNotificationRelay - A plugin for TFS 2013 that sends notifications to Slack
  • TSJ.Gemini.Slack - Posts issue changes to a channel in Slack
  • WooCode.Slack - Library for slacking with Slack.com in .Net
  • workfront-to-slack - Checks for updates from a workfront team and pushes them to a Slack channel

Clojure

  • clj-slack - Use Slack REST API from Clojure
  • clj-slack-client - A Clojure client for the Slack RTM and Web APIs
  • clj-slack-sql - Post SQL Statements results to Slack channels (JDBC)
  • lunch-bot - A Slack bot that manages group lunch activities
  • markov-chainz - A Markov chain bot written in Clojure
  • slack-bot - Clojure Heroku Bot
  • slack-hooks - Papertrail's collection of webhook receivers for Slack
  • slack.clj - Example of sending a message to Slack from Clojure
  • slacks - Deliver quotes to a Slack channel
  • veyeslack - Little Veye command-center for Slack

CoffeeScript

Dart

Elixir

  • elkarmo - Slack karma bot written in Elixir
  • slackex - Elixir Slack API Client

Erlang

  • slacker - Erlang Slack REST API wrapper

Go

  • amiando-slack - Push Amiando ticket sales to Slack
  • annona - A service for posting anonymous messages to a Slack channel
  • anonymous-slack - A service you can run on Heroku to send anonymous messages to colleagues
  • arriba - A Slack bot for asynchronous stand-ups
  • bot - IRC, Slack, and Telegram bot written in Go
  • circle2slack - Proxy CircleCI webhooks to Slack
  • enotify-slack - A tool to get event information and send it to Slack
  • Flippy - Flippy is a Slack webhook responder that flips tables and text
  • gdrive2slack - Frictionless integration between Google Drive and Slack
  • hal - A chat bot in Go
  • hanu - Go Framework for writing Slack bots
  • hipchat-notifications-to-slack - forward notifications from HipChat to Slack
  • marvin - Slack bot written in Go
  • phoenix - Pluggable bot for Slack
  • relax - Bots-as-a-Service for Slack
  • rmslack - Purge a slack channel of all messages
  • slack - Slack API in Go
  • slack_auth_proxy - A reverse proxy providing authentication via a slack.com team
  • slack-cli - A command tool to communicate with Slack
  • slack-fingerbumpbot - A bot for Slack that never leaves a finger bump hanging
  • go-slackjira - JIRA issue name expander for Slack
  • slack-markov - A markov chain bot for your Slack channel
  • slack-oldbot - A bot for Slack that politely reports when a link has been used before in the channel
  • slack-redmine-bot - Redmine issue name expander for Slack
  • slack-upvote - Slack voting integration
  • slackbot - A silly little slackhq robot
  • slackbot (II) - Framework for building Slash Commands for Slack
  • slackcat - Post messages to Slack from the command line
  • slacker-news - Slack integration that reports current news items
  • slackhook - Simple Go client for Slack's Incoming WebHook API
  • slackline - Create a Slack channel shared by two organizations
  • slackline-gae - Google App Engine app to share channels between Slack accounts
  • SlackMS - SMS your workspace channel in Slack
  • slackposter - Post a message to your Slack incoming webhook
  • slackrus - Slack hook for Logrus
  • slacktogo - Slack Integration Server for distributing channels between different Slack teams
  • slclogger - Simple Slack Client for logging written in Go
  • subtleist - Anonymously remind of subtle-isms and other Recurse Center social rules in Slack
  • webhook - Easily run commands in response to HTTP webhook requests from Slack

Groovy

  • slack-ozfindbiz - Outgoing WebHook Integration to search for Australian businesses and POIs

Haskell

  • hi5bot - Get and give high-fives on Slack
  • jpgtobot - jpg.to bot for Slack
  • slack - A Haskell client for the Slack web API

Java

JavaScript

Lua

  • breezBot - Air quality index bot for Slack using the breezometer API
  • Lua Slack - A Lua Slack API wrapper
  • lubot - Lua Chatbot running inside OpenResty
  • uberSlackBot - Get Uber price estimates directly in Slack

Matlab

  • SlackMatlab - Basic integration for Slack notifications for Matlab

OCaml

  • slacko - A neat interface for Slack

Perl

  • slack-integrations - Scripts to integrate Slack with subversion and nagios
  • slappyhour - A CGI script to bridge a channel between multiple Slack instances

PHP

PowerShell

Python

  • SURGE911bot - An emergency contact info bot to help remote employees in an emergency
  • asterisk-slack - Publishes Asterisk call information to Slack
  • butterfield - Python Slack bot framework using asyncio and Slack's RTM API
  • changetip-slack - ChangeTip Slack Tip bot
  • cleverme - A Slack app to communicate with Cleverbot
  • django-slack - Slack integration for Django, using the templating engine to generate messages
  • django-slack-oauth - Slack OAuth module for Django
  • ellie-slack - Eliza's younger, hipper, psychobabble-friendly successor as a Slackbot
  • err - A plugin-based chatbot designed to be easily deployable, extensible and maintainable
  • facebook-slack-integration - Receive a message in Slack from new Notifications and Messages received on Facebook.
  • flask-slack - Flask extension which makes it easy to interact with Slack Slash Commands
  • flask_slackbot - flask_slackbot helps you deal with slack outgoing webhooks
  • fs-slack - Silly slash command synthesis for Slack
  • gae-slack-bot - Python Slack bot example running on Google App Engine and subscribing to Slack events via Events API
  • gmail2slack - Send a Slack notification whenever a new gmail arrives
  • limbo - A simple, clean, easy-to-modify Slack chatbot
  • morgenbot - A standup bot for Slack
  • mqttwarn - Notify Slack from MQTT
  • openduty - An open source alerting and incident escalation tool
  • py-ssj - A slash command for JIRA server interactions
  • pyslack - Python API Wrapper
  • python-rtmbot - A Slack bot written in Python that connects to the RTM API
  • python-slack.com - Python classes for integrating with Slack
  • python-slackclient (pypi) - A basic client for Slack, which can optionally connect to the RTM API
  • reach-slack-rtm - Simple Slack RTM chat built with ReactJS and Django
  • relay - Bare-bones continuous integration using Docker Hub and Slack
  • rtfmbot - Because we're all tired of answering questions when people should clearly RTFM
  • scudcloud - Ubuntu client for Slack
  • slack - A simple and comprehensive Slack API client
  • slack-echo-chamber - Crosspost messages from one channel into another
  • slack-imgur - A random image from Imgur to Slack
  • slack-irc-bouncer - A slack RTM client that relays messages between an IRC bouncer and slack
  • slack-overflow - Search Stack Overflow right from within Slack
  • slack_standup_snitch - A Slack bot that counts the days each user was active on a channel, calling out the inactive users
  • slack-w3w - Slack Webhook for linking to What3Words
  • slack-zenoss - A Slack incoming webhook to show events from Zenoss
  • slackard - A bot for Slack
  • slackbot - A chat bot for Slack
  • slackbot-python - A Slack.com bot in Python integrated with Amazon SQS
  • slackbridge - Bridge Slack channels between companies
  • slackcmd - A Python script for piping output from the command line to a Slack channel
  • slackcraft - Slask based WoW bot for Slack
  • slacker - Slack API Wrapper for Python
  • slacker (II) - Python project to enable use of aa_macro.py within Slack channels
  • slacker-cli - Messages to slack from the command line
  • slackfred - Interact with Slack via Alfred
  • SlackLaTeXBot - LaTeX bot that responds to Slack slash commands
  • slackotron - A Slack bot customizable via plugins
  • slackpy - Slack client library for specific logging
  • slacksocket - Python interface to the Slack RTM API
  • slactorbot - A slack bot that uses lightweight actors and dynamic module imports for plugins
  • slappd - A Slack integration for Untappd
  • slouch - Lightweight Python framework for building cli-inspired Slack bots
  • socialbot - Bot that publises links from Slack to social networks
  • StackStorm Slack Pack - Pack which allows integration with Slack service.
  • stock-quote-slackbot - Slackbot that retrieves stock quotes from Yahoo Finance for a given ticker symbol
  • sublime-slack-integration - Post to Slack from Sublime Text 3
  • Summarize It! - Summarize It is a chat summarizer plugin for instant messaging applications built on top of Slack.
  • sync_slack - BitTorrent Sync sample integration
  • tracslack - Trac notifications for Slack
  • webhook-bridge - micro-service to convert webhook POST formats including Slack
  • wee-slack - A WeeChat plugin for Slack

R

  • slackr - A package to send webhook API messages to Slack channels/users from R

Ruby

Rust

  • rust-slack - A rust crate for sending messages to Slack via webhooks.

Scala

  • slack-client - An library released by Kifi, supporting Slack app authentication, incoming webhooks, and the web API
  • scala-slack - A Slack client for Scala
  • sslack - Search Slack by ElasticSearch
  • slack-scala-client - A Scala Slack client for the Web and RTM API

Shell

Swift

  • SlackKit - Slack client library for iOS and OS X written in Swift

Tcl

Zephir

  • zephlack - Slack Messaging extension written in Zephir

Other Services & Tools

This is a list of bots, plugins, and other tools that are available to work in conjunction with third-party services and tools.

Estimote Beacons

These open source repositories can be used to integrate with Estimote beacons.

Wordpress

Other tools

  • Atlassian Stash - Send notifications to a Slack channel when a repo push occurs
  • Looker - The Lookerbot for Slack makes it easy to bring data from Looker into every Slack conversation
  • slack (Drupal) - Send messages from a Drupal website to Slack
  • slack-chat (Drupal) - Allow your visitors to send instant messages from your website to your Slack account
  • Slack Message Builder - A tool for previewing how JSON payloads translate to Slack messages
  • stdlib - A suite of tools helping you rapidly build serverless Slack bots.
  • steno - A Slack app testing companion: record and replay your incoming & outgoing HTTP requests