window.GleanFeed manually when your app needs explicit configuration or lifecycle control.
Initialize manually
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
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 loadwidget.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.