aWhere Manual
DevelopWidgets

Launcher

Embed the grid of the Apps installed on the site, so the user can open another App from your page, either by a link or by a message that you handle.

The app widget shows a grid of the Apps that the site has installed, read from the platform's list of Apps. Core Apps come first, then the order the site set.

URL and parameters

The parameters that start with _ are the same for every widget. See Widgets.

ParameterMeaningRequired
use_hreftrue makes each App a link to its URL. false makes it a plain button. Without it, true.No
targetThe target of the link. Without it, _blank. Used when use_href is true.No
disabled_appThe ids of Apps that are shown but cannot be pressed, separated by commas.No
hidden_appThe ids of Apps that are not shown, separated by commas.No

The ids of Apps come from /platform, for example drive and map-studio. An App that the site installed has its own id.

Messages

This widget does not send ready and does not take post-widget-parameters. For the other common messages see Widgets.

actionDirectionpayload
open-appwidget to your page{ appId, url }. The user pressed an App, and url is the URL of that App.

The widget sends open-app each time the user presses an App that is not disabled, even when use_href is true and the browser is already opening the link.

Notes

To open the App yourself, set use_href=false and open payload.url in your page, for example by navigating or by opening a new tab.

Example

const messageToken = crypto.randomUUID()
const params = new URLSearchParams({
  _credential_type: 'bearer-token',
  _token: token,
  _origin: location.origin,
  _message_token: messageToken,
  _locale: 'en',
  use_href: 'false',
  hidden_app: 'configuration',
})
frame.src = `${site}/widgets/app?${params}`

addEventListener('message', (e) => {
  if (e.origin !== site || e.data.messageToken !== messageToken) return
  if (e.data.action === 'open-app') location.href = e.data.payload.url
})

On this page