zoom_slack
Note: this is alpha quality software, and still under active development!
This gem provides an easy way to automatically set your Slack status any time you are in a Zoom meeting.
The current implementation will only work on Mac OS X, but other operating system implementations are welcome!
Getting Started
Install via Rubygems
gem install zoom_slack
Next, create a new Slack app, and install it in your workspace to get a personal oauth token.
Then add a cron entry via crontab -e
like this
* * * * * zoom_slack <oauth_access_token>
After zoom_slack
has run for the first time, you might need to enable some accessibility settings for it to work properly.
Usage
You can see all the various config options by running zoom_slack -h
$ zoom_slack -h
Usage: zoom_slack [options]
Authentication options:
-t, --token TOKEN Slack token (defaults to $SLACK_API_TOKEN)
Profile status options:
--text TEXT Status text (defaults to 'In a meeting')
--emoji EMOJI Status emoji (defaults to ':spiral_calendar_pad:')
--expires N Status expires in N minutes (defaults to 0)
--clear-text TEXT Clear status text (defaults to '')
--clear-emoji EMOJI Clear status emoji (defaults to '')
Common options:
-h, --help Show this message
Creating a New App
You can obtain an oauth token by creating a new app and installing it into your workspace with these directions:
- Go to https://api.slack.com/apps
- Click "Create New App"
- Give it an App Name (like "zoom_slack"), and assign it to your Workspace
- Click "Create App"
- Click "Permissions"
- Add the "Modify user's profile" scope
- Click "Save Changes"
- Under the "Settings" sidebar, click "Install App", then click "Install App to Workspace"
- Click "Authorize"
- Copy you OAuth Access Token
Accessibility Settings
Mac
You'll need to grant accessibility access for the method you use to run zoom_slack
.
- Open up System Preferences
- Select Security & Privacy
- Select Accessibility
- Select Privacy
- Ensure that
cron
is checked (you might also need to checkterminal
oriTerm
)
Todo
- Better documentation
- Support for additional platforms