Experimental and undocumented Web Widget features

Plan requirement

App pluscloud AI Agent Preview
Subscription Suite Team or higher, Support Team or higher

The Lab also has tools for parts of the Web Widget that Zendesk does not document. This article says what each does, what Zendesk supports and what can break. The tools are in the Lab of the Web Widget inspector; see The Lab in the Web Widget inspector.

Documented, undocumented and experimental

  • Documented means it is in Zendesk's developer documentation for the Web Widget: the zE commands, the customisation options, the events and embedded mode. Zendesk supports these.
  • Undocumented means the widget's code reads it, but Zendesk's documentation does not describe it. It works in the widget build the extension was checked against (fdbc813, October 2026). Zendesk does not support it and can change or remove it without notice.
  • Experimental means the extension reaches into the widget's internal router and state. That is not an interface at all. Zendesk does not support it, and any widget update can stop it from working. When the widget has changed, the Lab says so instead of guessing.

The Lab marks each section with Undocumented or Experimental. Everything in it works only in your browser, until you put code on the site yourself.

What each tool does

Lab section Marked What it does
Open an article in the widget Experimental Shows a public Help Center article of the account in the widget's article viewer, as a click on an article link in a reply does. The test counts no article view.
Hidden screens Experimental Opens screens no zE command reaches: the list of ticket forms, a ticket form by its ID, the contact form, and the widget's larger view. Nothing is sent until someone submits a form, which can create a ticket.
Prefill the message field Experimental Puts text in the message field without sending it. Text in [brackets] is selected, ready to type over.
Proactive message preview Experimental Shows a proactive message with your text next to the launcher, without a campaign. It uses Zendesk's own debug helper and switches on ZD-debug. It sends one analytics event with a made-up campaign ID to Zendesk, and replying to it does not work.
Zendesk debug switches Undocumented The debug log (ZD-debug), the socket log (ZD-debug-ws), overrides of the account's feature flags, and pinning a widget build. They take effect after a reload.
Shop buttons and analytics Undocumented Marks the buttons on the page that the widget's commerce signals would count as add to cart or remove from cart, and counts the widget's analytics calls on this page.
Skip the widget on this page Undocumented Sets window.zESkipWebWidget, so the widget does not start on the page while the snippet stays.

The customisation editor has two more undocumented options: the pre-conversation screen, with an icon, a title and suggested prompts, and a hide button in the widget's header. The Events tab also shows events Zendesk does not document, such as preConversationShown, formShown and formSubmitted.

The Lab section Open an article in the widget, marked Experimental. It explains that it uses the widget's internal router, which Zendesk does not support. Below the field Article URL or ID with a URL on bluebirdbikes.zendesk.com and the button Open in widget is the open part Code for your website with openZendeskArticle().

Code for your website

The experimental sections offer Code for your website, to use the same thing on the site's own pages: openZendeskArticle(url), openZendeskTicketForm(formId), openZendeskContactForm(), expandZendeskWidget(on) and prefillZendeskComposer(text). Each has a way out when the widget has changed: the article opens in a new tab, the widget just opens, or the function returns false and does nothing. Unlike the Lab's test, the article code counts a Help Center view, as the widget does.

This code relies on the widget's internals. Test it again after each widget update. The inspector's Overview reports a new widget build, and the debug switches can pin the previous build to compare.

Two things also work without the widget's internals. An article opens in the widget when a visitor clicks a link to a public article on the account's own Help Center address. And pre-conversation prompts with [brackets] fill the message field when the visitor clicks one; that is a widget setting rather than its internals, but it is undocumented too.

Before you use the debug switches

The Lab section Zendesk debug switches, marked On and Undocumented, with the warning The console shows private data, the switches Debug log ZD-debug, on, and Socket log ZD-debug-ws, off, and the start of the feature flag overrides with Default, On and Off per flag.

  • With the debug log on, the browser's console shows the widget's session token and the conversation. Do not share console output or screenshots of it.
  • The flag overrides only work while the debug log is on. Commerce signals send page addresses to Zendesk; do not switch them on in a live shop.
  • A build pin needs the full 40-character commit ID of a widget build. A short or wrong one makes the widget fail to load until you remove it.
  • Apply and reload sets the switches in this site's storage, in your browser. Remove all and reload removes what the inspector set, and so does turning the inspector off. Switches set by someone else are left alone.

The same experimental tools are in the zE console of the DevTools panel, as pcw: commands; see The AI Agent Inspector panel in Chrome DevTools.

See also

Was this article helpful?

0

Still stuck?

Our support team will take a look with you.

Comments

0 comments

Please sign in to leave a comment.