opensesh docs

Widgets & embeds

Widgets (/admin/widgets) publish your program onto any website — your conference site keeps its own design while opensesh stays the source of truth. A widget is a configured, embeddable view with a stable URL.

Views

Five view types cover the usual program pages:

ViewWhat it renders
SessionsA filterable session list.
Speaker listCompact speaker roster.
Speaker galleryHeadshot grid.
AgendaThe published schedule.
ItineraryA personal, day-by-day view.

These mirror the tabs on the hosted public event site (/e/<eventSlug>), so an embed and the hosted page always agree.

Building a widget

The builder is a form beside a live preview. You set: Name, View, Filters (Tracks / Formats / Days / Tags from the event library), Theme, Time display, Primary color, Visible fields (show or hide description, speakers, chips per item), and Custom CSS.

The preview is live

The preview updates instantly as you type — it's wired over postMessage, no reloads.

Custom CSS and the os-* selector API

Widgets expose a documented set of stable class hooks, so your CSS survives upgrades:

.embed-root         /* outermost container */
.os-list            /* list wrapper */
.os-session         /* one session card */
.os-session-title
.os-session-meta
.os-session-description
.os-track-chip
.os-format-chip
.os-speaker
.os-speaker-card
.os-speaker-name
.os-headshot
.os-gallery
.os-agenda-slot
.os-day-heading

Style against these instead of generated class names. The View HTML dialog shows the preview's actual rendered markup with syntax highlighting, so you can see exactly what you're targeting.

Embedding and feeds

Every widget offers four outputs:

OutputWhat you get
Share URLA standalone hosted page for the widget.
Iframe snippetCopy-paste embed for any site.
JSON feedGET /embed/<id>/json, the widget's data (respecting its filters) for fully custom frontends.
ICSGET /embed/<id>/ics, a calendar feed users can subscribe to.

What shows up

Only approved, published content renders

Session data comes from the approved snapshot maintained by the content approval flow, and agenda views show only a published schedule. An unreviewed speaker edit or an unpublished draft schedule can't leak into an embed.

On this page