A Bot for booking of meeting rooms in internal Slack Workspace.
Grab dependencies
npm iRun the bot
npm start- Log into your workspae and create a Slack App here
- Add a Slash command (see below)
- Set Up Interactive Components (see below)
- Navigate to Bot Users to create a bot user
- Navigate to the OAuth & Permissions page and make sure the following scopes are pre-selected:
commandsbot
- Install the app to your workspace
- Click on Slash Commands in app setting
- Click the 'Create New Command' button with the following details:
- Command:
/book - Request URL: Your server URL +
/command - Short description:
A bot for booking of meeting rooms - Usage hint:
Book a room
- Command:
- Click on Interactive Components in setting
- Put your server URL +
/slack/actionsin the Request URL field- e.g. if you used ngrock, it would be something similar to
https://9e123bs8.ngrok.io/slack/actions
- e.g. if you used ngrock, it would be something similar to
- Copy .sample-env to
.envand replace with your own env variables- The variables can be found either in the OAuth & Permissions or the Basic Information page
- Create a folder
configin the root directory- Copy sample-CalendarConfig.js to
config/CalendarConfig.jsand sample-Settings.js toconfig/Settings.js; then replace with your own variables
- Copy sample-CalendarConfig.js to
- Setup & grant permission to test google calendar, service account and get auth key
- Download
google-api-key.jsononce you have your service account set up; place it inconfigfolder
- Step 1: Branch off from
masterand work on your feature or bugfix. - Step 2: Update the changelog.
- Step 3: Create a pull request when you're done.
References:
- [Feature]
- [Improvement]
This Slack Bot is based off the original telegram bot butler-bot.
- Set up instructions for Slack App adapted from: template-slash-command-and-dialogs