Join & room UX
What end users experience after your LMS or API issues a join link.
Flow
- Integrator calls wire API
join(withfullName, optionalavatarURL/userID/logoutURL) or uses JSON join URLs - API validates password/role and issues a short-lived ticket
- Browser redirects to
https://meet.{domain}/join/{ticket} - User enters the 2meet meeting room (video, whiteboard, chat, recording)
- On leave/end, if
logoutURLwas set, the browser returns to the LMS
Display name & avatar
Pass fullName and optionally avatarURL on wire join (BBB-compatible). The avatar appears on video tiles (when camera is off), the participants sidebar, and chat. Invalid or non-HTTP(S) avatar URLs are ignored. Optional userID stabilizes identity across reconnects.
Return to LMS
Pass BBB-compatible logoutURL on create and/or join (join wins). JSON API uses logout_url. After leave or session end, 2meet redirects the browser to that URL so teachers and students land back in Moodle/Canvas (or your LMS).
Organization logo
On create, 2meet snapshots the customer tenant’s logo/name into meeting metadata (org). Join returns that snapshot (so the live classroom header on meet.* does not depend on Host-based branding). Older meetings without a snapshot fall back to live tenant branding.
Native 2meet room
Participants use the 2meet meeting room. Your LMS integration uses the standard wire protocol; the in-room product is 2meet.
Roles
| Wire API | 2meet room |
|---|---|
| MODERATOR / moderator password | Host controls, screen share, end meeting |
| VIEWER / attendee password | Participant — camera, chat, whiteboard per settings |
Recordings
When record=true on create, recordings appear via getRecordings with playback URLs suitable for LMS embedding or download.
Session cover (optional)
Organizers and integrators may upload an optional cover image for a session. It is shown on the main video stage when:
- The host camera is off, or
- The session has not started yet (
actual_start_atis empty)
This is separate from file share (presenting slides/images live). If no cover is uploaded, participants see the normal avatar or waiting message.
Configure via organizer portal when creating a session, or via LMS JSON / Tenant API (POST …/cover, field cover).