Hubot is a fun (and useful) chat robot. It signs into your Slack, Hipchat, IRC channel, or Jabber chat room, and then awaits your command. Teaching Hubot new things is fairly easy by adding custom scripts. A robot tailored to your needs. What more could you want?

Hubot has a brain. The brain stores various state that is useful to keep around when Hubot is restarted (Hubot’s memories basically). Custom scripts can also store data in the brain so Hubot doesn’t forget about it. This is nice because you don’t have to worry about how to persist data for your custom Hubot command, just tell Hubot to remember it.

By default, Hubot will store its memories in Redis for safe-keeping (kind of like “The Ghost in the Shell”). Adding a different store is also fairly easy as it is just another custom script that responds to lifecycle events from Hubot to restore and periodically save its brain data.

Orchestrate-brain is a script that allows (well, teaches) Hubot to store the brain data in Orchestrate. With the memories safely in Orchestrate, you (and your Hubot) have one less thing to worry about. If you’re building custom Hubot scripts, it can also be educational to search the brain via the Orchestrate Dashboard.

Hubot is pretty fond of its memories. They’re very important, so Hubot tries to store its memories every 5 seconds or so. Most of the time, nothing has really changed, Hubot is just being overly paranoid (not unlike the ‘ctrl-s’ twitch many programmers seem to develop). The Orchestrate-brain will only send data to Orchestrate if something has changed, so it should not put a dent in your Orchestrate usage.