Guest Mode

Zoom enables meeting participants to join meetings without requiring authentication. This results in a frictionless, simple, and intuitive experience for meetings. Guest Mode extends this feature to Zoom Apps. Authenticated users can add a guest mode enabled app and invite unauthenticated users to use it in their meetings.

Example: Bob is an authenticated user, and has added the "Project Schedule" app to their meeting. Bob invites Jill, an unauthenticated user, to join their meeting. The app has Guest Mode enabled and Jill can use the app in the meeting to collaborate with Bob.

Note : In Zoom Apps for Webinars, applications for attendees support only Guest Mode to preserve attendee’s privacy.

Scope

Unauthenticated users may only use an authenticated user’s application for collaboration. They cannot:

  • Discover or initiate applications. They can only open apps when they receive an invitation.
  • Send invitations.
  • Access REST API’s.
  • Access certain Zoom APIs. A device prompt displays when the app tries to invoke the APIs. For example, setVirtualBackground prompts for the user’s confirmation before changing the background. See Zoom Apps APIs for information about individual methods.

In Guest Mode, x-zoom-app-context header does not contain the uid field

Elevating the app experience

To raise privileges and access improved app features, the application can prompt the user to sign in and add the app.

Things to consider:

  • Users that do not have an account, or don’t remember their credentials, won't be able to complete the authentication process, and the app will continue operating in guest mode.
  • The application can use cookies to store user data during the authentication process.
  • Enabling Guest Mode changes the In-Client OAuth experience for users when they accept the invitation to add the app. The app opens in Guest Mode and the user context status is ‘unauthenticated’ or ‘authenticated’.

Users can operate in three states:

  • unauthenticated - Not signed in with Zoom.
  • authenticated - Authenticated with Zoom, but did not add the app.
  • authorized - The user has added the app and granted the required scope permissions.

To get the current user's status, use getUserContext and listen for the onMyUserContextChange event.

To nudge the user to elevate their status (either sign in, or add the app), use promptAuthorize.
IMPORTANT: Calling promptAuthorize prompts the user to either sign in to Zoom or add the app, and updates the user context status per the states noted above. You must reconfigure the application upon user context status change, by calling the config method.
For more info, see Zoom Apps SDK Reference.

If the app doesn’t support in-client authentication, it is reloaded when the user completes the authentication flow. In other scenarios, the app is not reloaded and needs to listen to onMyUserContextChange event to dynamically update the UX state.

Once authenticated, the app can use the authorize method to get new authentication token if needed.

Enabling and testing Guest Mode for the application

To enable Guest Mode for the application:

  1. Sign in to the Zoom Marketplace as the application owner.
  2. Navigate to Manage -> Created Apps and select your app.
  3. Click Features and Enable Guest Mode .

To test your application:

  1. Enable Guest Mode testing in the application settings: a. Navigate to Manage -> Created Apps and select your app. b. Click Features and Enable Guest Mode Testing.
  2. Enable Guest Mode testing in the local environment:
    • On Windows: Add [ZoomChat] enableGuestModeTesting=true to the %appdata%/Zoom/data/Zoom.us.ini
      Use enableGuestModeTesting=false to reset the setting and test production-like environment.
    • On MacOs: Execute this command in terminal: defaults write ZoomChat enableGuestModeTesting true
      Use defaults write ZoomChat enableGuestModeTesting false to reset the setting and test production-like environment.
  3. As an authenticated user, click Collaborate, or start a meeting and send an invitation to unauthenticated participants.
  4. As an unauthenticated user, accept the invitation.
Note: You must enable Guest Mode Testing for each device that is used for testing. If Guest Mode Testing is not enabled, the app displays a message: “You are not allowed to use this app in Guest Mode. Please contact the app developer for more details.”

Guest Mode API support

Methods and events available in Guest Mode:

  • User information
    • getUserContext
  • Technical data
    • getMeetingUUID
    • getRunningContext
    • getSupportedJsApis
  • UX functions
    • expandApp
    • showNotification
    • openUrl
  • User view controls - Requires device prompt if user is unauthenticated for all these methods:
    • setVirtualBackground
    • removeVirtualBackground
    • listCameras (list: cameraId, cameraName)
    • setCameras
    • setVideoMirrorEffect
    • openUrl
    • shareApp
  • Layers
    • runRenderingContext
    • drawParticipant
    • drawImage
    • clearParticipant
    • clearImage
    • closeRenderingContext
    • onMyMediaChange
  • Breakout rooms
    • getBreakoutRoomList
    • changeBreakoutRoom
    • onBreakoutRoomChange
    • onMeetingConfigChanged
  • Technical functions
    • callZoomAPI
    • config
  • Events
    • onShareApp
    • onAppPopout
    • onExpandApp
    • onMyUserContextChange

Need help?

If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.