jlhood / chime-ice-breaker

Send a periodic, random ice-breaker question to the provided Chime or Slack webhook

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

chime-ice-breaker

This serverless application periodically sends a random ice breaker question to the given Chime or Slack webhook URL based on the provided schedule.

This app was built for teams that are 100% remote, for example, due to COVID-19, and use Amazon Chime or Slack as their key team collaboration tool. While we've solved a lot of the barriers to getting work done while remote, there are fewer replacements for the informal human interactions that happen organically when physically sharing an office space. Things like small talk, jokes, and learning random things about one another.

This app is meant to help address this by periodically sending a random ice breaker question like this to your team Chime or Slack room:

Chime example:

chime screenshot

Slack example:

slack screenshot

Installation Instructions

Webhook URL

Amazon Chime

To create a Chime Webhook URL for your Chime room using the Chime client application, click on the gear icon in the upper right corner of your Chime room and select "Manage webhooks and bots". Note, you must be an administrator of the Chime room to set this option.

webhook setup 1

A popup dialog should appear. Click the "Add webhook" link.

webhook setup 2

Enter a name for your Webhook, e.g., "Ice Breaker", and click the Create button.

webhook setup 3

You now have a new Chime webhook. Click the "Copy URL" link to copy the Chime webhook URL to your clipboard. This is the URL you should enter as the ChimeUrl parameter value when installing the chime-ice-breaker app.

webhook setup 4

Slack

To create a Slack Workflow with a webhook, from your desktop Slack application, click your workspace name in the top left.

webhook setup 5

Select "Tools" > "Workflow Builder" from the menu.

From the Workflow Builder, click "Create" in the top right.

webhook setup 6

Enter a name for your workflow, then click "Next".

webhook setup 7

Select "Webhook" as the workflow trigger.

Click "Add variable". For "key", enter "Content". Choose "Text" data type. Click "Next".

webhook setup 8

Click "Add Step".

webhook setup 9

Select "Send a message".

Choose the channel where you'd like ice breaker questions to be posted. For the message text, click "Insert new variable" and choose "Content". Click "Save".

webhook setup 10

Click "Publish" in the top right corner to publish the workflow and generate a webhook URL.

webhook setup 11

You now have a new Slack webhook. Click the "Copy" button to copy the Slack webhook URL to your clipboard. This is the URL you should enter as the ChimeUrl parameter value when installing the chime-ice-breaker app.

webhook setup 12

Installing the app

  1. Create an AWS account if you do not already have one and login
  2. Go to the app's page on the Serverless Application Repository and click "Deploy"
  3. Provide the required app parameters (see parameter details below) and click "Deploy"

App Parameters

  1. ChimeUrl - Chime or Slack webhook URL to send the ice-breaker question to.
  2. ScheduleExpression - An EventBridge schedule expression dictating the frequency at which ice-breaker questions will be sent (see https://docs.aws.amazon.com/eventbridge/latest/userguide/scheduled-events.html). Default: cron(30 18 ? * MON-FRI *)
  3. LogLevel (optional) - Log level for Lambda function logging, e.g., ERROR, INFO, DEBUG, etc. Default: INFO

License Summary

This code is made available under the MIT license. See the LICENSE file.

About

Send a periodic, random ice-breaker question to the provided Chime or Slack webhook

License:MIT License


Languages

Language:Python 93.1%Language:Makefile 6.9%