The Culture Network - Build Slackbot Challenge

Register
Submit a solution
The challenge is finished.

Challenge Overview

Note - Please see the PDF version of the spec in the challenge forums as the challenge page does not seem to be rendering the images provided.

Overview

 

Welcome to the Culture Network Slackbot challenge. The Culture Network is an app that gives organizations a way to teach their people the bite­-sized behaviors that, when added together, build culture change from the bottom up.  The proposed bot will be built using node.js and hosted on Heroku.

 

The app can be hierarchically viewed as having the following entities:-

 

Course -> Episode -> Scenario & Discussions

  

Each Course is made up of a series of episodes, each of which immerses users in realistic scenarios built around a dilemma that forces them to choose how to act. Users first make their choice individually; then discuss the dilemma with colleagues; then hear the advice of a coach; then wrap up by practicing the approach they’ve learned in a new micro­ scenario.

When a critical mass of users from the same organization learn to change their behaviors, the result is a change to the organization’s culture.

 

An episode comprises:

- An Episode ID (eg, 22) and name (eg, Project Bluestone).

- Metadata as follows (note: for now, this metadata is not captured in the system):

- The Version of this episode (eg, 1)

- The behavior (aka, Action) that the Episode teaches (eg, commitments­ you­ keep)

- The value that this behavior reinforces (eg, integrity)

- The context (aka, dramatic situation) within which participants face a dilemma that forces them to figure out how to practice the target behavior.

- A First Scenario - ­­a short comic strip story. The final speech bubble in the story is left blank for you to fill in with a Response.

                        

 

                                     

                

            

 

- A Discussion that shows your response alongside responses from other Cohort members

    

 

 

Requirements

 

With that context, we want to leverage Slack’s bot users capabilities to build out a MVP with the following scope.

 

UI Requirements

 

- Build a screen to trigger an episode. We do not have a formal design for this but we envision this screen will do the following

- Show a list of (Slack) users on the team who’ll be present in the episode

- Have a button next to each user to kick off the episode - Once this is clicked, the images shown above are sent in a 1-1 private channel for that user

 

Functional Requirements

 

Assume that another existing episode private discussion channel (let’s call it #episode1) has been pre-created manually and already exists before the above 1-1 private channel communication happens.

If the user replies to the message above on the 1-1 channel e.g ‘Sure thing Cal. See you at 10’ , they are added to the existing episode private discussion (#episode1) Slack channel for an episode. The reply from the user is posted to this #episode1 slack channel.

The #episode1 channel notifications default to desktop and mobile push for all activities

After this, all messages on the channel are using native Slack messaging (see image Scenario 22 above)

 

Report Requirements

 

Using Slackalytics, generate the following reports

Channel-wise activity (only for episode channels generated via Bot)

 

 

User-wise activity (only for episode channels generated via Bot)

 

                  

 

 

Reference Links

 

There are some handy links on how to create Slackbots

 

https://slackhq.com/a-beginner-s-guide-to-your-first-bot-97e5b0b7843d#.bctoa99c0

https://scotch.io/tutorials/building-a-slack-bot-with-node-js-and-chuck-norris-super-powers



Final Submission Guidelines

- Zipped source code

- Deployment Guide with all configuration and verification information

- Demo video showing how to install, configure the bot and providing a demo of the above requirements

- Live Heroku URL where your application is hosted

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30053897