By 2011 GitHub's small team ran infrastructure from Campfire chat, and their bot had grown 'bigger and messier'. They rewrote it from scratch and open-sourced it as Hubot — a bot that ships code, fronts the CI server and makes ops commands visible to the whole company.
The idea
Put the tools in the chat room: a bot that deploys code, runs CI and pings the last deployer when errors spike — every action visible, auditable and open to all.
Hubot listens for commands like '/deploy my-feature'; engineers deploy from chat, and when exception rates spike the bot pings the last deployer with a link to the internal Haystack dashboard, implicitly assigning responsibility. It was open-sourced in 2011, and by 2020 GitHub still ran 120–150 production deploys a week through ChatOps, with canary rollouts and hundreds of pull requests batched per deploy.
Deployment at GitHub became a chat command anyone could run and everyone could see: the same number of weekly deploys now ships far more changes, rollbacks stayed low enough to build a 'culture of trust', and the term ChatOps spread across the industry as teams copied the pattern.
In 2011 GitHub was a small company running a very large service, and its team lived in Campfire chat. Their bot had grown 'bigger and messier', so they rewrote it from scratch and open-sourced it: Hubot, 'an amazing Campfire bot' that made them laugh, shipped their code, and served as the interface to their CI server.
The practice grew into what GitHub called ChatOps: engineers run '/deploy my-feature' in chat, and Hubot handles authentication, stages and canary rollouts. When exceptions spike after a deploy, Hubot pings the last deployer with a link to Haystack, GitHub's internal exception dashboard — 'the immediate benefit of this ping is that it implicitly sets a responsible party'.
By 2020 the pattern was mature: GitHub's deploy team described deployments initiated with 'a series of Hubot commands', running 120–150 production deploys a week for github.com, with more than 400 pull requests shipped in a single week, and enough trust in the process that rollbacks stayed low and developers could merge and move on.
It removed the bottleneck of 'who is allowed to touch production' — any engineer could deploy from chat, and the action was visible to the whole company.
The bot made responsibility implicit: the last deployer is pinged when errors spike, so problems find an owner instead of waiting for triage.
Because every command ran in a shared channel, deployment became auditable and teachable — new engineers learned ops by watching chat.
Open-sourcing Hubot turned an internal convenience into an industry pattern, popularizing the term ChatOps.
An internal tool wins when it lowers the social cost of action: putting ops in the chat made deploys visible, auditable and safe to delegate — the interface change is what changed the culture.
ChatOps became a widely copied practice, and Hubot grew into a community project with adapters for Slack, Discord and Teams. At GitHub the deploy pipeline kept evolving — IssueOps and GitHub Actions later built on the same idea — while the underlying principle, letting people run infrastructure from the tools they already share, stayed central to how GitHub ships.
FOLLOW THE EVIDENCE
The sources
- Say Hello to Hubot GitHub Blog · github.blog ·
- Exception Monitoring and Response GitHub Blog · github.blog ·
- DevOps best practices Q&A: Automated deployments at GitHub GitHub Blog · github.blog ·