Registration-gated video webinars
A webinar on Orbit is a scheduled video room with a registration gate in front of it. Instead of handing every viewer the same open guest link, you publish a registration form, each attendee that signs up receives their own join token, and only the people you approve hold a working seat. You flip the gate on per room, and Orbit tracks the whole attendee lifecycle on that room: who registered, who you approved, declined, waitlisted, or blocked, who actually checked in on the day, and how the final numbers compare.What the gate gives you
- Pick the room. Registration belongs to a single scheduled video room — choose which of your rooms runs as a webinar.
- Open the gate. Enable registration to start accepting sign-ups; close it any time to freeze the list while keeping existing registrants.
- Configure the form. Require approval, cap the number of approved attendees, and attach up to 20 custom questions (label, optional/required).
- Review registrants. Everyone who signs up lands in the room’s list with their name, email, answers, and a per-person join token.
- Decide each status. Approve, decline, waitlist, or block one registrant at a time. Approving over the capacity ceiling is refused, so move someone to the waitlist or raise the cap first.
- Check attendees in. Mark approved registrants as attended when they show up — on the day, or as a post-event tally.
- Read the report. Registered vs approved vs attended vs no-shows per room, so “how many of my 500 sign-ups actually showed” is one panel, not a spreadsheet.
In the dashboard
Open Voice → Video → Webinars, pick a room from the selector, and the panel splits into:- Report — registered, approved (against your capacity), attended with the attendance rate, pending, and no-shows.
- Registration tab — the form settings (open/close, approval toggle, capacity, custom questions) and the registrant list with per-row decisions, check-in, and join-token copy.
- Simulive tab — optional pre-recorded-as-live playout for the same room.
A registrant’s lifecycle
decided_at and decided_by, and only an approved
registrant can be checked in — repeat check-ins are idempotent and keep the
first timestamp. Removing a registrant invalidates their join token
immediately.
From the API
The Webinars panel sits on the Video API surface, under the scheduled-rooms prefix. Reads need thevideo:read scope; writes need video:write plus an
owner, admin, or developer role (the same roles the dashboard panel grants).
Open the gate
-, and _). Closing the gate later is
{"enabled": false} — registrants already on the list keep their tokens.
Register an attendee
201 returns the registrant record — including its unique join_token,
which is the value you hand to that attendee. Re-registering the same email
returns 409; skipping a required question returns 400 naming the question;
a closed gate returns 409. Your own public sign-up form should post through
your back end or an API key holding the video:write scope.
Read the gate (and the report)
attendance_rate is attended ÷ approved on a 0–1 scale; no_shows counts
approved registrants who never checked in; capacity_remaining is null when
the room is uncapped.
Decide, check in, remove
409 telling you to waitlist or
raise the cap first. Check-in takes an empty body; a repeat check-in returns
the registrant unchanged. DELETE on the same path removes the registrant and
kills their token.