# Awesome ChatOps [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

A collection of awesome things about [ChatOps](https://www.pagerduty.com/blog/what-is-chatops/).

ChatOps is a collaboration model that helps to connect people, process, tools, and automation into a transparent workflow (conversation-driven development).
So it allows to automate tasks and collaborate, encourages teams to be transparent, working better, cheaper and faster.

If you want to contribute, please read [CONTRIBUTING.md](./CONTRIBUTING.md).

## Contents

* [Articles](#articles)
* [Videos](#videos)
* [Books](#books)
* [Events](#events)
* [Podcasts](#podcasts)
* [Resources](#resources)
* [Services](#services)
* [Frameworks and libraries](#frameworks-and-libraries)

## Articles

* [So, What is ChatOps? And How do I Get Started?](https://www.pagerduty.com/blog/what-is-chatops/) – ChatOps concepts and tools.
* [What is ChatOps? A guide to its evolution, adoption, and significance](http://blogs.atlassian.com/2016/01/what-is-chatops-adoption-guide/) – ChatOps and its adoption by HipChat Evangelist.
* [How ChatOps can revolutionize your business](http://www.infoworld.com/article/3062703/devops/how-chatops-can-revolutionize-your-business.html) – Benefits of using ChatOps, tools, current trend and the future.
* [8 Reasons Why ChatOps Isn't Working At Your Company](https://orangematter.solarwinds.com/2015/12/16/8-reasons-why-chatops-isnt-working-at-your-company/) – The insight on why ChatOps might not be optimized at your company, and some advice how to make it work.
* [When ChatOps Goes From Cool to Critical](https://web.archive.org/web/20180323063754/http://blog.librato.com/posts/chatops-critical) – Some considerations of ChatOps at Librato.
* [Better Living Through ChatOps](https://medium.com/ibm-garage/better-living-through-chatops-df66872893e7) - The benefits ChatOps offers in managing a virtual war room.
* [Making a Virtual War Room — the Journey to ChatOps](https://medium.com/ibm-garage/making-a-virtual-war-room-the-journey-to-chatops-eaaecd83873c) - Creating a virtual war room, step by step.

## Videos

* [ChatOps at GitHub](https://www.youtube.com/watch?v=NST3u-GjjFw) + [slides](https://speakerdeck.com/jnewland/chatops-at-github) – The first public talk on the subject by Jesse Newland.
* [ChatOps: Technology and Philosophy](https://www.youtube.com/watch?v=IhzxnY7FIvg) – James Fryman of Stackstorm about the philosophy, best practices for implementing and maintaining ChatOps.
* [The Rise of ChatOps](https://www.youtube.com/watch?v=6D5HgI4IH10) + [slides](https://speakerdeck.com/jimmycuadra/the-rise-of-chatops) – From the first ChatOps San Francisco meetup by Jimmy Cuadra.
* [ChatOps: Augmented Reality for Ops](https://www.youtube.com/watch?v=pCVvYCjvoZI) – How Github use chat to improve situational awareness during incidents, to share knowledge, to coordinate activities, and much more.
* [Living in the Future with ChatOps](https://www.youtube.com/watch?v=Heo5YtRikds) + [slides](https://speakerdeck.com/esigler/living-in-the-future-with-chatops) – A quick summary of PagerDuty's ChatOps journey by Eric Sigler.
* [Incident Management from the Future](https://www.youtube.com/watch?v=vFkfMn2P8ysA) + [slides](https://cloud.app.box.com/s/xm8ni5b61iyuk0nclq7jcvtkhkzcepdx) – How Michael Ansel manages incidents via chat at Box.
* [ChatOps San Francisco YouTube Channel](https://www.youtube.com/channel/UCAvvR4g9fodNAS61Ep_XnMg) – More videos from each meetup.
* [Installing Hubot on Windows with PowerShell DSC](https://www.youtube.com/watch?v=Gh-vYprIo7c) - Using the Hubot PowerShell Desired State Configuration (DSC) resource to install Hubot on Windows.
* [Embrace ChatOps, stop installing deployment software](https://www.youtube.com/watch?v=SZ3UfwBACIo) + [slides](http://www.slideshare.net/geshan/embrace-chatops-stop-installing-deployment-software-larcon-eu-2016) - A talk from Laracon EU 2016 about how to leverage ChatOps for automated deployment using Hubot.
* [ChatOps with PowerShell and Errbot](https://www.youtube.com/watch?v=XIMOFnfdOx0) - A talk from PowerShell Conference Europe 2017 about how get started with Errbot on Windows with PowerShell.
* [ChatOps with PoshBot and PowerShell](https://www.youtube.com/watch?v=36fkyKYq43c) - An overview of PoshBot, a PowerShell-based bot framework at the Portland PowerShell user group.

## Books

* [ChatOps For Dummies](https://victorops.com/chatops-for-dummies/) – A high-level guide to understanding the origins of the practice, the benefits and tools needed to get started.
* [ChatOps – Managing Operations in Group Chat](https://victorops.com/knowledge-drop/devops-docs/chatops-managing-operations-group-chat/) – The key ChatOps concepts and technologies by Jason Hand.
* [Automation and Monitoring with Hubot](https://leanpub.com/automation-and-monitoring-with-hubot) - An e-book that walks you through building a Hubot driven ChatOps implementation.

## Events

* [ChatOps San Francisco](http://www.meetup.com/ChatOps-San-Francisco/) – Discussion and collaboration on all aspects of ChatOps including tools, security, and methodology.

## Podcasts

* [ChatOps Extravaganza With Jason Hand, Sasha Rosenbaum, And Peter Burkholder](https://www.arresteddevops.com/chatops/) – An episode about best practices of ChatOps.
* [ChatOps with Jason Hand](http://softwareengineeringdaily.com/2016/11/02/chatops-with-jason-hand/) - An episode about ChatOps in general.

## Resources

* [/r/chatops](https://www.reddit.com/r/chatops/) – Subreddit with articles and discussion.

## Services

* [Abbot](https://ab.bot) – a hosted bot, extendible in C#, Python, and JavaScript. Integrates with Slack and Discord.
* [AWS ChatBot](https://aws.amazon.com/chatbot/) - an interactive agent to monitor and interact with AWS resources in Slack.
* [marbot](https://marbot.io/) - configure AWS monitoring, receive alerts, and solve incidents in Slack or Microsoft Teams.

## Frameworks and libraries

These open source projects will help you to build a bot to automate your company chat depending on the platform.

* [AIM](#aim)
* [Campfire](#campfire)
* [ChatWork](#chatwork)
* [Dasher](#dasher)
* [Discord](#discord)
* [Facebook Messenger](#facebook-messenger)
* [Fleep](#fleep)
* [Flowdock](#flowdock)
* [Gitter](#gitter)
* [HipChat](#hipchat)
* [Idobata](#idobata)
* [iMessage](#imessage)
* [IRC](#irc)
* [Jabbr](#jabbr)
* [Let's chat](#lets-chat)
* [Lingr](#lingr)
* [Matrix](#matrix)
* [Mattermost](#mattermost)
* [Partychat](#partychat)
* [QQ](#qq)
* [Rocket.Chat](#rocketchat)
* [Skype](#skype)
* [Skyweb](#skyweb)
* [Slack](#slack)
* [Spark](#spark)
* [Talker](#talker)
* [Telegram](#telegram)
* [Tox](#tox)
* [Twilio](#twilio)
* [Twitter](#twitter)
* [Typetalk](#typetalk)
* [VictorOps](#victorops)
* [Visual Studio Online](#visual-studio-online)
* [Vkontakte](#vkontakte)
* [WeChat](#wechat)
* [XMPP / Jabber](#xmpp--jabber)
* [Yammer](#yammer)
* [Zulip](#zulip)

### AIM

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/shaundubuque/hubot-aim) (CoffeeScript, Node.js)

### Campfire

* [Errbot](http://errbot.io/) + [adapter](https://github.com/errbotio/err-backend-campfire) (Python)
* [Hal](https://hal.readthedocs.io/) + [adapter](https://hal.readthedocs.io/en/latest/adapters/campfire.html) (Go)
* [Hubot](https://hubot.github.com/) + [adapter](https://hubot.github.com/docs/adapters/campfire/) (CoffeeScript, Node.js)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/josacar/lita-campfire) (Ruby)

### ChatWork

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/akiomik/hubot-chatwork) (CoffeeScript, Node.js)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/tokada/lita-chatwork) (Ruby)

### Dasher

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/nebulist/hubot-dasher) (CoffeeScript, Node.js)

### Discord

* [Discordrb](https://github.com/meew0/discordrb) (Ruby)
* [Errbot](http://errbot.io/) + [adapter](https://github.com/gbin/err-backend-discord) (Python)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/kyleboe/lita-discord) (Ruby)

### Facebook Messenger

* [Botkit](https://github.com/howdyai/botkit) (JavaScript, Node.js)
* [FacebookMessenger](https://github.com/hyperoslo/facebook-messenger) (Ruby)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/ClaudeBot/hubot-messenger-bot) (CoffeeScript, Node.js)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/ASoftCo/lita-facebook) (Ruby)
* [Opsdroid](https://opsdroid.github.io/) + [connector](https://github.com/opsdroid/connector-facebook) (Python)

### Fleep

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/anroots/hubot-fleep) (CoffeeScript, Node.js)

### Flowdock

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/flowdock/hubot-flowdock) (CoffeeScript, Node.js)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/bhouse/lita-flowdock) (Ruby)

### Gitter

* [Errbot](http://errbot.io/) + [adapter](https://github.com/errbotio/err-backend-gitter) (Python)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/huafu/hubot-gitter2) (CoffeeScript, Node.js)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/braiden-vasco/lita-gitter) (Ruby)

### HipChat

* [Cog](https://operable.io/) (Any language)
* [Errbot](http://errbot.io/) (Python)
* [Hal](https://hal.readthedocs.io/) + [adapter](https://hal.readthedocs.io/en/latest/adapters/hipchat.html) (Go)
* [Hipbot](https://github.com/pewniak747/hipbot) (Ruby)
* [Hipchat](https://github.com/daneharrigan/hipchat) via XMPP (Go)
* [Hipchat-go](https://github.com/tbruyelle/hipchat-go) via HipChat API v2 (Go)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/hipchat/hubot-hipchat) (CoffeeScript, Node.js)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/litaio/lita-hipchat) (Ruby)
* [Will](https://skoczen.github.io/will/) (Python)

### Idobata

* [Lita](https://www.lita.io/) + [adapter](https://github.com/fukayatsu/lita-idobata) (Ruby)

### iMessage

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/lazerwalker/hubot-imessage) (CoffeeScript, Node.js)

### IRC

* [Cinch](https://github.com/cinchrb/cinch) (Ruby)
* [Errbot](http://errbot.io/) (Python)
* [Hal](https://hal.readthedocs.io/) + [adapter](https://hal.readthedocs.io/en/latest/adapters/irc.html) (Go)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/nandub/hubot-irc) (CoffeeScript, Node.js)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/litaio/lita-irc) (Ruby)
* [PagerBot](https://github.com/stripe-contrib/pagerbot) (Ruby)
* [Yetibot](https://github.com/yetibot/yetibot) (Clojure)

### Jabbr

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/smoak/hubot-jabbr) (CoffeeScript, Node.js)

### Let's chat

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/sdelements/hubot-lets-chat) (CoffeeScript, Node.js)

### Lingr

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/miyagawa/hubot-lingr) (CoffeeScript, Node.js)

### Matrix

* [Opsdroid](https://opsdroid.github.io/) + [connector](https://github.com/opsdroid/connector-matrix) (Python)

### Mattermost

* [Errbot](http://errbot.io) + [adapter](https://github.com/Vaelor/errbot-mattermost-backend) (Python)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/renanvicente/hubot-mattermost) (CoffeeScript, Node.js)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/loafoe/hubot-matteruser) via Websockets (CoffeeScript, Node.js)

### Partychat

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/iangreenleaf/hubot-partychat-hooks) (CoffeeScript, Node.js)

### QQ

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/xhan/qqbot) (CoffeeScript, Node.js)

### Rocket.Chat

* [Errbot](http://errbot.io) + [adapter](https://github.com/AoiKuiyuyou/AoikRocketChatErrbot) (Python)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/RocketChat/hubot-rocketchat) (CoffeeScript, Node.js)
* [Opsdroid](https://opsdroid.github.io/) + [connector](https://docs.opsdroid.dev/en/stable/connectors/rocketchat.html) (Python)

### Skype

* [Errbot](http://errbot.io/) + [adapter](https://github.com/errbotio/errbot-backend-skype) (Python)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/netpro2k/hubot-skype) (CoffeeScript, Node.js)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/sdimkov/hubot-skype-web) via Web (CoffeeScript, Node.js)

### Skyweb

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/EllisV/hubot-skyweb) (CoffeeScript, Node.js)

### Slack

* [Botkit](https://github.com/howdyai/botkit) (JavaScript, Node.js)
* [Bolt](https://slack.dev/bolt/concepts) (JavaScript, Node.js)
* [Cog](https://operable.io/) (Any language)
* [Elixir-Slack](https://github.com/BlakeWilliams/Elixir-Slack) (Elixir)
* [Errbot](http://errbot.io/) (Python)
* [Gort](https://guide.getgort.io/) (Any language)
* [Hal](https://hal.readthedocs.io/) + [adapter](https://hal.readthedocs.io/en/latest/adapters/slack.html) (Go)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/slackhq/hubot-slack) (CoffeeScript, Node.js)
* [Jubot](https://github.com/liquidz/jubot) (Clojure)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/litaio/lita-slack) (Ruby)
* [Multivac](https://github.com/vektorlab/multivac) (Python, Docker)
* [Opsdroid](https://opsdroid.github.io/) + [connector](https://github.com/opsdroid/connector-slack) (Python)
* [PagerBot](https://github.com/stripe-contrib/pagerbot) (Ruby)
* [PoshBot](https://github.com/poshbotio/PoshBot) (PowerShell)
* [Slack-Ruby-Bot](https://github.com/dblock/slack-ruby-bot) (Ruby)
* [Slackbotsy](https://github.com/rlister/slackbotsy) (Ruby)
* [Slacker](https://github.com/koudelka/slacker) (Elixir)
* [Yetibot](https://github.com/yetibot/yetibot) (Clojure)

### Spark

* [Opsdroid](https://opsdroid.github.io/) + [connector](https://github.com/opsdroid/connector-ciscospark) (Python)

### Talker

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/unixcharles/hubot-talker) (CoffeeScript, Node.js)

### Telegram

* [Errbot](http://errbot.io/) (Python)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/lukefx/hubot-telegram) (CoffeeScript, Node.js)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/wonderbread/lita-telegram) (Ruby)
* [Opsdroid](https://opsdroid.github.io/) + [connector](https://github.com/opsdroid/connector-telegram) (Python)
* [Telegram-bot-ruby](https://github.com/atipugin/telegram-bot-ruby) (Ruby)
* [TelegramBot](https://github.com/hangyas/TelegramBot) (Crystal)
* [TelegramBot](https://github.com/eljojo/telegram_bot) (Ruby)

### Tox

* [Errbot](http://errbot.io/) + [adapter](https://github.com/errbotio/err-backend-tox) (Python)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/braiden-vasco/lita-tox) (Ruby)

### Twilio

* [Botkit](https://github.com/howdyai/botkit) via IP Messaging (JavaScript, Node.js)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/philnash/hubot-twilio-ip-messaging) via IP Messaging (CoffeeScript, Node.js)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/jkarmel/hubot-twilio) via SMS (CoffeeScript, Node.js)

### Twitter

* [Chatterbot](https://muffinista.github.io/chatterbot/) (Ruby)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/MathildeLemee/hubot-twitter) (CoffeeScript, Node.js)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/fukayatsu/lita-twitter) (Ruby)
* [Opsdroid](https://opsdroid.github.io/) + [connector](https://github.com/opsdroid/connector-twitter) (Python)

### Typetalk

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/nulab/hubot-typetalk) (CoffeeScript, Node.js)

### VictorOps

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/victorops/hubot-victorops) (CoffeeScript, Node.js)

### Visual Studio Online

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/scrumdod/hubot-VSOnline) (CoffeeScript, Node.js)

### Vkontakte

* [Errbot](http://errbot.io) + [adapter](https://github.com/Ax3Effect/errbot-vk) (Python)
* [Lita](https://www.lita.io/) + [adapter](https://github.com/braiden-vasco/lita-vkontakte) (Ruby)

### WeChat

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/KasperDeng/Hubot-WeChat) (CoffeeScript, Node.js)

### XMPP / Jabber

* [Errbot](http://errbot.io/) (Python)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/markstory/hubot-xmpp) (CoffeeScript, Node.js)
* [Jabberjay](https://github.com/vbauer/jabberjay) (Clojure)

### Yammer

* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/athieriot/hubot-yammer) (CoffeeScript, Node.js)

### Zulip

* [Errbot](http://errbot.io/) + [adapter](https://github.com/zulip/errbot-backend-zulip) (Python)
* [Hubot](https://hubot.github.com/) + [adapter](https://github.com/zulip/hubot-zulip) (CoffeeScript, Node.js)

---

## License

[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)
