# Troubleshooting Webex Contact Center desktop layout and widget errors

Canonical: https://warmtransfer.net/knowledge/wxcc-desktop-layout-troubleshooting

Last verified: 2026-10-02

Webex Contact Center Agent Desktop layouts are JSON files that administrators download, customise, and upload in Control Hub under Services > Contact Center > Desktop Experience > Desktop Layouts[^9][^52]. Cisco Developer Relations presents iFrame widgets and Web Components as the two ways to build custom Desktop widgets, and both are defined through layout.json[^54].

## How layouts reach an agent

The Global Layout is system-generated, and it is set automatically as a team's desktop layout when the team is created[^20]. Assigning a custom layout to a team overrides the Global Layout, which is the default layout for all teams[^10]. For agent-based teams, the team create or edit page has a Desktop Layout drop-down for selecting the team's layout[^47]. Changes to Teams and Desktop Layouts are linked bidirectionally, so an update to one can affect the other, and both may appear together in audit logs[^46].

An agent chooses a team from the Team drop-down when signing in, and the Desktop's appearance depends on the layout the administrator configured[^45]. When a supervisor signs in to the Desktop, the layout of their primary team is applied[^42]. We infer that an agent who belongs to several teams probably gets the layout of the team picked at sign-in, so picking a different team is a likely cause of "wrong layout" reports[^2].

Webex Contact Center allows up to 200 active desktop layouts[^1].

## Diagnosing layout administration problems

**A team is missing from the drop-down.** If a team already has a custom layout assigned, that team does not appear in the team drop-down when you create another desktop layout[^5].

**A layout cannot be deleted.** A desktop layout must be set to Inactive before it can be deleted, and a confirmation prompt appears before removal[^11].

**An upload fails.** WarmTransfer's reading of the sources is that Cisco's layout administration articles reviewed here publish no catalogue of the validation or rejection messages Control Hub shows when a layout JSON upload fails[^32]. The JSON examples in Cisco's layout article show a top-level version value of 0.1.0, but the article states no required or allowed values for it[^15].

## Diagnosing changes that do not appear

If you assign a new desktop layout while an agent is signed in, the agent must reload the page to see it[^34]. After you change the notification timeout settings in the layout, the browser must be refreshed for the change to take effect[^48].

With an unmodified layout, new layout-based features appear automatically, and Desktop users see them when they sign in or reload the browser[^51]. Downloading Default Desktop Layout.json and uploading it again counts as a modified layout, even if the content is unchanged[^36]. WarmTransfer's reading of the sources is that a team on a modified or re-uploaded layout probably will not get new Cisco layout features until an administrator merges them into its JSON, because Cisco auto-updates only unmodified layouts[^28].

A custom logo can be hosted on a CDN in PNG, JPG, JPEG, GIF, SVG or WebP format, and an incorrect URL shows a broken image on the Desktop[^27].

## Diagnosing agent-side layout behaviour

An agent can restore the default view of a single page or widget with Edit Layout > Reset Layout and then confirming[^3]. An agent can restore the default view across all pages and custom tabbed widgets with User Profile > Reset Entire Desktop Layout[^35].

The top-level dragDropEnabled property defaults to false, and setting it to true allows drag-and-drop and resizing of widgets on custom pages[^13]. Agents cannot rearrange or resize header widgets or default page widgets such as Agent Performance Statistics[^23].

An agent's custom Auxiliary Information pane tab order survives navigation, browser reload, cache clearing, and sign-out, but the tab selection is lost when the cache is cleared[^43]. The selected Auxiliary Information pane tab resets to the default tab when the user signs out, reloads the browser, or clears the browser cache[^44].

## Diagnosing widget configuration errors

**Widget definition.** The comp property holds the custom HTML element name and is entered without angle brackets[^8]. The optional script property of a widget is needed only when the widget or component loads from a remote location such as a CDN[^37].

**Widget receives no Desktop data.** For a custom widget to receive real-time Desktop data through properties or attributes, the layout JSON must assign the appropriate $STORE values[^41]. Cisco's Desktop SDK widget walkthrough calls `Desktop.config.init()` in its sample widget code[^39]. Cisco's widget starter repository is boilerplate for React, Angular, and Web Components (Lit Element) widgets and uses the @wxcc-desktop/sdk package[^40].

**Header widget is clipped.** The Desktop header container is only 64 pixels high, so header widgets should use a single-row layout[^21]. For iframe-based header widgets, Cisco recommends the style `height:64px;display:flex`[^22].

**Widget is invisible.** Widgets in the headless section are hidden from the Agent Desktop and run logic in the background[^24]. The visibility property controls whether Cisco-offered widgets in a custom layout are shown, and its values are built in and defined in the default JSON file[^53]. Cisco names its offered widgets as Contact History, Cisco Webex Experience Management, IVR Transcript, Preview Campaign Call Guide, and Screen Pop[^7].

**Persistent widget tab is missing.** Persistent widgets show on all Desktop pages, but they appear as a new tab in the Auxiliary Information pane only while there is an active contact request or conversation[^33].

**Custom page does not appear.** A custom navigation page entry uses label, icon, iconType (momentumDesign or other), a unique navigateTo page name, and align (top or bottom), with isDefaultLandingPage optional[^31]. Cisco's navigation widget walkthrough defines custom pages in layout.json with paired nav and page objects[^30].

## Diagnosing blank iFrame widgets

The built-in widget agentx-wc-iframe places any web page into an iFrame as a Desktop widget[^26]. Cisco's Analyzer iFrame widget sample embeds an Analyzer report by changing the iFrame navigation widget's src in the layout JSON to the report URL, uploading the layout, and signing in to the team[^4].

The CSP frame-ancestors directive names the parents allowed to embed a page in a frame, iframe, object, or embed, and the value 'none' is similar to X-Frame-Options: deny[^18]. frame-ancestors cannot be set in an HTML meta element and must be sent as an HTTP response header[^19]. WarmTransfer's reading of the sources is that an agentx-wc-iframe widget that renders blank or "refused to connect" most likely points at a page whose frame-ancestors or X-Frame-Options does not allow the Desktop's origin, and the fix belongs on the embedded site's response headers[^25].

## Collecting evidence for an administrator

When an API request or event fails to load data, the Desktop shows an error dialog whose Error Details link lets the user copy a Tracking ID for the administrator[^49]. An agent can download an error report from User Profile > Help > Download Error Report, even while the Desktop is recovering from a connection failure, and share it with an administrator[^12]. If the browser crashes before the error report is downloaded, the logs are gone after restart, so the agent has to wait for the problem to recur and then download the report[^14].

Cisco's Agent Desktop troubleshooting article, as printed on 2025-02-24, lists browser minimums of Chrome 76.0.3809, Firefox ESR 68, and Edge Chromium 79[^6]. Whether these are still the current supported minimums is not covered by the sources below.

## See also

- See also [Customizing the Webex Contact Center Agent Desktop layout](https://warmtransfer.net/knowledge/wxcc-desktop-layout-setup).
- See also [Building a custom Webex Contact Center Agent Desktop widget](https://warmtransfer.net/knowledge/wxcc-desktop-widget-setup).
- See also [Webex Contact Center Agent Desktop and widgets](https://warmtransfer.net/knowledge/webex-cc-agent-desktop).
- See also [Troubleshooting Webex Contact Center screen pops and empty CAD variables](https://warmtransfer.net/knowledge/wxcc-screen-pop-troubleshooting).
- See also [Webex Contact Center system limits reference](https://warmtransfer.net/knowledge/webex-cc-system-limits).
- See also [Cisco first-party Webex Contact Center repositories](https://warmtransfer.net/knowledge/webex-cc-github-registry).

## Applicability

Applies to: Cisco Webex Contact Center. Deployments: multi-tenant. Sources checked 2026-10-02.

## What remains uncertain

The frame-ancestors value that Cisco documents for pages embedded with agentx-wc-iframe is not covered by the sources below. WarmTransfer's reading of the sources is that Cisco's layout administration articles reviewed here publish no catalogue of the validation or rejection messages Control Hub shows when a layout JSON upload fails[^32]. The content of the Desktop Developer Guide on widgets and the layout schema is not covered by the sources below. The Agent Desktop can show a banner at the top saying some features aren't available[^17]. The causes of that banner, and any workaround that reverts to the default layout, are not covered by the sources below. Whether agentx-wc-iframe supports an iframe allow attribute for camera or microphone access is not covered by the sources below. Widget bundle caching and cache-busting when a script URL must stay stable are not covered by the sources below. How a widget behaves when it omits `Desktop.config.init()` is not covered by the sources below. Whether an agent can change team without signing out, and which layout applies when a team's layout is deleted, are not covered by the sources below.

## Sources

[^1]: Webex Contact Center allows up to 200 active desktop layouts. Source: [System limits in Webex Contact Center](https://help.webex.com/en-us/article/n7s6ed7/System-limits-in-Webex-Contact-Center), configuration limits table, Desktop layouts / Active row. Checked 2026-10-02.
[^2]: An agent who belongs to several teams probably gets the layout of the team picked at sign-in, so picking a different team is a likely cause of 'wrong layout' reports (inferred). Source: [Sign in to Agent Desktop](https://help.webex.com/en-us/article/n6lmci8/Sign-in-to-Agent-Desktop), Sign in procedure, team selection step. Checked 2026-10-02.
[^3]: An agent can restore the default view of a single page or widget with Edit Layout > Reset Layout and then confirming. Source: [Get started with Agent Desktop](https://help.webex.com/en-us/article/itebdl/Get-started-with-Agent-Desktop), Reset Layout section. Checked 2026-10-02.
[^4]: Cisco's Analyzer iFrame widget sample embeds an Analyzer report by changing the iFrame navigation widget's src in the layout JSON to the report URL, uploading the layout, and signing in to the team. Source: [webex-contact-center-api-samples / widget-samples / iframe-widget-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/iframe-widget-sample), README.md, implementation steps. Checked 2026-10-02.
[^5]: If a team already has a custom layout assigned, that team does not appear in the team drop-down when you create another desktop layout. Source: [Manage desktop layouts](https://help.webex.com/en-us/article/60x9ji/Manage-desktop-layouts), Create a desktop layout procedure, team selection step. Checked 2026-10-02.
[^6]: Cisco's Agent Desktop troubleshooting article lists browser minimums of Chrome 76.0.3809, Firefox ESR 68 and Edge Chromium 79. Source: [Troubleshoot Webex Contact Center Agent Desktop](https://help.webex.com/article/WBX9000037385), Browser Requirements section. Checked 2026-10-02.
[^7]: Cisco names its offered widgets as Contact History, Cisco Webex Experience Management, IVR Transcript, Preview Campaign Call Guide and Screen Pop. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Auxiliary Information Pane section. Checked 2026-10-02.
[^8]: The comp property holds the custom HTML element name and is entered without angle brackets. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), widget property definitions, comp. Checked 2026-10-02.
[^9]: In Control Hub, desktop layouts are managed under Services > Contact Center > Desktop Experience > Desktop Layouts. Source: [Manage desktop layouts](https://help.webex.com/en-us/article/60x9ji/Manage-desktop-layouts), Create a desktop layout procedure, step 1. Checked 2026-10-02.
[^10]: Assigning a custom layout to a team overrides the Global Layout, which is the default layout for all teams. Source: [Manage desktop layouts](https://help.webex.com/en-us/article/60x9ji/Manage-desktop-layouts), Create a desktop layout procedure, team selection step. Checked 2026-10-02.
[^11]: A desktop layout must be set to Inactive before it can be deleted, and a confirmation prompt appears before removal. Source: [Manage desktop layouts](https://help.webex.com/en-us/article/60x9ji/Manage-desktop-layouts), Delete a desktop layout section. Checked 2026-10-02.
[^12]: An agent can download an error report from User Profile > Help > Download Error Report, even while the Desktop is recovering from a connection failure, and share it with an administrator. Source: [Download error reports](https://help.webex.com/en-us/article/neidf/Download-error-reports), Download error reports procedure. Checked 2026-10-02.
[^13]: The top-level dragDropEnabled property defaults to false; set it to true to allow drag-and-drop and resizing of widgets on custom pages. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), JSON Layout Top-Level Properties > dragDropEnabled. Checked 2026-10-02.
[^14]: If the browser crashes before the error report is downloaded, the logs are gone after restart, so the agent has to wait for the problem to recur and then download. Source: [Download error reports](https://help.webex.com/en-us/article/neidf/Download-error-reports), Download error reports procedure, note. Checked 2026-10-02.
[^15]: The JSON examples in Cisco's layout article show a top-level version value of 0.1.0, but the article states no required or allowed values for it. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), JSON Layout Top-Level Properties code examples. Checked 2026-10-02.
[^16]: If a feature enabled in the JSON layout does not appear on the Desktop, Cisco says to contact Cisco Support to enable it. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), JSON Layout Top-Level Properties (note). Checked 2026-10-02.
[^17]: The Agent Desktop can show a banner at the top saying some features aren't available. Source: [Sign in to Agent Desktop](https://help.webex.com/en-us/article/n6lmci8/Sign-in-to-Agent-Desktop), Banner message section. Checked 2026-10-02.
[^18]: The CSP frame-ancestors directive names the parents allowed to embed a page in a frame, iframe, object or embed; the value 'none' is similar to X-Frame-Options: deny. Source: [CSP: frame-ancestors](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/frame-ancestors), introduction and syntax notes. Checked 2026-10-02.
[^19]: frame-ancestors cannot be set in an HTML meta element; it must be sent as an HTTP response header. Source: [CSP: frame-ancestors](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/frame-ancestors), note on meta element support. Checked 2026-10-02.
[^20]: The Global Layout is system-generated, and when you create a team it is set automatically as that team's desktop layout. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Overview section, Global Layout definition. Checked 2026-10-02.
[^21]: The Desktop header container is only 64 pixels high, so header widgets should use a single-row layout. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Header Widgets section. Checked 2026-10-02.
[^22]: For iframe-based header widgets, Cisco recommends the style height:64px;display:flex. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Header Widgets section. Checked 2026-10-02.
[^23]: Agents cannot rearrange or resize header widgets or default page widgets such as Agent Performance Statistics. Source: [Get started with Agent Desktop](https://help.webex.com/en-us/article/itebdl/Get-started-with-Agent-Desktop), Drag-and-Drop and Resize section. Checked 2026-10-02.
[^24]: Widgets in the headless section are hidden from the Agent Desktop and run logic in the background. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Headless Widgets section. Checked 2026-10-02.
[^25]: An agentx-wc-iframe widget that renders blank or 'refused to connect' most likely points at a page whose frame-ancestors or X-Frame-Options does not allow the Desktop's origin; the fix belongs on the embedded site's response headers (inferred). Source: [CSP: frame-ancestors](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/frame-ancestors), introduction; combined with cisco-help-ng08gqeb-custom-desktop-layout agentx-wc-iframe definition. Checked 2026-10-02.
[^26]: The built-in widget agentx-wc-iframe places any web page into an iFrame as a Desktop widget. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Navigation (Custom Pages) widget component description. Checked 2026-10-02.
[^27]: A custom logo can be hosted on a CDN in PNG, JPG, JPEG, GIF, SVG or WebP, and an incorrect URL shows a broken image on the Desktop. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), JSON Layout Top-Level Properties > logo. Checked 2026-10-02.
[^28]: Because Cisco auto-updates only unmodified layouts, a team on a modified or re-uploaded layout probably will not get new Cisco layout features until an administrator merges them into its JSON (inferred). Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Overview section, unmodified versus modified layout note. Checked 2026-10-02.
[^29]: Drag-and-drop is not supported for additional custom components or widgets added to the More Actions drop-down list. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Auxiliary Information Pane section (limitation note). Checked 2026-10-02.
[^30]: Cisco's navigation widget walkthrough defines custom pages in layout.json with paired nav and page objects and embeds content with agentx-wc-iframe. Source: [Enhancing Agent Productivity by Creating Navigation Widgets in Webex Contact Center](https://developer.webex.com/blog/enhancing-agent-productivity-by-creating-navigation-widgets-in-webex-contact-center), layout.json code examples. Checked 2026-10-02.
[^31]: A custom navigation page entry uses label, icon, iconType (momentumDesign or other), a unique navigateTo page name and align (top or bottom), with isDefaultLandingPage optional. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Navigation (Custom Pages) section, nav properties. Checked 2026-10-02.
[^32]: Cisco's layout administration articles reviewed here publish no catalogue of the validation or rejection messages Control Hub shows when a layout JSON upload fails (inferred). Source: [Manage desktop layouts](https://help.webex.com/en-us/article/60x9ji/Manage-desktop-layouts), whole article; checked against cisco-help-ng08gqeb-custom-desktop-layout whole article. Checked 2026-10-02.
[^33]: Persistent widgets show on all Desktop pages, but they appear as a new tab in the Auxiliary Information pane only while there is an active contact request or conversation. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Persistent Widgets Configuration section. Checked 2026-10-02.
[^34]: If you assign a new desktop layout while an agent is signed in, the agent must reload the page to see it. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Overview section. Checked 2026-10-02.
[^35]: An agent can restore the default view across all pages and custom tabbed widgets with User Profile > Reset Entire Desktop Layout. Source: [Get started with Agent Desktop](https://help.webex.com/en-us/article/itebdl/Get-started-with-Agent-Desktop), Reset Entire Desktop Layout section. Checked 2026-10-02.
[^36]: Downloading Default Desktop Layout.json and uploading it again counts as a modified layout, even if the content is unchanged. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Overview section, unmodified versus modified layout note. Checked 2026-10-02.
[^37]: The optional script property of a widget is needed only when the widget or component loads from a remote location such as a CDN. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), widget property definitions, script. Checked 2026-10-02.
[^38]: Cisco tells administrators not to change the script URL for the same component in the layout JSON. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), widget property definitions, script (note). Checked 2026-10-02.
[^39]: Cisco's Desktop SDK widget walkthrough calls Desktop.config.init() in its sample widget code. Source: [Leveraging the Webex Contact Center Agent Desktop SDK in Your Custom Widgets](https://developer.webex.com/blog/leveraging-the-webex-contact-center-agent-desktop-sdk-in-your-custom-widgets), sample widget code. Checked 2026-10-02.
[^40]: Cisco's widget starter repository is boilerplate for React, Angular and Web Components (Lit Element) widgets and uses the @wxcc-desktop/sdk package. Source: [CiscoDevNet/webex-contact-center-widget-starter](https://github.com/CiscoDevNet/webex-contact-center-widget-starter), README, overview and installation. Checked 2026-10-02.
[^41]: For a custom widget to receive real-time Desktop data through properties or attributes, the layout JSON must assign the appropriate $STORE values. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Share Data from Desktop to Widgets section. Checked 2026-10-02.
[^42]: When a supervisor signs in to the Desktop, the layout of their primary team is applied. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), JSON Layout Top-Level Properties > Roles (supervisor). Checked 2026-10-02.
[^43]: An agent's custom Auxiliary Information pane tab order survives navigation, browser reload, cache clearing and sign-out, but the tab selection is lost when the cache is cleared. Source: [Get started with Agent Desktop](https://help.webex.com/en-us/article/itebdl/Get-started-with-Agent-Desktop), Auxiliary Information pane tab ordering. Checked 2026-10-02.
[^44]: The selected Auxiliary Information pane tab resets to the default tab when the user signs out, reloads the browser, or clears the browser cache. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Auxiliary Information Pane section. Checked 2026-10-02.
[^45]: An agent chooses a team from the Team drop-down when signing in, and the Desktop's appearance depends on the layout the administrator configured. Source: [Sign in to Agent Desktop](https://help.webex.com/en-us/article/n6lmci8/Sign-in-to-Agent-Desktop), Sign in procedure, team selection step and introduction. Checked 2026-10-02.
[^46]: Changes to Teams and Desktop Layouts are linked bidirectionally, so an update to one can affect the other and both may appear together in audit logs. Source: [Manage desktop layouts](https://help.webex.com/en-us/article/60x9ji/Manage-desktop-layouts), note on Teams and Desktop Layouts bi-directional relationship. Checked 2026-10-02.
[^47]: For agent-based teams, the team create or edit page has a Desktop Layout drop-down for selecting the team's layout. Source: [Manage teams in Webex Contact Center](https://help.webex.com/en-us/article/mqf72s/Manage-teams-in-Webex-Contact-Center), Create a team procedure, Desktop Layout field. Checked 2026-10-02.
[^48]: After changing the notification timeout settings in the layout, the browser must be refreshed for the change to take effect. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), JSON Layout Top-Level Properties > notificationTimer. Checked 2026-10-02.
[^49]: When an API request or event fails to load data, the Desktop shows an error dialog whose Error Details link lets the user copy a Tracking ID for the administrator. Source: [Resolve error issues](https://help.webex.com/article/3ku5w0/Resolve-error-issues-in-the-Desktop), Resolve error issues procedure. Checked 2026-10-02.
[^50]: Each widget needs a unique area name, and each component a unique identifying value. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), area and widget property definitions. Checked 2026-10-02.
[^51]: With an unmodified layout, new layout-based features appear automatically, and Desktop users see them when they sign in or reload the browser. Source: [Manage desktop layouts](https://help.webex.com/en-us/article/60x9ji/Manage-desktop-layouts), Create a desktop layout procedure, note on unmodified layouts. Checked 2026-10-02.
[^52]: Creating a custom layout in Control Hub means downloading the Default Desktop Layout.json file, customising it, uploading the edited JSON, and clicking Create. Source: [Manage desktop layouts](https://help.webex.com/en-us/article/60x9ji/Manage-desktop-layouts), Create a desktop layout procedure, steps 4-6. Checked 2026-10-02.
[^53]: The visibility property controls whether Cisco-offered widgets in a custom layout are shown, and its values are built in and defined in the default JSON file. Source: [Create custom desktop layout](https://help.webex.com/en-us/article/ng08gqeb/Create-custom-desktop-layout), Auxiliary Information Pane, visibility property. Checked 2026-10-02.
[^54]: Cisco Developer Relations presents iFrame widgets and Web Components as the two ways to build custom Desktop widgets, both defined through layout.json. Source: [Unlocking the Power of Custom Widgets in Webex Contact Center](https://developer.webex.com/blog/unlocking-the-power-of-custom-widgets-in-webex-contact-center), widget types section. Checked 2026-10-02.
