Skip to main content

Overview

The Webinars API lets you run your entire webinar communication flow through Flywheel:
  1. Create a webinar (or create it in the dashboard) and link it to a workflow
  2. Register people as they sign up — registrants don’t need to exist in Flywheel first; profiles are created or matched automatically
  3. Flywheel enrolls each registrant into every live workflow with a matching Webinar Registration trigger (reminder emails/SMS anchored to the start time, etc.)
  4. Report attendance during or after the webinar so Webinar Attendance Split nodes can branch attendees vs no-shows for follow-up
  5. Reschedule if the date moves — all pending anchored reminders automatically recompute to the new time

Authentication

All webinar endpoints require authentication using an API key and authentication type header. Include both headers in your requests:
API keys are managed in the Flywheel dashboard under Settings → API Keys. All webinar objects are scoped to the organization the API key belongs to.

Create a Webinar

POST /v1/webinars
Webinars can also be created in the dashboard under Webinars. Dashboard-created webinars start as drafts; API-created webinars default to scheduled.

Register a User

POST /v1/webinars/register The core endpoint. Pass whatever you know about the person — they do not need to be an existing Flywheel user. Flywheel matches them to an existing profile by user_id, email, phone or anonymous_id, or creates a new user profile if there’s no match.

What happens on registration

  1. User identification — the user is found (by user_id → email → phone → anonymous_id priority) or created. Name fields and custom properties are merged into their profile.
  2. Registration — an idempotent registration record is created for the (webinar, user) pair.
  3. Workflow enrollment — the user is enrolled into every live workflow with a Webinar Registration trigger matching this webinar (or bound to “any webinar”).
  4. Event fired — a $fw_webinar_registration event is recorded on the user’s timeline with the webinar details, usable in event-triggered workflows, segments, and analytics.
Registering the same user for the same webinar twice is safe: the API returns the existing registration with already_registered: true and fires no duplicate workflows or events.

User object

At least one of user_id, email, phone or anonymous_id is required.

The $fw_webinar_registration event

Every new registration records this event with the following properties:
The $fw_ prefix is reserved — it can only be produced by Flywheel itself, so the event is a trustworthy signal in workflows and segments.

Webinar Platform Integrations (Demio)

If your organization has connected Demio (Dashboard → Settings → Integrations) and the webinar is linked to a Demio event in the webinar drawer, registration does two extra things automatically:
  1. The registrant is pushed to the Demio event, so they exist in Demio without any extra call.
  2. Demio’s personalized join link for that attendee is stored on the registration and exposed to workflows as the registration_join_url context variable — use it in reminder emails/SMS so each person gets their own join button.
Attendance also syncs automatically: about 30 minutes after the webinar’s scheduled end, Flywheel pulls Demio’s participants report and marks attendees, feeding Webinar Attendance Split workflow nodes with no manual attendance calls. You can still call the attendance endpoint below for corrections or non-Demio webinars.

Mark Attendance

POST /v1/webinars/attendance Report that a registrant attended (or didn’t). Resolve the user by user_id or email. Attendance is read live by Webinar Attendance Split workflow nodes when they run, so you can report it during the webinar or after it ends.

Reschedule a Webinar

POST /v1/webinars/reschedule Move the start time. Every pending “wait until webinar start ± offset” step in in-flight workflow runs is recomputed, so reminder sequences follow the new time automatically.

Typical Integration

A landing-page signup form wired to Flywheel:
Pair this with a workflow that uses the Webinar Registration trigger, anchored waits (“1 day before start”, “1 hour before start”), and a Webinar Attendance Split after the webinar ends for attendee vs no-show follow-ups.