# 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](/docs/zoom-apps/guides/webinar), applications for attendees support only Guest Mode to preserve attendee's privacy. ## Prerequisite: - Minimum Zoom Client version 5.10.6 - You have selected **Zoom Chat** in the [Surface](/docs/build-flow/quick-start-guide/#select-in-which-zoom-products-users-can-open-your-app) section of your app configuration. ## 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](https://appssdk.zoom.us/classes/ZoomSdk.ZoomSdk.html) 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](/docs/zoom-apps/guides/guest-mode/) changes the [In-Client OAuth](/docs/zoom-apps/authentication/) 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](https://appssdk.zoom.us/classes/ZoomSdk.ZoomSdk.html). 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: 1. Navigate to **Manage** -> **Created Apps** and select your app. 1. 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. > **Guest mode testing** > > You must enable **Guest Mode Testing** for each testing device. > If Guest Mode Testing is not enabled, the app displays an error message: > > ```plaintext > You are not allowed to use this app in Guest Mode. Please contact the app developer for more details. > ``` ## Resources For methods and events available in Guest Mode, see the [Zoom Apps SDK Reference](https://appssdk.zoom.us/classes/ZoomSdk.ZoomSdk.html).