Zoom Apps for Breakout Rooms
Breakout rooms allow the host to split a meeting into smaller sessions to enable close collaboration or networking in smaller groups.
For more details, see our blog post on using breakout rooms and support article on managing breakout rooms.
Handling breakout rooms in Zoom Apps
-
All apps that work in meetings are required to support breakout rooms. The default expectation is that the application treats breakout rooms as separate meetings, and engages only participants in the current room.
-
Developers can choose to implement different logic for their apps in a breakout room environment to create more immersive experiences.
Special considerations for apps in breakout rooms
-
When the application is used in a breakout room, the invites can be sent only to participants in the same breakout room.
-
To identify that the application is running in a breakout room, call
getMeetingUUIDmethod: in breakout room environment, it returnsmeetingUUIDandparentUUID, wheremeetingUUIDidentifies the current breakout room, andparentUUIDidentifies the main meeting. If the application needs to create a multi-room experience, useparentUUIDto connect individual rooms. -
Applications need to work reliably without a meeting owner. One meeting supports a large number of breakout rooms, and all of them have the same meeting owner who is not necessarily present in an individual room.
-
When the user enters or leaves the breakout room, the application is not reloaded but receives
onBreakoutRoomChangeevents. It is recommended to reevaluate the meeting context (meetingUUID, current participants) when this event is triggered. -
When the user enters or leaves the breakout room, the participant id changes in all methods.
-
When an app is started inside of a breakout room, the
X-Zoom-App-Contextheader contains the Breakout Room UUID in themidfield, and the main Meeting UUID in thepidfield.
Managing breakout rooms through Zoom Apps SDK
Applications can have an additional level of control over Zoom Meetings and facilitate new meeting experiences by creating and managing breakout room configurations.
- To create a fully automated experience, the application must be used by a meeting owner. This enables the application to create rooms, assign participants and open/close the rooms.
- When an application is used by a participant, it can allow participants to switch between breakout rooms, or join the main meeting.
When the application is in use, the host maintains manual control over the state. Use event onMeetingConfigChanged to catch any changes, and getBreakoutRoomList to get the up-to-date configuration.
When implementing breakout room management, consider graceful handling of edge case scenarios:
- Outdated Zoom clients that don't have support for the required Zoom Apps SDK.
- Meetings that don't have breakout rooms enabled.
Note: Currently breakout rooms do not support Collaborate or Layers.
Enabling breakout rooms using REST API
You can enable or disabled breakout rooms on account, group and user level. Each level has lock down option that prevents lower levels from changing the setting.
To help users configure breakout rooms automatically, you can implement the following logic:
- Enable breakout rooms for hosts at a user level; do not change the settings for all application users. The recommended best practice is to ask the host's confirmation before altering the setting.
- Validate the setting was set successfully.
- When settings are not set successfully, direct users to documentation or implement an account-level helper application to update global settings.
REST API methods (look for in_meeting.breakout_room setting):
User level:
- Get user settings:
GET https://api.zoom.us/v2/users/:userId/settings - Update user settings:
PATCH https://api.zoom.us/v2/users/:userId/settings
Group level (require account-level application):
- Get a group's setting:
GET https://api.zoom.us/v2/groups/:groupId/settings - Update a group's setting:
PATCH https://api.zoom.us/v2/groups/:groupId/settings
Account level (require account-level application):
- Get account settings:
GET https://api.zoom.us/v2/accounts/:accountId/settings - Update account settings:
PATCH https://api.zoom.us/v2/accounts/:accountId/settings