{"id":21319499,"url":"https://github.com/zoom/meetingbot-web-sample","last_synced_at":"2025-04-14T21:53:05.188Z","repository":{"id":180490276,"uuid":"654494771","full_name":"zoom/meetingbot-web-sample","owner":"zoom","description":"A bot implementation for the Web Meeting SDK built with Vanilla JS","archived":false,"fork":false,"pushed_at":"2025-01-07T21:17:28.000Z","size":167,"stargazers_count":31,"open_issues_count":2,"forks_count":9,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-11T21:22:09.558Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zoom.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-16T08:51:32.000Z","updated_at":"2025-03-06T20:28:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"a3702681-fdc8-4baa-84f0-1c65abe47b58","html_url":"https://github.com/zoom/meetingbot-web-sample","commit_stats":null,"previous_names":["zoom/meetingsdk-web-bot-sample","zoom/meetingbot-web-sample"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fmeetingbot-web-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fmeetingbot-web-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fmeetingbot-web-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fmeetingbot-web-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zoom","download_url":"https://codeload.github.com/zoom/meetingbot-web-sample/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248968753,"owners_count":21191158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-21T19:42:24.843Z","updated_at":"2025-04-14T21:53:05.169Z","avatar_url":"https://github.com/zoom.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Zoom Meeting Bot JavaScript sample\n\nUse of this sample app is subject to our [Terms of Use](https://explore.zoom.us/en/legal/zoom-api-license-and-tou/).\n\nThis repo contains an HTML/CSS/JavaScript website that utilizes the [Zoom Meeting SDK](https://developers.zoom.us/docs/meeting-sdk/web/) with a Node.js Express backend and the Chrome Headless browser to join Zoom meetings and request recording permission as a participant. The frontend is built with Vanilla JS to demonstrate the capabilities of headless browsers for bot development. \n\nRequirements:\n* Nodejs\n\n____\n\n## Installation\n\nTo get started, clone the repo : https://github.com/zoom/meetingsdk-web-bot-sample.git\n\n## Setup\n\n1. Once cloned, navigate to the meetingsdk-sample-javascript directory:\n```bash\n$ cd meetingsdk-web-bot-sample-javascript\n```\n\n2. Then install the dependencies:\n```bash\n$ npm install\n```\n3. Copy .env.example to store your Meeting SDK credentials:\n\n```bash\n$ cp .env.example .env\n```\n\n4. In the frontend directory, open the client-view.js file, and enter values for the variables:\n\n\n   | Variable                   | Description |\n   | -----------------------|-------------|\n   | authEndpoint          | Required, your Meeting SDK auth endpoint that secuerly generates a Meeting SDK JWT. [Get a Meeting SDK auth endpoint here.](https://github.com/zoom/meetingsdk-sample-signature-node.js) |\n   | sdkKey                   | Required, your Zoom Meeting SDK Key or Client ID for Meeting SDK app type's created after February 11, 2023. [You can get yours here](https://developers.zoom.us/docs/meeting-sdk/developer-accounts/#get-meeting-sdk-credentials). |\n   | meetingNumber                   | Required, the Zoom Meeting or webinar number. |\n   | passWord                   | Optional, meeting password. Leave as empty string if the meeting does not require a password. |\n   | role                   | Required, `0` to specify participant, `1` to specify host. |\n   | userName                   | Required, a name for the user joining / starting the meeting / webinar. |\n   | userEmail                   | Required for Webinar, optional for Meeting, required for meeting and webinar if [registration is required](https://support.zoom.us/hc/en-us/articles/360054446052-Managing-meeting-and-webinar-registration). The email of the user starting or joining the meeting / webinar. |\n   | registrantToken            | Required if your [meeting](https://developers.zoom.us/docs/meeting-sdk/web/client-view/meetings/#join-meeting-with-registration-required) or [webinar](https://developers.zoom.us/docs/meeting-sdk/web/client-view/webinars/#join-webinar-with-registration-required) requires [registration](https://support.zoom.us/hc/en-us/articles/360054446052-Managing-meeting-and-webinar-registration). |\n   | zakToken            | Required to start meetings or webinars on external Zoom user's behalf, the [authorized Zoom user's ZAK token](https://developers.zoom.us/docs/meeting-sdk/auth/#start-meetings-and-webinars-with-a-zoom-users-zak-token). |\n   | leaveUrl                   | Required for Client View, the url the user is taken to once the meeting is over. |\n\n   Example:\n\n   ```js\n   var authEndpoint = 'http://localhost:4000'\n   var sdkKey = 'abc123'\n   var meetingNumber = '123456789'\n   var passWord = ''\n   var role = 0\n   var userName = 'Web Bot'\n   var userEmail = ''\n   var registrantToken = ''\n   var leaveUrl = 'https://zoom.us'\n\n   ```\n\n6. Launch a development local Server or open index.html in your browser ([or serve over localhost](https://www.npmjs.com/package/http-server)). \n\n\n7. Start the server:\n```bash\nnpm run start\n```\n\n## Usage\n\n1. Enter Meeting SDK credentials values in index.html \n\n2. Navigate to index.html in your browser ([or serve over localhost](https://www.npmjs.com/package/http-server)).\n\n3. In backend/helpers/meetingBot.js, enter local development url or site url. \n```js\nawait page.goto(\"{Enter local development url or site url}\", {\n    waitUntil: \"load\",\n\n\n  });\n```\n4. In terminal run : \n  ```bash\n   npm run start\n  ```\n\n5. Meeting bot should enter the meeting as a participant and request recording permission.\n\n\n## Need help?\n\nIf 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.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoom%2Fmeetingbot-web-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzoom%2Fmeetingbot-web-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoom%2Fmeetingbot-web-sample/lists"}