{"id":21319497,"url":"https://github.com/zoom/team-chat-shortcut-sample","last_synced_at":"2025-08-25T17:07:39.109Z","repository":{"id":184053559,"uuid":"671229018","full_name":"zoom/team-chat-shortcut-sample","owner":"zoom","description":"This repository contains a Node.js application that allows you to create a Zoom Team Chat App for managing recordings. Follow the instructions below to set up and run the application.","archived":false,"fork":false,"pushed_at":"2025-08-13T15:12:21.000Z","size":124,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-13T17:30:17.395Z","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,"zenodo":null}},"created_at":"2023-07-26T20:56:46.000Z","updated_at":"2025-08-13T15:12:25.000Z","dependencies_parsed_at":"2024-11-21T19:42:27.392Z","dependency_job_id":"960a76b5-2292-46c1-ba25-37da98f7f591","html_url":"https://github.com/zoom/team-chat-shortcut-sample","commit_stats":null,"previous_names":["zoom/zoom-recordings-team-chat-app","zoom/team-chat-shortcut-sample"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zoom/team-chat-shortcut-sample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fteam-chat-shortcut-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fteam-chat-shortcut-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fteam-chat-shortcut-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fteam-chat-shortcut-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zoom","download_url":"https://codeload.github.com/zoom/team-chat-shortcut-sample/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fteam-chat-shortcut-sample/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272100683,"owners_count":24873442,"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","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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.565Z","updated_at":"2025-08-25T17:07:39.084Z","avatar_url":"https://github.com/zoom.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node.js Zoom Recordings Team Chat App\n\nThis repository contains a Node.js application that allows you to create a Zoom Team Chat App for managing recordings. Follow the instructions below to set up and run the application. This example is used to mainly demonstrate:\n**a. Message Shortcut\nb. Compose box shortcut\n**\nThis example also demonstrates: \na. Chatbot token generation\nb. Sending Chatbot messages\nc. Generating Zoom OAuth Access token and Refresh token\nd. Making Zoom API calls (Recordings Endpoint)\n\nIf you want to know just about Message Shortcut and compose box shortcut, please ignore the following files: \n- \n\n## Prerequisites\n\nBefore running the code, make sure you have the following libraries installed:\n\n- Node.js\n- Express.js\n- axios\n- helmet\n- crypto-js\n- zoom-apps-sdk (npm install @zoom/appssdk)\n\n## Installation\n\n1. Clone the repository to your local machine.\n\n```bash\ngit clone https://github.com/ojusave/zoom-recordings-team-chat-app\n```\n\n2. Install the required dependencies.\n\n```bash\nnpm install\n```\n\n3. Create a `.env` file in the root directory of your local repository and add the following details from your Zoom Team Chat App:\n\n```plaintext\nzoom_client_id=YOUR_CLIENT_ID\nzoom_client_secret=YOUR_CLIENT_SECRET\nzoom_bot_jid=YOUR_BOT_JID\nzoom_verification_token=YOUR_VERIFICATION_TOKEN\nredirect_uri=YOUR_REDIRECT_URI\n```\n\nReplace `YOUR_CLIENT_ID`, `YOUR_CLIENT_SECRET`, `YOUR_BOT_JID`, `YOUR_VERIFICATION_TOKEN`, and `YOUR_REDIRECT_URI` with the corresponding values from your Zoom Team Chat App.\n\n## Usage\n\nTo run the code, navigate to the `zoom-recordings-team-chat-app` directory and start the Node.js server.\n\n```bash\ncd zoom-recordings-team-chat-app\nnpm run start\n```\n\nMake sure the server is running successfully.\n\n### App Configuration in the Zoom Marketplace\n\n1. Create a Team Chat Apps using the guidelines provided [here](https://developers.zoom.us/docs/team-chat-apps/create/).\n\n2. Enable the App Shortcuts in the Zoom Marketplace configuration.\n\n3. Click on \"Add Shortcuts\" and provide an \"Action Name\" and \"Action Command ID\" for each action you want to create. This code demonstrates two actions:\n   - Send Message Preview: To demonstrate the message Preview functionality from a Compose Box and Message Action.\n   - Find Recordings: To demonstrate sending a message from a Compose Box and Message Action.\n\n   Depending on what your command is, you may want to change them here:\n   const routeHandlers = {\n   'SendMessagePreview': (req, res) =\u003e {\n    res.sendFile(SEND_PREVIEW_HTML_PATH);\n   },\n   'findrecordings': (req, res) =\u003e {\n    res.sendFile(WEBVIEW_HTML_PATH);\n    }\n   }; \n\n4. Save the configuration.\n\n5. Enable the \"Display on Zoom Client\" option and provide the \"Home URL\" for development and production environments. These URLs will be used to invoke the web view when you click on the message action or compose box.\n\n6. Add your domain to the allow list along with \"appssdk.zoom.us\".\n\n7. Click on \"Add API\" and select the following API scopes:\n\n   - getRunningContext\n   - openUrl\n   - composeCard\n   - getChatContext\n   - getAppContext\n   - composeText\n   - getComposeContext\n\n   Click \"Continue\".\n\n8. In the scopes section, click on \"Add Scopes\" and add the following recordings scopes:\n\n   - View all user recordings: `/recording:read:admin`\n   - View and manage all user recordings: `/recording:write:admin`\n\n9. Save the configuration.\n\n### Running the App\n\n1. Authorize the app by clicking on the local test or publishable URL, depending on the credentials you have selected. This will allow you to see the bot in your Zoom client.\n\n2. To get the recordings, use the following command in a chat:\n\n   ```plaintext\n   /\"your command\" YYYY-MM-DD, YYYY-MM-DD (from and to dates)\n   ```\n\n3. You will also see compose box and message actions options from the app in your Zoom client.\n\n4. Clicking on them will invoke the web view.\n\n5. Selecting \"Find Recordings\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoom%2Fteam-chat-shortcut-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzoom%2Fteam-chat-shortcut-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoom%2Fteam-chat-shortcut-sample/lists"}