gitwtfhub

wtf is hubot?

hubotio/hubot — explained in plain English

Analysis updated 2026-06-24

16,783JavaScriptAudience · ops devopsComplexity · 2/5Setup · easy

TL;DR

A Node.js framework for building custom chat bots that connect to Slack, Discord, or Teams and run scripted commands in your team chat.

Mindmap

mindmap
  root((Hubot))
    Inputs
      Chat messages
      Slash commands
      External API calls
    Outputs
      Chat replies
      Triggered actions
      Help listings
    Use Cases
      Automate team workflows
      Run deploys from chat
      Query systems from chat
    Tech Stack
      JavaScript
      Node.js
      npm

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Build a Slack bot that triggers production deploys when a teammate types a command

REASON 2

Add a chat command that opens tickets in your issue tracker with confirmation

REASON 3

Wire a bot to query a database and post the result back to the channel

What's in the stack?

JavaScriptNode.jsnpm

How it stacks up

hubotio/hubotgetify/functional-light-jsleaningtech/webvm
Stars16,78316,77316,810
LanguageJavaScriptJavaScriptJavaScript
Setup difficultyeasyeasymoderate
Complexity2/51/53/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 30min

Needs a Node.js environment and a chat service API token to connect the bot.

Wtf does this do

Hubot is a framework for building chat bots, automated programs that live in a chat platform and respond to messages or commands. Originally created at GitHub, Hubot connects to popular chat services like Slack, Discord, and Microsoft Teams, and lets you write custom scripts that define what the bot does when it hears certain messages. The framework is distributed as a JavaScript package via npm (Node.js's package manager). You generate a new bot project with a single command, specifying which chat service you want to connect to. You then write scripts, small JavaScript files, that tell the bot how to respond to messages, execute commands, call external APIs, or automate repetitive tasks. Hubot includes a command bus system, which is a structured way to register slash-style commands with named arguments, type validation, and confirmation steps for actions that have side effects (for example, a command that creates a ticket will ask the user to confirm before proceeding). Commands can have permission controls limiting which users or chat rooms can run them. A built-in help command automatically lists and documents all registered commands, making it easy for team members to discover what the bot can do. You would use Hubot to automate repetitive team workflows inside a chat tool, things like deploying software, creating tickets, querying databases, or running reports, all without leaving your chat window. It is written in JavaScript and runs on Node.js.

Yoink these prompts

Prompt 1
Generate a new Hubot project for Slack and walk me through writing my first respond handler
Prompt 2
Add a Hubot command that calls the GitHub API to open an issue when someone types !bug
Prompt 3
Show me how to use Hubot command bus with named arguments, type validation, and permission checks
Prompt 4
Deploy a Hubot bot to a small VPS with systemd and environment variables for the chat token

Frequently asked questions

wtf is hubot?

A Node.js framework for building custom chat bots that connect to Slack, Discord, or Teams and run scripted commands in your team chat.

What language is hubot written in?

Mainly JavaScript. The stack also includes JavaScript, Node.js, npm.

How hard is hubot to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is hubot for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.