Documentation menu

Live sessions & webinars

A live session is a real streamed broadcast MailInApp hosts end-to-end — ingest, encoding, and playback — not just a Zoom or Meet link dropped into an email. This is a different feature from the studio's Meeting link block: Meeting link is a Join button pointing at a video-call provider you already use; a live session is MailInApp actually receiving your stream and serving it back out to viewers.

Every live session starts the same way, from Live (/dashboard/live) in the dashboard. What differs is who's allowed to watch it:

  • Subscribers-only (the default) — gated to your paying Learning Membership subscribers, e.g. a monthly critique call or office hours tied to a course.
  • Public registration — a stand-alone webinar: anyone can sign up with just a name and email, no subscription required.

Subscribers-only live sessions

Create a session, optionally tie it to a course, and set a scheduled time. Starting it reveals an ingest URL — paste it into OBS or whatever streaming software you use; the URL itself is the whole push credential, so treat it like one (it's only ever shown on your own owner-only session detail page). A background poller automatically ends a session whose encoder disconnects or errors, so a crashed stream can't keep running (and billing) unattended.

Subscribers watch at /learn/<slug>/live/<liveSessionId>, gated by the same live entitlement check lesson playback uses — there's no "free preview" for a live session; every viewer needs a currently-active subscription.

Chat & Q&A during the session

Two panels run alongside the stream, both for subscribers and for you as the host:

  • Live chat — a shared thread anyone entitled can post into. You can hide an individual message (never a hard delete) if it needs moderating.
  • Q&A — a separate queue of subscriber-submitted questions you can triage and mark answered, kept apart from chat so it doesn't get lost in a fast-moving conversation.

Both refresh every few seconds and re-check entitlement on every single post, not just at page load, so access lost mid-session (a cancellation, say) takes effect immediately.

Announcing a session

There's no automatic reminder — from the session's detail page, hit Notify subscribers to send a one-off announcement to everyone currently entitled. For your own campaign instead, a Countdown block pointed at the session's start time works the same way it would for any other deadline.

Public webinars (no subscription required)

Flip a session's access mode to Public registration and set an optional capacity to run it as a free-standing webinar instead — useful for a lead-gen or one-off session that shouldn't require anyone to already be a paying member.

  1. Share the registration link/webinar/<liveSessionId> is a public landing page (title, scheduled time, a name/email form). Anyone can register; if you've set a capacity, registrations past it are recorded as waitlisted rather than confirmed, the same confirmed/waitlisted split the RSVP block uses for a free in-person event.
  2. Confirmed registrants get a join link by email — a signed, one-tap link into /webinar/<liveSessionId>/join, no account or sign-in needed. It plays the exact same live viewer (and chat/Q&A) a subscriber gets, just reached through a registration token instead of an active subscription.
  3. Manage registrants from the dashboard — the session's detail page shows confirmed/waitlisted counts and a sample list, plus a copyable registration link.
  4. Send a reminder — a Send reminder button on the registrants panel emails every confirmed registrant their own join link again, once a scheduled time is set — a separate action from Notify subscribers, since a registration-mode session's registrants and any paying subscribers are different audiences that can, in principle, both exist on the same session.
  5. Promote it like any other event — the built-in Webinar studio preset (a heading, a Countdown, and a Register button) gives you a starting point; point the button at your /webinar/<liveSessionId> link and fill in the countdown's end time.

A webinar registrant is deliberately not a Subscriber — they haven't paid anything and have no ongoing relationship with your account, so they're tracked in their own collection and never mixed into your Learning Membership subscriber counts or billing.

How this differs from an email invite

If all you need is to announce a Zoom/Meet/Teams call with a Join button and an RSVP, the Meeting link and RSVP blocks covered in Events & webinars are the simpler fit — no MailInApp-hosted video, just an invite email. Reach for a live session instead when you actually want MailInApp to host the stream itself, with a real join page, chat, and Q&A built in.