An open API service indexing awesome lists of open source software.

https://github.com/zoom/vote-chatbot

Vote on topics in Zoom Chat
https://github.com/zoom/vote-chatbot

sample-app

Last synced: 8 months ago
JSON representation

Vote on topics in Zoom Chat

Awesome Lists containing this project

README

          

#### THIS REPO IS DEPRECATED

Please visit our new [Rivet sample app](https://github.com/zoom/rivet-javascript-sample).

---

# Vote Chatbot for Zoom

Use of this sample app is subject to our [Terms of Use](https://zoom.us/docs/en-us/zoom_api_license_and_tou.html).

This is a sample Chatbot app using the [Zoom Chatbot NPM Package](https://www.npmjs.com/package/@zoomus/chatbot).

![Vote Chatbot for Zoom](https://camo.githubusercontent.com/873a14b66322dd78683e30f10b07cc8c8ed97f041ecf303a4d4694f8a896f1a0/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f757365722d636f6e74656e742e73746f706c696768742e696f2f31393830382f31353637373938333430353834)

To run the completed Chatbot code locally or deploy it to a live server, continue reading below.

## Local/Development Setup

To run the completed Chatbot locally, follow these steps,

1. In terminal:

`$ git clone https://github.com/zoom/vote-chatbot.git`

`$ cd vote-chatbot`

`$ npm install`

`$ touch .env`

2. Add this code to your `.env` file, replacing the `Required` text with your respective [**Development** Zoom Chatbot API credentials](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-chatbot-app#register).

```
client_id=Required
client_secret=Required
verification_token=Required
bot_jid=Required
slash_command=Required
```

3. In terminal:

`$ npm run start` or `$ nodemon` ([for live reload / file change detection](https://www.npmjs.com/package/nodemon))

`$ ngrok http 4000` ([ngrok turns localhost into live server](https://ngrok.com/) so slash commands and user actions can be sent to your app)

5. Open your ngrok https url in a browser, you should see this,

`Welcome to the Vote Chatbot for Zoom!`

6. On your App Marketplace Dashboard, add your ngrok https url to your Whitelist URLs (App Credentials Page), **Development** Redirect URL for OAuth (App Credentials Page), and **Development** Bot Endpoint URL (Features Page). Make sure to match the path after your ngrok https url with the express routes in index.js.

> In order to click the **Save** button on the Features page when adding a Slash Command and Development Bot Endpoint URL, you have to provide a Production Bot Endpoint URL. Feel free to use https://zoom.us as a placeholder.

After that, your app is ready to be installed!

7. On your App Marketplace Dashboard, go to the **Local Test** page and click **Install**. After you click the **Authorize** button, you should be taken to your redirect url and see this,

`Thanks for installing the Vote Chatbot for Zoom!`

8. Now that your Chatbot is installed on your Zoom account, go to a Zoom Chat channel and type,

`/vote Tacos for lunch?`

## Production Setup

To run the completed Chatbot on a live server, follow these steps,

1. Click the **Deploy to Heroku** Button,

[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)

2. Fill in your [**Production** Zoom Chatbot API credentials](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-chatbot-app#register) in the **Config Vars** section.

3. Click **Deploy app**.

4. On your App Marketplace Dashboard, add your Heroku url to your Whitelist URLs (App Credentials Page), **Production** Redirect URL for OAuth (App Credentials Page), and **Production** Bot Endpoint URL (Features Page). Make sure to match the path after your Heroku url with the express routes in index.js.

5. On your App Marketplace Dashboard, go to the **Submit** page and click **Add to Zoom**. After you click the **Authorize** button, you should be taken to your redirect url and see this,

`Thanks for installing the Vote Chatbot for Zoom!`

6. Now that your Chatbot is installed on your Zoom account, go to a Zoom Chat channel and type,

`/vote Tacos for lunch?`
## Need help?

If you're looking for help, try [Developer Support](https://devsupport.zoom.us) or our [Developer Forum](https://devforum.zoom.us). Priority support is also available with [Premier Developer Support](https://zoom.us/docs/en-us/developer-support-plans.html) plans.