Build an App
The Zoom App Marketplace offers several options that allow you to integrate Zoom services in your app. To see the app types that Zoom supports, log in to the Marketplace and navigate to Develop > Build App. Once you click on Build App, a page listing five app types will be displayed as shown in the image below.
Understanding App Types
Zoom supports two methods for authenticating your app’s requests to use Zoom APIs: OAuth 2.0 and JSON Web Tokens (JWT).
Apps that implement standard OAuth 2.0 can select scopes to specify the type of data they need from a user’s Zoom account. These scopes are also directly linked to the usage of our Zoom APIs. After being authorized by Zoom and Zoom users, the app can interact with Zoom APIs and get access to the requested data. These apps can be installed either by a user or a Zoom account admin from the Zoom App Marketplace.
On the other hand, apps that implement JWT cannot specify scopes or request Zoom users to authorize them with permissions to have access to their data. These apps perform server-to-server authentication with Zoom, i.e., to use Zoom’s services, the apps must validate their identity by presenting their JSON Web Token to Zoom. These apps are not publishable in the Marketplace.
Note: On the Zoom Marketplace, you may see the terms app and connector used interchangeably. Typically, an app embeds one of our cross-platform Zoom SDKs inside and enables a new workflow, while a connector will link Zoom services with another platform.
Public and Private Apps
The Zoom Marketplace has a wide variety of applications created by developers either for public usage or as a private extension of their product or service.
A Public App is an application created to be available to all Zoom users. These apps can be installed by individual users onto their Zoom Client as a chatbot, or as integrations into third-party services to utilize Zoom products and services. All Public Apps go through a rigorous quality and security review before being published onto the Marketplace.
There are a number of reasons why publishing an app publicly onto the Marketplace creates significant advantages to your app. Notably, public apps are immediately accessible to all of Zoom’s enormous and growing user base. We explore more of these benefits, including the advantages to backend and data storage, security, and customer support on our Developer Blog.
Create a Public app if you:
- Want your application to be available to all of the millions of Zoom users.
- Have a product or service that you want to publicly extend by integrating into Zoom.
- Want a public landing page featuring your app on the Marketplace.
- Want the benefits of partnering Zoom’s customer support and security with yours.
A Private app is an application created by and exclusively for an individual developer account. These apps can be installed by account administrators to help manage their account or interact with Zoom products and services.
Private apps are exclusively intended for use on the development account on which they were created. We do not support private apps or connectors to be installed outside of the developer’s Zoom account unless directly intended to be shared for the purpose of short term external testing. For more information on this, reference our documentation on App Lifecycle Management.
Create a Private app if you:
- Intend your app only to be installed by you or the users on your Zoom account.
- Are building an internal tool or connector to better manage your Zoom account.
Account-level and User-Managed Apps
The Zoom Marketplace has two differentiated types of applications based on the type of installation, which determines the form of authentication required.
An Account-level app is an application that is installed only on a Zoom Developer Account and is used in order to manage users. These apps have specific access set for Zoom APIs which typically manage users, reporting, and content for a Zoom account. An example of an Account-level app could be an internal dashboard used by your company to create and manage meetings on behalf of your users.
A User-managed app is an application which is installed by individual users, and thus requires authentication on behalf of each user. These apps have specific access set for Zoom APIs which manage an individual user’s content. User-managed apps allow an end-user to control the authorization and deauthorization of the app, allowing the user to protect and manage control of their Zoom account. An example of a User-managed app could include any application which links to specific users to use Zoom, such as an individual’s calendar extension or an app that allows users to create meetings for themselves. The Zoom Marketplace requires OAuth authentication for creating User-managed apps.
JSON Web Tokens (JWT)
JSON Web Tokens offer a simple and secure method of communicating information between two services, allowing Marketplace developers to authenticate with Zoom APIs. JWTs are both compact and self-contained, allowing them to communicate all context and information about a user in a small JSON object, sent through a URL or simple request.
JSON Web Tokens are used by Marketplace developers to authenticate access to their Account-level apps which allow an admin to manage their own account or users.
To allow applications to manage individual user data, the Zoom Marketplace provides direct support to OAuth2.0, the industry-standard authorization protocol that allows applications to obtain requested access to user accounts over HTTP.
OAuth apps are typically end-user applications which allow secure integration with Zoom APIs to access authorized data for each user. As a developer, you can use OAuth to allow access to users’ information related to their Zoom accounts, upon granting permission.
OAuth apps can either be installed and managed across an account by account admins as an account-level app or by end-users individually as a user-managed app.
Chatbots are account-level apps installed within the Zoom Client which interact with users using the chat interface. Developing a chatbot on the Zoom Client can easily be extended to meet a wide range of needs, allowing you as a developer to set custom commands, data connections, and chat-card formats.
Chatbots allow you to build full-featured apps that manipulate and respond within the Zoom Client chat. These apps can interact with all Zoom APIs, Webhooks, and third-party services, in the same way other app types might, and use the standard OAuth 2.0 protocol for authentication.
Webhook-only apps use Event Subscriptions to integrate and connect third-party services to the Zoom platform when an action (event) is triggered. This allows you to automate the task of being notified when a certain event occurs in your Zoom account without making repeated API calls.
Notifications are sent to an endpoint URL in the form of an HTTP POST request with a JSON payload describing the event. This could allow your application could to send data to your server when a new User or Meeting is created, store recorded data when a Meeting Cloud Recording has ended, or enable Deauthorization events to notify your database when a user uninstalls your app.
Zoom SDKs provide a rich-set of Zoom client-side functionality that can be integrated into your native apps. Currently, with our SDKs, we offer video-conferencing features that mirror the meeting experience in the Zoom Client. We offer SDKs that are compatible with various languages, platforms, and frameworks.
Zoom Android SDK: Power up your Android application with Zoom and allow users to easily start or join Zoom video meetings from your app. It supports API level 14 and later of the Android Platform.
Zoom iOS SDK: Power up your iOS application with Zoom and allow users to easily start or join Zoom video meetings from your app. It supports iOS 8 and later versions.
Zoom Windows SDK: Integrate Zoom Client’s meeting functionality into your own native Windows desktop application. It supports Windows XP and later versions. It is not compatible with UWP (Universal Windows Platform).
Zoom Mac SDK: Integrate Zoom Client’s meeting functionality into your own native Mac desktop application. It supports MacOS 10.6 and higher versions.
Zoom Web SDK: The Zoom Web Client is built to support end users with low bandwidth connections and thus, has a limited set of features. By integrating the Web SDK in your web applications, you can enable meeting features that are available in the official Zoom Web Client. These features include allowing users to join meetings either directly from your app or by dialing in from their phones, send and receive screen-share from other attendees during the meeting and leave the meeting.