All Projects → natterstefan → zoom-slack-status-updater

natterstefan / zoom-slack-status-updater

Licence: MIT license
Update your Slack status automatically when you join a Zoom meeting.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to zoom-slack-status-updater

Yeetgif
gif effects CLI. single binary, no dependencies. linux, osx, windows. #1 workplace productivity booster. #yeetgif #eggplant #golang
Stars: ✭ 467 (+1930.43%)
Mutual labels:  slack, zoom
Rust Slack
A rust crate for sending messages to Slack via webhooks
Stars: ✭ 128 (+456.52%)
Mutual labels:  slack, webhook
Metasearch
Search aggregator for Slack, Google Docs, GitHub, and more 🔍
Stars: ✭ 81 (+252.17%)
Mutual labels:  slack, zoom
pr-reviews-reminder-action
A GitHub Action to send Slack/Teams notification for Pull Request that are waiting for reviewers.
Stars: ✭ 18 (-21.74%)
Mutual labels:  slack, webhook
datasette-publish-vercel
Datasette plugin for publishing data using Vercel
Stars: ✭ 30 (+30.43%)
Mutual labels:  zeit-now, vercel
Zabbix Slack Alertscript
Zabbix AlertScript for Slack.com chat
Stars: ✭ 406 (+1665.22%)
Mutual labels:  slack, webhook
JiosaavnAPI
Unofficial JioSaavn API Written in Javascript
Stars: ✭ 68 (+195.65%)
Mutual labels:  vercel, vercel-now
Night
Weekly Go Online Meetup via Bilibili|Go 夜读|通过 bilibili 在线直播的方式分享 Go 相关的技术话题,每天大家在微信/telegram/Slack 上及时沟通交流编程技术话题。
Stars: ✭ 10,058 (+43630.43%)
Mutual labels:  slack, zoom
bifrost
🌉 The rainbow bridge. URL shortener for Vercel.
Stars: ✭ 28 (+21.74%)
Mutual labels:  vercel, vercel-now
Hooka
😎 A webhook server with zero coding
Stars: ✭ 180 (+682.61%)
Mutual labels:  slack, webhook
SlackWebhooksGithubCrawler
Search for Slack Webhooks token publicly exposed on Github
Stars: ✭ 21 (-8.7%)
Mutual labels:  slack, webhook
unity-now
▲ Vercel Now plugin for Unity. Deploy WebGL builds with ease
Stars: ✭ 21 (-8.7%)
Mutual labels:  zeit-now, vercel
iris
Watch on Kubernetes events, filter and send them as standard wehbook to any system
Stars: ✭ 57 (+147.83%)
Mutual labels:  slack, webhook
notify
推送通知 sdk(Bark、Chanify、钉钉群机器人、Discord、邮件、飞书群机器人、Gitter、Google Chat、iGot、Logger、Mattermost、Now Push、PushBack、Push、PushDeer、PushPlus、QQ 频道机器人、Rocket Chat、Server 酱、Showdoc Push、Slack、Telegram、Webhook、企业微信群机器人、息知、Zulip)。
Stars: ✭ 335 (+1356.52%)
Mutual labels:  slack, webhook
Tradingview Webhook Bot
⚙️ Send TradingView alerts to Telegram, Discord, Slack, Twitter and/or Email.
Stars: ✭ 135 (+486.96%)
Mutual labels:  slack, webhook
static-auth
The most simple way to add Basic Authentication to a static website hosted on Vercel.
Stars: ✭ 25 (+8.7%)
Mutual labels:  vercel, vercel-now
mojito-admin-starter
此项目主要为了演示如何自动化 Fullstack project 的 Infrastructure。
Stars: ✭ 17 (-26.09%)
Mutual labels:  vercel, vercel-deployment
brapi
API ilimitada da Bovespa, moedas e crypto. Ganhe acesso aos dados de qualquer ação, moeda ou criptomoeda
Stars: ✭ 36 (+56.52%)
Mutual labels:  vercel
humhub-oauth
Social OAuths built for the Social Platform HumHub
Stars: ✭ 16 (-30.43%)
Mutual labels:  slack
jam
🍓 Jam is your own open source Clubhouse for mini conferences, friends, communities
Stars: ✭ 1,030 (+4378.26%)
Mutual labels:  zoom

Zoom Slack Status Updater

now GitHub release (latest SemVer including pre-releases) GitHub

Build Status Coverage Status

Update your Slack status automatically when you join a Zoom meeting.

Requirements

  • a Zoom App
  • a Slack App
  • and a Vercel account

Development

Installation

Make sure you have vercel and all dependencies installed.

npm i -g vercel@latest
yarn install # or npm install

Tests

yarn test

Setup

Step 1 - Setup Vercel

  1. Create a vercel account
  2. Run vercel login (login with your vercel account) in your terminal
  3. Create a project (either in the Browser) or with the CLI (see Step 5 below).

Step 2 - Setup Slack

  1. Create a Slack App for your workspace(s)
  2. Grant each Slack app the users.profile:write and dnd:write privilege in User Token Scopes in the OAuth & Permissions view, before clicking on the "Install App" button.
  3. Copy and paste each Slack app's OAuth Access Token into the configuration file created in the subsequent step.

Create Webhook Only Zoom App

Step 3 - Configure Zoom-Slack-Status-Updater App

  1. Duplicate slack-status-config-example.js and rename it to slack-status-config.js. Do the same with .env.example and rename it to .env. This should happen automatically thanks to a postinstall script.
  2. Now you have to create a config object for each slack workspace you want to update when a Zoom meeting starts. In the next step you will get to know how to add environment variables (for your tokens)

Environment Variables

Do not copy and paste your Slack app and other tokens into the slack-status-config.js directly. Instead set up environment variables on Vercel.

  • Step 1 - Open the Project Settings of your Vercel app and select "Environment Variables".
  • Step 2 - Choose between a Plaintext or Secret for the tokens. I recommend you set up and use Secret. Because they are encrypted. Remember the name of the Environment variable and add it to the respective workspace in the configuration file.
  • Step 3 - Now add the Environment variable (e.g. process.env.<enviroment variable name>) to your configuration file
  {
    name: 'Slack Workspace 1',
    token: process.env.SLACK_TOKEN,
    // see Step 6 for more details about how to obtain this token
    zoomVerificationToken: process.env.VERIFICATION_TOKEN,
    // other configuration settings
  }

Example configuration

You can add as many Slack workspaces as you want here, just make sure you have created a Slack app for each workspace.

Here ist the example configuration.

Step 5 - Deploy App to Vercel

# example questions when setting up the now project for the first time
# What’s your project’s name? your-app-name
# In which directory is your code located? ./
vercel

This will guide you through the process of creating and deploying the project. Remember the created Deployment URL. You are going to need it in the next step for the ZOOM app.

You find the deployment URL in your Project under the "Deployments" tab (example URL: https://vercel.com/username/projectname/deployments) or in the "Settings" tab and then "Domains" (https://vercel.com/username/projectname/settings/domains)).

Make sure you select the one that looks like: https://projectname.now.sh/, whereas projectname is the name of your project. This will point to the latest deployed version of your app. If you choose another URL you would need to update Zoom (see Step 6) after each deployment.

Step 6 - Setup Zoom

Create Webhook Only Zoom App

Create a new (or use an existing) "Webhook Only" Zoom app with your Zoom account. Even if you added multiple Slack workspaces, you just need one Zoom app.

Fill out the required information and activate Event Subscriptions. Add the User’s presence status has been updated event type. Once you have deployed the app to now.sh (in a later step) you can add the Event notification endpoint URL.

The Verification Token is also visible on this page, you need to add this to the app configuration in the next step.

Setup Zoom App

You can read more about it setting up the App here.

Add the generated vercel URL from Step 5 as your Event notification endpoint URL.

Setup Zoom App

A verification token will be generated in the Feature page after you enable and save the event subscription. This token can be used to validate the POST requests that are sent by Zoom to your event notification endpoint URL. (source)

Get this verification token and add it to the configuration file, see Step 3.

Step 7 - Run and Test

Now, open both Zoom and Slack and watch the status change when you start or join a meeting.

You do not need a second account for that. Open Zoom, start a new meeting and you should see the new status on Slack.

vercel commands

# deploy to vercel
vercel

# remove previous deployments
vercel your-app --safe --yes
# deploy and remove previous builds
vercel && vercel rm your-app --safe --yes

# list all deployments
vercel ls

Other solutions

References

License

MIT

Contributors

Thanks goes to these wonderful people (emoji key):


Stefan Natter

🤔 💻

Ruben Burr

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].