Skip to content

shixin-guo/zoom-bots

Repository files navigation

AI Chatbot Assistant for Zoom

This is a sample chatbot app using Node.js and ChatGPT API

Free, open source chatbot personal assistant with customizable scripts.

image

Screenshots:

  • talk with your bot:

image

  • use chatbot when you talking with friends:

image

Technology Stack

  • Server: Typescript + Express + Notion API + OpenAI API
  • Deployment: Github Actions + Fly.io + Vercel
  • UI: React + Next.js + Tailwindcss
  • Cron: mergent

Todo:

work and read:

  • openAI API integration
  • todo list

image

sync to notion database:

image

  • [Zoom chat] integration
  • RSS feed
  • support save to notion
  • webhooks
  • generate weekly report read list
  • telegram bot integration
  • midjourney integration
  • sync twitter favorite to notion
  • read article and generate summary and save to notion

health:

  • support cron job

image

  • weather daily alert

image

  • stock and crypto price alert
  • drink water reminder
  • sedentary reminder

develepment exprience improvement

Installation:

  • sign up notion and openAI

  • sign up vercel and fly.io

  • config zoom apps in zoom marketplace

  • input env variables in .env file ./packages/api-server:

zoom_client_id=*****
zoom_client_secret=*****
zoom_bot_jid=*****@xmpp.zoom.us
zoom_verification_token=*****

API_HUB_URL=https://api-hub.fly.dev/subscribe // prevent openAI api timeout 

OPENAI_API_KEY=*******

NOTION_API_KEY=*****
NOTION_DATABASE_ID=****

WEATHER_API_KEY=***** // http://api.openweathermap.org

pnpm i 

deploy to vercel and fly.io

Config:

image

Local/Development Setup

To run the completed chatbot locally, follow these steps:

  1. Clone the repository and navigate to its directory in terminal:
$ git@github.com:shixin-guo/my-bot.git
$ cd my-bot
$ pnpm install
$ cd ./package/api-server && touch .env
  1. Add your respective development Zoom Chatbot API credentials to the .env file:
zoom_bot_jid=*****@xmpp.zoom.us (Required)
zoom_client_id=***********(Required) 
zoom_client_secret=*********** (Required) 
zoom_verification_token=*********** (Required)
OPENAI_API_KEY=*************** (Required)
  1. In terminal, run:
$ pnpm run dev
$ ngrok http 4000

(ngrok turns localhost into a live server so that slash commands and user actions can be sent to your app)

  1. Open your ngrok https URL in a browser. You should see:
Welcome to Zoom! I'm ChatGPT, your virtual assistant. I'm here to help make your Zoom experience more enjoyable and efficient. How can I be of assistance?
  1. 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.

  2. After that, your app is ready to be installed! 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 Chatbot for Zoom!
  1. Now that your chatbot is installed on your Zoom account, go to a Zoom chat channel and type:
/ccbot

Production Setup

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

  1. Fill in your production Zoom Chatbot API credentials and your Unsplash Access Key in the Config Vars section.

  2. Click Deploy app.

  3. 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.

  4. 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 Unsplash Chatbot for Zoom!
  1. Now that your chatbot is installed on your Zoom account, go to a Zoom chat channel and type:
/shixin mountains

Need Help?

If you have any questions, please reach out to me at [gzpoffline@gmail.com].

Usage:

Reference:

https://github.com/RainEggplant/chatgpt-telegram-bot

https://github.com/yagop/node-telegram-bot-api

https://github.com/FranP-code/Open-Telegram-to-Notion-Bot

https://github.com/Hayden-MP/Notion-database

https://medium.com/zoom-developer-blog/how-to-build-a-zoom-chatbot-c668b7361adb

License

MIT