How Ronnie Relay works
1. Trigger
A join is initiated in one of two Owner-only ways:
- Scheduled: a background watcher reads the Owner's own connected calendar and, shortly before a meeting starts, requests a bot for that meeting's link.
- Ad-hoc: the Owner pastes a meeting link into their private chat channel, which requests a bot for that link.
Only one meeting is handled at a time.
2. Authorization
The backend generates a short-lived Meeting SDK JWT from the app's Client ID / Client Secret. For meetings hosted outside the Owner's own Zoom account, it also mints a Zoom On-Behalf-Of (OBF) token attributed to the Owner, so the assistant attends strictly on the Owner's behalf and only while the Owner is present.
3. Joining the meeting
- A headless Linux bot process initializes the Zoom Meeting SDK and authenticates with the JWT.
- It joins the meeting as an unauthenticated participant using the display name "Ronnie Relay".
- It renders a branded video tile (the Ronnie Relay logo) so its presence is unmistakable to everyone in the meeting.
- If the meeting has a waiting room, it waits to be admitted by the host, exactly like a human participant.
4. Recording indicator & notification
The bot participates visibly and does not conceal that a note-taker is present. Meeting participants can see the "Ronnie Relay" tile and name at all times. The Owner is responsible for any additional notice/consent their jurisdiction requires. If recording permission is revoked, or the host removes the bot, it stops capturing and leaves.
5. Live transcription
Captured audio is transcribed in real time into a speaker-attributed transcript that the Owner can follow live. Voice-activity detection is used so silence is not sent for transcription.
6. Leaving
The bot leaves when the meeting ends, when the Owner leaves (for on-behalf-of meetings this is enforced by Zoom), or when a configured inactivity timeout is reached.
7. Notes delivery
After the meeting, the transcript is summarized into concise notes and action items and delivered privately to the Owner by email and the Owner's private chat channel. Nothing is shared with any third party.
Zoom Meeting SDK — scopes & tokens used
| Mechanism | Why it's used |
|---|---|
| Meeting SDK JWT (Client ID/Secret) | Authenticates the SDK session so the bot can join a meeting. |
On-Behalf-Of (OBF) token — user:read level access via Server-to-Server OAuth | Attributes the bot to the Owner so it may join meetings hosted outside the Owner's account, only while the Owner is present. |
| Raw audio (in-meeting) | Captures meeting audio for transcription. The bot is a visible participant when doing so. |
The app follows least-privilege: it does not request account administration, recording-download, or user-management scopes beyond what is needed to mint the Owner's OBF token.
Demonstration
A short demonstration video showing a join, the visible "Ronnie Relay" tile, the live transcript, and the delivered notes is available here:
Reviewers who need to observe a live join can request a scheduled demonstration via Support; the Owner will host a test meeting and admit the assistant on a call.