Meeting SDK Version: 6.7.5.73 (Linux) Description: We are developing a headless Linux application using the Zoom Meeting SDK to create automated meeting bots. The bots need to participate in breakout rooms - specifically, they need to: Be moved between

Meeting SDK Version: 6.7.5.73 (Linux)

Description:

We are developing a headless Linux application using the Zoom Meeting SDK to create automated meeting bots. The bots need to participate in breakout rooms - specifically, they need to:

  1. Be moved between breakout rooms by the host

  2. Return to the main session when breakout rooms are closed

The Problem:

Our bots can join meetings successfully and can observe breakout room lifecycle events (EDIT, STARTED, STOPPING, ENDED) and they can be moved into breakout rooms, but once they are in the breakout rooms they can’t be moved between rooms and when the breakout rooms close they can’t return to the main room so breakout rooms never actually close while the bots are in them:

  • IMeetingBOController::IsInBOMeeting() always returns NO

  • onHasAttendeeRightsNotification callback never fires

  • IBOAssistant::JoinBO() returns false

  • IBOAssistant::LeaveBO() returns false

  • onHostInviteReturnToMainSession callback never fires

What we have tried:

  1. Joining with with join URL (with tk=) - Bots receive no BO rights at all; IsInBOMeeting() always returns NO

  2. ZAK token authentication - Bots receive assistant, admin, creator, and dataHelper rights, but still no attendee rights

  3. Re-initializing BO controller after STARTED - No change

  4. Explicitly calling JoinBO() with room ID - Returns false

Key observation:

The same code works correctly on a different Zoom account, on that account:

  • IsInBOMeeting() returns YES during the STOPPING phase

  • Bots correctly return to main session when breakout rooms close

  • Moving bots between rooms works

On the current Zoom account:

  • We have a breakout room update and with the new breakout rooms nobody on a web browser is able to join the room at all (they don’t even show up as participants who can be assigned to the breakout rooms), these headless bots do show up and can get assigned to the rooms so I don’t think this is an issue, but for some reason I can’t move them to a new room or back to the main session once they are in the breakout room

It seems the issue could be account-specific, the zoom settings are the same on both accounts from what I can see and so are the SDK app configurations. The new SDK app for the newer account that isn’t working was made later, but the settings do all look the same

Zoom Marketplace app details:

  • On the one that is working:

    • neither of the following are checked:

      • Meeting SDK app with “Are you developing a programmatic join use case?” enabled

      • “Request Anonymous Join Exception” submitted (pending approval)

    • Meetings use registration (join URLs with tk= token)

  • On the one that isn’t working:

    • I tried checking off “Are you developing a programmatic join use case?” in the meeting SDK app, nothing change

    • I tried checking off “Request Anonymous Join Exception” nothing changed yet, but this may require an approval

    • Meetings use registration (join URLs with tk= token)

Breakout room settings enabled in both apps:

  • Allow participants to return to the main session at any time

  • Automatically move all assigned participants into breakout rooms

  • Automatically move all selected participants in breakout rooms to main session

Questions:

  1. Is there an account-level setting or policy that prevents SDK bots from receiving breakout room attendee rights? Wondering if something has changed when creating a newer Meeting SDK app

  2. Does the “Anonymous Join Exception” approval enable this functionality?