Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


1.0.0 • Public • Published

Hubot Meetbot Plugin

Version Downloads Build Status Dependency Status Coverage Status NPM

This plugin is a clone of the famous Debian Meetbot, for use of teams on slack.


In your hubot directory:

npm install hubot-meetbot --save

Then add hubot-meetbot to external-scripts.json


If you use hubot-auth, the plugin configuration commands will be restricted to user with the admin role.

If hubot-auth is not loaded, all users can access those commands. You can use those variables to tune things up a bit.

  • MEETBOT_NOAUTH - if defined, it will bypass the need to be admin to use the meetbot admin commands
  • MEETBOT_AUTH_GROUP - if defined it will permit group specified to use the meetbot admin commands
  • MEETBOT_TZ - will be used for displaying the output times and dates according to the timezone. If not set, it will use UTC.

It's also advised to use a brain persistence plugin, whatever it is, to persist ongoing meeting sessions between restarts.

Giltab storage

When meeting is over and closed, the minutes will be emitted as a meetbot.notes event. For my immediate needs I have added a gitlab process to create a MR with the minutes in there, but later on other processors could be added (github, etherpad, mail, etc). In order for the processor to be functional, those 3 env variables have to be set:

  • MEETBOT_GITLAB_URL (required)
  • MEETBOT_GITLAB_REPO (required)
  • MEETBOT_GITLAB_BRANCH (optional) default is master
  • MEETBOT_GITLAB_DATEFORMAT (optional) default is YYYY-MM-DD
  • MEETBOT_GITLAB_FILEPATH (optional) default is minutes/, the 2 arguments are MEETBOT_GITLAB_DATEFORMAT and meeting label

Note: the code is only going to work with the API v4 of gitlab, so Gitlab version needs to be > 9.0


The commands are loosely inspired from

Commands prefixed by . are here taking in account we use the . as hubot prefix, just replace it with your prefix if it is different.

    give the name of the ongoing meeting on the given channel
    or warns that there is no ongoing meeting at the moment

.meet start [<label>]
.meet on [<label>]
.startmeeting [<label>]
    starts a meeting with given <label> name
    if no label is provided, it will be named after the hour of start of the meeting
    perms: admin only

.meet end
.meet close
.meet off
    closes a meeting
    An event meetbot.notes will be triggered at the end of the meeting, 
    so you can code whatever you want to do with the meeting notes in your custom bot
    perms: admin only

.meet topic <topic>
    Sets the topic for the meeting
    perms: admin only

.meet agree info<text>
.agreed <text>
.agree <text>
    Mark something as agreed on. The rest of the line is the details

.meet info info<text>
.info <text>
    Add an INFO item to the minutes

.meet action <text>
.action <text>
    Add an ACTION item to the minutes

.meet link <text>
.link <text>
    Add an LINK item to the minutes

.meet show
    Displays the minutes without closing the meeting.
    Mostly for debug purposes.


npm install

# will run make test and coffeelint
npm test 

# or
make test

# or, for watch-mode
make test-w

# or for more documentation-style output
make test-spec

# and to generate coverage
make test-cov

# and to run the lint
make lint

# run the lint and the coverage


All changes are listed in the CHANGELOG


  • @mose - author and maintainer


This source code is available under MIT license.


Copyright (c) 2017 - Mose -


npm i hubot-meetbot

Downloadsweekly downloads








last publish


  • avatar