{"id":21319455,"url":"https://github.com/zoom/appssdk","last_synced_at":"2025-04-05T04:08:44.842Z","repository":{"id":37542602,"uuid":"504619774","full_name":"zoom/appssdk","owner":"zoom","description":"Build Apps that run in the Zoom Client","archived":false,"fork":false,"pushed_at":"2025-02-15T02:06:38.000Z","size":138,"stargazers_count":43,"open_issues_count":1,"forks_count":7,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-29T03:03:23.483Z","etag":null,"topics":["npm-package"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@zoom/appssdk","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","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":"LICENSE.md","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":"2022-06-17T17:27:42.000Z","updated_at":"2025-02-15T02:06:07.000Z","dependencies_parsed_at":"2024-01-12T03:58:37.255Z","dependency_job_id":"c454d53c-3427-401c-9893-b54752bff03f","html_url":"https://github.com/zoom/appssdk","commit_stats":{"total_commits":10,"total_committers":4,"mean_commits":2.5,"dds":0.6,"last_synced_commit":"22b26b948e57d9083ea5f1389d6c7cc35ea8e426"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fappssdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fappssdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fappssdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoom%2Fappssdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zoom","download_url":"https://codeload.github.com/zoom/appssdk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284942,"owners_count":20913704,"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":["npm-package"],"created_at":"2024-11-21T19:41:57.938Z","updated_at":"2025-04-05T04:08:44.808Z","avatar_url":"https://github.com/zoom.png","language":null,"readme":"# Zoom Apps SDK\n\nThe Zoom Apps SDK is a JavaScript library that facilitates communication between your Zoom App and the Zoom client. The SDK allows you to take advantage of the many APIs and events Zoom exposes in its embedded browser.\n\n## Installation\n\nThere are two ways to install the Zoom Apps SDK into your frontend project\n\n### NPM\n\nYou can install it from NPM, if you are using a module bundler such as Webpack:\n\n```\n$ npm install @zoom/appssdk\n```\n\n### CDN\n\nAlternatively, you can load the SDK from a CDN, using a script tag in your HTML document:\n\n```\n\u003cscript src=\"https://appssdk.zoom.us/sdk.js\"\u003e\u003c/script\u003e\n```\n\nYou can also load a minified SDK, using a script tag in your HTML document:\n\n```\n\u003cscript src=\"https://appssdk.zoom.us/sdk.min.js\"\u003e\u003c/script\u003e\n```\n\n## Usage\n\nIf you installed Zoom Apps SDK from NPM, import `zoomSdk` into the component where you wanted to use the SDK and call `config` as your first call to verify your application with Zoom.\n\n```\nimport zoomSdk from \"@zoom/appssdk\"\n\nasync function configureApp() {\n  const configResponse = await zoomSdk.config({\n    popoutSize: {width: 480, height: 360},\n    capabilities: [\"shareApp\"]\n  })\n}\n```\n\nWhen you load the SDK using a script tag, zoomSDK is served as a global object and can be called across components. Even in this case `zoomSdk.config` should be the first call.\n\n```\n\u003cscript src=\"https://appssdk.zoom.us/sdk.js\"\u003e\u003c/script\u003e\n\nasync function configureApp() {\n  const configResponse = await zoomSdk.config({\n    version: \"0.16\",\n    popoutSize: {width: 480, height: 360},\n    capabilities: [\"shareApp\"]\n  })\n}\n```\n\nThe cloud SDK is designed to provide on-demand patch updates, and it does not support exact versions. You will always get the latest patch version within the major version specified in the version parameter of `zoomSdk.config`. In other words, if you supplied an exact version like `0.16.1`, you will get the latest patch within the `0.16` major version.\n\n`zoomSdk.config` response object. Read more about [zoomSdk.config](https://appssdk.zoom.us/classes/ZoomSdk.ZoomSdk.html#config)\n\n```\n{\n  \"clientVersion\": \"5.11.1.8356\",\n  \"browserVersion\": \"applewebkit/17613.2.7.1.8\",\n  \"userAgent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)\",\n  \"auth\": {\n    \"status\": \"authorized\",\n    \"upgradable\": true\n  },\n  \"unsupportedApis\": [],\n  \"runningContext\": \"inMainClient\",\n  \"product\": \"desktop\"\n}\n```\n\n## Role and running context change\n\nListen to `zoomSdk.onMyUserContextChange` and `zoomSdk.onRunningContextChange` events for role and running context changes respectively. `zoomSdk.config` needs to be called again to update API permissions.\n\n## Note\n\n- Zoom Desktop Client is a native application. Depending on the Zoom Desktop Client version a user has installed, they might have access to different Zoom Apps APIs and events. With the cloud version of the SDK, you automatically get the latest patches as we release new client versions, and your apps avoid potential breaks due to missing patches.\n\n- When using SDK via npm, check for updates in our monthly release of Zoom Desktop Client. You must manually update your app when needed to the latest SDK to maintain compatibility with newer client versions.\n\n- The SDK module installed via npm includes the `sdk.d.ts` file which provides type definitions for `sdk.es.js` and `sdk.module.js`. The cloud-based SDK does not provide this file.\n\n### How do compatibility patches work?\n\nThis is an example of how compatibility patches delivered via cloud-based SDK help your app run on the latest client versions.\n\n**Note**: This example is only for illustrating the concept, and does not imply Zoom is planning to change the `sendAppInvitation` API schema.\n\n**Example**:\nYour app is developed against the 3.4.0 client version and uses the `sendAppInvitation` API.\n\nClient version 3.4.0. The `sendAppInvitation` API schema is\n\n```\nsendAppInvitation ({ participantUUIDs: [participantUUID1, participantUUID2, ...], })\n```\n\nClient version 4.0.0 introduces a breaking change to the `sendAppInvitation` API that requires one additional parameter `message` to customize your invitation. The new API schema is\n\n```\nsendAppInvitation ({ participantUUIDs: [participantUUID1, participantUUID2, ...],  message: \"This app is awesome, try it!\"})\n```\n\nApps based on the client version 3.4.0 will break when used on the 4.0.0 client because the client is expecting the `message` parameter as part of the API call. Whereas, when you use the cloud-based SDK, the compatibility patch can accept your API request and transform it internally to use a default value for the `message` parameter.\n\nOriginal call from app to SDK\n\n```\nsendAppInvitation ({ participantUUIDs: [participantUUID1, participantUUID2, ...], })\n```\n\nSDK transforms the call internally to\n\n```\nsendAppInvitation ({ participantUUIDs: [participantUUID1, participantUUID2, ...], message: \"\"})\n```\n\n## Documentation\n\nRefer to Apps SDK documentation [here](https://appssdk.zoom.us/classes/ZoomSdk.ZoomSdk.html).\n\n## Release notes\n\nRefer to [release notes](https://github.com/zoom/appssdk/releases) to discover changes made in the Apps SDK.\n\n## Resources to create a Zoom App\n\n- Create your first Zoom App following these [steps](https://developers.zoom.us/docs/zoom-apps/create/).\n- To help you start developing Zoom Apps we also provide sample reference [apps](https://developers.zoom.us/docs/zoom-apps/reference-apps/).\n- Watch [How To Create a Zoom App](https://www.youtube.com/watch?v=otlyDxnU-RI) and [How To Configure the Basic Zoom App](https://www.youtube.com/watch?v=SS87nqO9ScQ).\n- Discover more learning [resources](https://developers.zoom.us/docs/zoom-apps/) for Zoom Apps Development.\n- Zoom Apps SDK on [npm](https://www.npmjs.com/package/@zoom/appssdk).\n\n## Need help?\n\n- If you are looking for help, try [Developer Support](https://devsupport.zoom.us/hc/en-us) or our [Developer Forum](https://devforum.zoom.us/).\n- For questions related to Zoom Apps please direct them to [Zoom Apps](https://devforum.zoom.us/c/zoom-apps/39) category in the forum.\n- Priority support is also available with [Premier Developer Support](https://explore.zoom.us/docs/en-us/developer-support-plans.html) plans.\n","funding_links":[],"categories":["Others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoom%2Fappssdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzoom%2Fappssdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoom%2Fappssdk/lists"}