Widgets

WidgetIDAPIFor
ChatchatDocumentedMessages, files, voice and video messages between participants.
Whiteboardwhiteboard—A shared drawing surface over your page.
Notesnotes—Meeting notes grouped by day and meeting.
VotingvotingDocumentedPolls with live results.
Planning pokerplanning-poker—Estimate tasks with Fibonacci or T-shirt cards.
Retrospective boardretro-board—Retrospectives in writing, voting and discussion phases.
Approval and decision cardsapproval-cardsDocumentedCollect approvals and decisions from participants.
ReactionsreactionsDocumentedEmoji reactions that float over the page for everyone.
Raise handraise-handDocumentedA queue of raised hands.
Recording Demosrecording-demosDocumentedRecord and replay demos, capture issues, report your app's events.
Distributed Neural Trainingdistributed-trainingDocumentedTrain a neural network together in participants' browsers.
Transcriptiontranscription—Live speech-to-text in the browser.
Shared document previewshared-document-preview—Review a PDF, image or text file together.
AI assistantai—An AI chat inside your page.
Parallel computingparallel-computing—A demonstration of splitting a computation between participants.
Connection diagnosticsping, peer-time, topology, rtc-debug—Ping, clock offset, network map and connection logs.

Every widget is described on its own page. Widgets marked — have no API: they are opened and used from the control panel or with widgetsApi.

widgetsApi

TypeScript
interface WeeiWidgetsApi {
  enable(widgetId: string): void | Promise<void>;
  disable(widgetId: string): void;
  toggle(widgetId: string): void | Promise<void>;
  get<TApi extends object>(widgetId: string): TApi | undefined;
}
MethodBehavior
enable(id)Opens the widget. It may load the widget first, so await it.
disable(id)Closes the widget. Mandatory widgets cannot be closed.
toggle(id)Opens or closes the widget.
get(id)Returns the widget's API, or undefined if the widget is unavailable or has no API. Some APIs work only while the widget is open; each widget page says when its API is available.

These methods do not grant access: a widget not enabled for your site stays unavailable. Always handle undefined from get(), and look the API up again each time you use it — reopening a widget replaces it.

JavaScript
const weei = await window.weeiReady;
await weei.widgetsApi.enable('reactions');
const reactions = weei.widgetsApi.get('reactions');
if (reactions) reactions.send('👍');
else console.warn('Reactions are not enabled for this site.');