GithubHelp home page GithubHelp logo

retrobot's Introduction

Retrobot

A retrospective bot for Slack (inspired by @PebbleKat's retrobot ๐Ÿ’™).

The bot will record retrospective feedback (via DMs) and then display in a group channel in a random order, allowing everyone to vote on "needs work" with a ๐Ÿ‘, after which a summary of the top 3 can be reported. All inside of Slack.

Prerequisites

Before creating the retrobot, you need to create a new Slack bot and record your API token. You can, if you like, also use the retrobot image as your avatar for your bot.

The quick way

You can use the Heroku button below, and add the API token for the bot you created earlier:

Deploy

Manual install and deploy

Using node 6, you can manually run the retrobot using the following commands:

$ git clone https://github.com/remy/retrobot.git
$ cd retrobot
$ npm install
$ npm start

The bot should then join your Slack group.

How to

In your retrospective channel (call it what you will), invite the retrobot and start the session:

> /invite @retrobot
> @retrobot: start
< ๐Ÿ”” Retrospective is now recording

Each participant in the channel the retrospective was start in, will receive a DM asking them for their retrospective feedback.

Items that "worked well" are prefixed with a +. Items that "need work" are prefixed with a -. For example, in a private DM session with the retrobot:

> + regular cake Friday
> - morning laps around the office when we arrive late

Items that don't start with the +/- prefix will be echoed back as ignored.

Once the retro is over, in the group channel stop the retrospective:

> @retrobot: stop

The retrobot will then print out a shuffled list of all the worked well, and needs work items. Each item can be voted on using then ๐Ÿ‘ emoji, and the group can use this to decide how to create action items out of the retrospective.

If you want a quick summary of the "needs work" items with the most ๐Ÿ‘ counts, run:

> @retrobot: summary

The retrobot will echo out the top 3 most ๐Ÿ‘'d items from the "needs work" list.

Auto ending the retrospective

You can set an auto-end for the retrospective using an argument to the start command. The supported shorthand is a number, then s for seconds, m for minutes. For example, the following will auto end the retrospective after 10 minutes:

> @retrobot start 10m
< ๐Ÿ”” Retrospective is now recording, and will auto end in 10m

Custom responses

If you want a little fun with the retrobot, you can set some simple responses to specific queries. The retrobot will read the environment for keys starting with SAY_ and use the use the value as an alias.

For example, if there is an environment value of SAY_HEY='Hey there yourself :wave:', then the retrobot can respond as such:

> @retrobot hey
< Hey there yourself ๐Ÿ‘‹

Everything after SAY_ is set to lowercase and only the first word relpied to the retrobot is used in the lookup.

If you're using Heroku CLI, then to add a new value, use the following:

$ heroku config:set SAY_HEY='Hey there yourself :wave'

Notes

  • Retrobot will not invite users who are away or have an active do not disturb mode enabled

retrobot's People

Contributors

adrukh avatar andredalcher avatar artursnyk avatar darscan avatar fauxfaux avatar joshje avatar karenyavine avatar remy avatar robcresswell avatar shaninja avatar snyk-bot avatar thisislawatts avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.