explaingit

hubotio/hubot

Analysis updated 2026-06-24

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

TLDR

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
Click or tap to explore — scroll the page freely

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

What do people build with it?

USE CASE 1

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

USE CASE 2

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

USE CASE 3

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

What is it built with?

JavaScriptNode.jsnpm

How does it compare?

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 get it running?

Difficulty · easy Time to first run · 30min

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

In plain English

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.

Copy-paste 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

What 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.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub hubotio on gitmyhub

Verify against the repo before relying on details.