UI extensions

A UI extension is a custom button or panel that you create yourself and add to the touch screen of your device. For example, add a "Quick Dial" button to call a frequently used number, or program your device to automatically answer calls from specific numbers.

UI extensions can also control third-party peripherals, such as lights, blinds, and video switches. When the video device and peripherals are controlled from the same user interface, you get a consistent user experience in the meeting room. Communication with the third-party control systems is done through the third-party API.

The open platform enables you to create customizations that attach to your existing workflows; thus, allowing you to create additional value beyond the core Webex offering.

Some examples include:

  • Displaying custom web server data on the main screen.

  • Reporting problems to a ticketing system.

  • Collecting acoustics data from the room and sending it to a webserver where it can be plotted.

  • Controlling third-party peripherals, such as lights, blinds, and video switchers.

You can create UI extensions from the UI Extensions Editor in the local web interface.

Macros

A macro is a small JavaScript program that runs locally on your video device. For instance, you can program your device to automatically answer incoming calls from specific numbers.

Macros can run Application Programming Interface (API) commands for your Webex devices, as well as for third-party systems.

All active macros are running in a single process on the video device, called the Runtime. You can start and stop the runtime, as needed. The Runtime is sandboxed, and the code is securely isolated from the standard software of the device.

You can manage macros from the Macro Editor in the local web interface or from Control Hub.

From the local web interface

You can create UI extensions and macros from the UI Extensions Editor and the Macro Editor in the local web interface.

The UI Extensions Editor provides tools for creating:

  • Action Buttons - A button added to the home page. The action button can be programmed to perform actions when a user taps it.

  • Panels - A control panel can contain many UI elements (e.g., buttons, text fields, switches, sliders), all of which can be programmed to perform actions. This can allow you to combine your own group of controls in a common location.

  • Web Apps – A web app shortcut added to the home page. The web app will launch a pre-defined web page in full screen. This is available on all devices with a Web Engine (i.e., Board and Desk Series devices, excluding DX).

Sign-in to the local web interface using Admin, RoomControl, or Integrator credentials and navigate to Customization > UI Extensions Editor.


UI Extensions Editor

From here, you can:

  • Add, upload, download, or delete a UI extension.

  • Create and configure many types of controls .

  • Set a UI extension to active vs. inactive.

  • Define when the UI extension will be visible.

  • Export your UI Extensions to the video device or to a file on your computer.

To connect a UI extension to a macro, you need to use the unique Id for the item. For example, the Id for your toggle might be "lights_on". Then, you would write a macro that monitored screen taps and when it detected that the "lights_on" button was tapped, it would issue the desired command (e.g., turn on/off the lights).

For examples connecting UI extensions to macros, see the UI Extensions section of the Customization Guide.

The Macro Editor provides a code editor, logging tools, and controls for rapid testing of macros.


Macro Editor

Sign-in to the local web interface using Admin credentials and navigate to Customization > Macro Editor. From here, you can:

  • Create, edit, and delete macros.

  • Import or export macros (*.js).

  • Enable or disable macros.

  • Review debug logs.

  • Save your changes (Ctrl+S)


    If someone has simultaneously edited the same macro from another web location, you will be presented with options to download a copy of your version, discard your edit, or overwrite the other version.