Communicate

Video Meetings

Video Meetings (Communication ▸ Video Meetings) lets you schedule and host branded video calls (screen share, chat, participants and recording) right inside your workspace. Media runs on a managed WebRTC provider (LiveKit recommended), so it scales without us running video servers; we only store the meeting details and mint secure join tokens. Recorded meetings also get an AI notetaker: a transcript, a summary of decisions, and suggested action items you can add as tasks with one click, suggestions only, nothing is created until you approve it.

  1. 1

    Connect a provider (one-time)

    An owner/admin opens Video Meetings ▸ Provider, picks a provider (LiveKit, Daily, Dyte, 100ms, Agora, Vonage, Jitsi, or “Other / custom” for a self-hosted one) and pastes its API key, secret and WebSocket URL, then enables it. Keys are stored secret-isolated (the database denies all client reads and they are never sent to the browser). LiveKit is fully integrated for live joining today; other providers store their config and go live as we add each adapter.

  2. 2

    Schedule a meeting

    Press “Schedule meeting” to open the tabbed scheduler, pre-filled with sensible defaults you can change: it starts today at the next half-hour, runs one hour, and carries a suggested title with the date and time that keeps following the start until you type your own (moving the start also slides the end to keep the length). Details puts the important access choices in front of you: who can join (your team, invited people only, or anyone with the link) and the waiting room, plus time zone, repeat, location and description. Access adds invitees by email and attendance tracking; Options covers recording, screen-share, chat and reminders. Each meeting gets an unguessable room name generated on the server, and the moment you create it the join link AND a Google-style joining-info block are shown with Copy buttons.

  3. 3

    Host + join

    Press Join on any meeting to open the in-app room (/meet/<room>) with camera, mic, screen-share, in-meeting chat and a live participant grid. Your provider key stays server-side: the browser only ever receives a short-lived signed join token.

  4. 4

    In the room: controls, pin & zoom

    The room follows your workspace light/dark theme. The green room shows your camera large with mic and camera buttons on the picture (the mic dot pulses when it hears you), your device choices as three pickers underneath, and one Join button. The Backgrounds & effects button on the corner of the preview opens blur (with strength), eight photographic scenes (aurora ribbons, a blurred loft, evening bokeh, botanical and more), solid colours, your own picture, and the mirror choice, applied live before anyone sees you; a missing device never blocks you. In-call you can mute/unmute, start/stop video, share your screen, open Chat (a red badge counts messages that arrive while it is closed) or People (the live roster with speaking dots), change your background, and switch devices, with speaking and connection-quality indicators on each tile and pagination beyond nine people. Pin any tile (including a shared screen) to spotlight it large; a labelled Unpin button sits on the spotlight (Esc works too). Tiles fit intelligently: a portrait phone camera shows whole instead of cropped, with a per-tile fill/fit toggle. In calls larger than nine people the gallery pages, and whoever is speaking is brought to the first page (calmly: going quiet never reshuffles the grid). On the spotlight you can zoom from 50% (shrink, never crop) to 400%: Ctrl + scroll or pinch, the − / % / + controls, or double-click for 2×, then drag to pan past 100%; reset or unpin snaps it back. The pinned view always starts by showing the WHOLE frame. A Pop out button (Chrome-family browsers) moves the meeting into a small always-on-top window: drag its edges to any size and the video adjusts to fit, exactly like Google Meet’s companion window; Pop in brings it back, and in Chrome the pop-out happens by itself: switch tabs or minimise while your camera or mic is live and the meeting follows you into the small window, then merges back into the tab when you return. The small window keeps only the essential controls at a comfortable size, and every camera in it shows the whole frame. AI noise cancellation (on by default, toggle in the More menu) strips keyboards, fans and background voices on top of the browser noise filter, engages the moment your mic goes live and re-engages when you switch microphones, with Chrome’s platform voice isolation added where the hardware supports it. Joining a call that already has two or more people starts you muted (one tap to speak), and joining from a second device warns you to keep only one unmuted: echo comes from a speaker feeding a nearby microphone, so one hot mic per room (or headphones) is the cure. Nobody can force your microphone open: when a host taps the mic on a muted person, that person gets a one-tap “would like you to unmute” prompt and decides. Guests joining by link see a clear name field, and the Join button explains instead of dimming. Moderation is verified: clients only obey mute/remove/co-host messages from the meeting’s actual host, invite links are scrubbed from the address bar after use, and every meeting can belong to a company: pick one when scheduling and the global company switcher scopes the meetings list like every other page. The in-call counter on the meetings list clears the moment the last person leaves, waiting rooms now hold signed-in outsiders too (not only anonymous guests), and meeting tokens expire after fifteen minutes so a removed participant stays removed. If your connection drops for longer than that, the room quietly fetches a fresh token and rejoins by itself; only leaving, being removed, or joining from another device ends the session. The meetings list itself now uses the same toolbar, columns and grouping as every other module, grouped Live now / Upcoming / Past with search, column preferences and CSV export. And meetings write their own minutes now: with captions (CC) on, every final caption line is saved as a per-speaker transcript (everyone in the call sees a notice), the meeting review shows the full transcript, and one click generates AI minutes: a factual summary, explicit decisions, and action items filed straight into the meeting’s action list with owners where the conversation named them. Human-written notes are never overwritten; the AI section is appended below them. Follow-ups graduate into real work: every action item has a Create-task button (and one Create-tasks for all open items) that files a genuine WorkBOS task, into a project of your choice or none, assigned automatically when the name matches a teammate, with a link back to the meeting in the description. The transcript viewer is searchable with match highlighting, and the global search box finds meetings by anything that was SAID in them, quoting the matching spoken line. Housekeeping runs itself: presence heartbeats are purged after a day and raw transcripts after a year, while minutes and action items, the durable record, are kept.

  5. 5

    Share the link: guests join without an account

    When a meeting’s “Who can join” is “Anyone with the link”, the plain meeting link works for everyone: people without an account open it, enter their name in the green room, and join with no sign-in. With the waiting room on (recommended) they knock and the host admits them, exactly like Google Meet. Meetings limited to your team or invitees show those visitors a clear “sign in to join” screen instead. Use “Copy joining info” (on the meeting row, the created/ready cards or the calendar popover) to share a Google-style details block: title, date and time with the time zone, the video link, dial-in when configured, and who can join.

  6. 6

    Invite guests (personal links)

    On any meeting you host, the “Invite guest” (person +) button still creates a one-time personal join link for someone outside your workspace, useful for invite-only meetings. They open the link, enter their name, and join. No login. Each link is per-guest and stored only as a hash.

  7. 7

    Waiting room + admit

    When a meeting has a waiting room (on by default), guests who open their link wait until you let them in. Inside the room a “Waiting to join” panel lists everyone knocking; Admit each person or dismiss them. Turn the waiting room off for a meeting to let guest links in automatically.

  8. 8

    Add someone after it has started

    Forgot to invite someone? Inside the room, a host or admin opens People, types their email and clicks Invite. That person is emailed a branded one-click join link straight away and lands in the waiting room (or straight in, if it is off). Only hosts and admins see this control, and the server enforces host-only regardless of the button, so a regular member can never invite. The link is single-purpose and stored only as a hash.

  9. 9

    Add to calendar

    Any scheduled meeting shows a calendar (+) button that downloads an .ics invite. Opens in Google Calendar, Outlook, Apple Calendar, etc., with the join link built in. When you create a guest link you can also download an .ics carrying that guest’s personal link to send them.

  10. 10

    Recordings

    Tick “Record meeting” when scheduling. After a recorded meeting ends, your provider uploads the file and it appears under that meeting’s Recordings (record ●) button to download: stored privately, org-scoped by RLS, and counted toward your storage quota; a transcript downloads alongside when your provider produces one. To switch recording on, an admin connects the provider’s recording/egress to the workspace (see the callout).

Turn on recording (admin): recordings arrive through a signed provider webhook, point your LiveKit project’s Egress webhook at the workspace’s meeting-egress-webhook endpoint and set its recording output to the private “recordings” storage bucket. Each webhook is cryptographically verified against your provider secret before anything is stored, so nothing forged can inject a recording. Until that is connected, recording is ready-dark: the toggle and the Recordings view are built and secured, waiting to switch on.

Security & cost by design: every meeting and recording is org-scoped by Row-Level Security; join tokens are minted server-side only for authorized users; guest access authenticates by a hashed token (personal invite links, and a per-browser key for anyone-with-the-link meetings) with IP, per-token and per-meeting rate limits, and guests are held in the waiting room until a host admits; meetings limited to members or invitees always require sign-in; provider secrets are secret-isolated (service-role only); recordings are malware-scan-gated and count toward your storage quota; and per-minute usage is capped with alerts. Until a provider key is connected the module is ready-dark: built and secured, waiting to switch on.

Was this page useful?