Authentication
{{ authError }}
Live Events
{{ ev.event }}
-
{{ ev.name }}
({{ ev.friendly_id }})
| Name | Friendly ID | Status | Last Session | Created |
|---|---|---|---|---|
| {{ room.name }} | {{ room.friendly_id }} | {{ room.online ? 'Online' : 'Offline' }} | {{ formatDate(room.last_session) }} | {{ formatDate(room.created_at) }} |
| No rooms found | ||||
Page {{ roomPage }} of {{ roomsMeta.pages }}
{{ selectedRoom.name }}
- Friendly ID
- {{ selectedRoom.friendly_id }}
- Meeting ID
- {{ selectedRoom.meeting_id }}
- Status
- {{ selectedRoom.online ? 'Online' : 'Offline' }}
- Owner
- {{ selectedRoom.owner.name }} ({{ selectedRoom.owner.email }})
Join
BBB join URLs not available (set BBB_URL and BBB_SECRET in .env)
Viewer code: {{ roomJoinInfo.viewer_access_code }}
Moderator code: {{ roomJoinInfo.moderator_access_code }}
No access codes required
{{ rec.name }}
{{ rec.length }}m, {{ rec.participants }} participants
No recordings
Loading sessions...
No sessions found
{{ s.name }}
Attendance
No attendance
{{ s.length }}m
{{ s.participants }} participants
{{ formatDate(s.recorded_at) }}
{{ s.attendance_summary.total_unique_participants }}
Unique
{{ s.attendance_summary.moderators }}
Moderators
{{ s.attendance_summary.viewers }}
Viewers
{{ s.attendance_summary.duration_minutes }}
Duration (m)
Page {{ roomSessionsPage }} of {{ roomSessionsMeta.pages }}
Meeting Options
{{ opt.name }}: {{ opt.value }}
{{ selectedRecording.name }}
- Length
- {{ selectedRecording.length }} min
- Participants
- {{ selectedRecording.participants }}
- Visibility
- {{ selectedRecording.visibility || '-' }}
- Recorded
- {{ formatDate(selectedRecording.recorded_at) }}
No formats available
Attendance Report
Loading attendance data (SSH fetch may take a moment)...
{{ attendanceError }}
{{ attendance.summary.total_unique_participants }}
Participants
{{ attendance.duration_minutes }}
Minutes
{{ attendance.summary.total_chat_messages }}
Chat Msgs
{{ attendance.summary.poll_count }}
Polls
| Name | Role | Duration | Attendance | Rejoins | Chats |
|---|---|---|---|---|---|
| {{ p.name }} | {{ p.role }} | {{ p.duration_minutes }}m |
|
{{ Math.max(p.sessions_count - 1, 0) }} | {{ p.chat_messages }} |
| No participants found | |||||
{{ usersMeta.total || 0 }} users total
| Name | Provider | Verified | Last Login | |
|---|---|---|---|---|
| {{ user.name }} | {{ user.email }} | {{ user.provider || '-' }} | {{ user.verified ? 'Yes' : 'No' }} | {{ formatDate(user.last_login) }} |
Page {{ userPage }} of {{ usersMeta.pages }}
{{ recsMeta.total || 0 }} recordings total
| Name | Length | Participants | Visibility | Recorded |
|---|---|---|---|---|
| {{ rec.name }} | {{ rec.length }}m | {{ rec.participants }} | {{ rec.visibility || '-' }} | {{ formatDate(rec.recorded_at) }} |
| Setting | Value | Provider |
|---|---|---|
| {{ setting.name }} | {{ ss.value || '-' }} | {{ ss.provider || '-' }} |
| {{ setting.name }} | No values | |
Admin Authentication
{{ adminError }}
API Keys
{{ adminError }}
| Name | Key | Status | Created | Actions |
|---|---|---|---|---|
| {{ k.name }} | {{ k.key }} {{ k.key.slice(0, 8) }}... | {{ k.active ? 'Active' : 'Inactive' }} | {{ formatDate(k.created_at) }} | |
| No API keys | ||||
Webhooks
| Name | URL | Events | Status | Actions |
|---|---|---|---|---|
| {{ wh.name }} | {{ wh.url }} |
{{ ev.trim() }}
|
{{ wh.active ? 'Active' : 'Inactive' }} | |
| No webhooks configured | ||||
Delivery History
| Time | Webhook | Event | Status | Actions |
|---|---|---|---|---|
| {{ formatDate(entry.created_at) }} | {{ entry.webhook_name }} | {{ entry.event }} | {{ entry.response_status }} {{ entry.response_status || 'Error' }} | |
| No webhook deliveries yet | ||||
{{ logsMeta.total }} entries — page {{ logsMeta.page }} of {{ logsMeta.pages }}
Webhook Delivery Detail
- Webhook
- {{ selectedLog.webhook_name }}
- Event
- {{ selectedLog.event }}
- URL
- {{ selectedLog.url }}
- Time
- {{ formatDate(selectedLog.created_at) }}
- Status
- {{ selectedLog.success ? 'Success' : 'Failed' }} {{ selectedLog.response_status ? '(' + selectedLog.response_status + ')' : '' }}
Error
{{ selectedLog.error }}
Request Body
{{ formatJson(selectedLog.request_body) }}
Response Body
{{ selectedLog.response_body }}
Webhook Events Reference
room.online
Room started a meeting
{
"event": "room.online",
"room_id": "uuid",
"friendly_id": "abc-def-ghi",
"name": "Room Name",
"online": true,
"meeting_id": "bbb-meeting-id",
"owner_name": "John Doe",
"owner_email": "john@example.com",
"last_session": "2026-02-19T10:30:00Z",
"recordings_count": 5
}
room.offline
Room meeting ended
{
"event": "room.offline",
"room_id": "uuid",
"friendly_id": "abc-def-ghi",
"name": "Room Name",
"online": false,
"meeting_id": "bbb-meeting-id",
"owner_name": "John Doe",
"owner_email": "john@example.com",
"last_session": "2026-02-19T12:00:00Z",
"recordings_count": 6
}
meeting.attendance
Attendance report processed (auto after room.offline)
{
"event": "meeting.attendance",
"friendly_id": "bbb-record-id",
"name": "Recording Name",
"online": false,
"record_id": "bbb-record-id",
"recording_name": "Recording Name",
"room_name": "Room Name",
"duration_minutes": 90.5,
"participants_count": 15,
"summary": {
"total_unique_participants": 15,
"moderators": 2,
"viewers": 13,
"avg_duration_minutes": 78.3,
"total_chat_messages": 42,
"poll_count": 3
}
}
Signature verification (if secret is set):
Header X-Webhook-Signature = HMAC-SHA256(secret, body)