Skip to main content
Use the dashboard-generated snippet for the default launcher. Initialize window.GleanFeed manually when your app needs explicit configuration or lifecycle control.

Initialize manually

Calling init() destroys the previous widget instance before mounting the new one. This makes reinitialization safe when a single-page app changes workspace or customer context.

Initialization options

Remote launcher settings are fetched only in launcher mode. If accentColor or buttonIcon is omitted, the widget uses the workspace setting when available. If remote settings cannot load, the accent falls back to Glean blue and the icon falls back to megaphone.

Launcher icons

buttonIcon accepts megaphone, pencil, chat, feedback, idea, question, note, or help. An unsupported value becomes megaphone.

Open, close, and change views

Launcher mode loads its iframe the first time it opens. Passing a view changes the embedded route. close() hides the launcher panel; it does not destroy the instance. In inline mode, open() can change the view but there is no panel to show or hide.

Update identity or remove the widget

identify() exchanges a server-signed customer identity for an embedded portal session. destroy() removes the iframe, launcher, panel, badge beacon, polling, and event listeners.

React wrapper

There is no public React package to install today. React apps should load widget.js once and call the same window.GleanFeed methods from event handlers or effects. Keep the script outside frequently remounted component trees, call destroy() during application-level cleanup when needed, and use the shared signed identity flow for logged-in customers.