Skip to content

Switch the Zendesk widget to the ChaosDesk messenger

Updated Nov 9, 2026

Available on: Starter, Growth, Pro, Enterprise.

The ChaosDesk messenger is a drop-in replacement for the Zendesk Messaging Web Widget. The snippet keeps its shape: you change one URL and the key, and your zE() calls keep working.

1. Set up the messenger

In Admin Center, Channels, Messenger, for each brand that had the Zendesk widget:

  1. Turn the messenger on and set the name, colours, launcher and greeting.
  2. List the Allowed domains that embed the snippet.
  3. Rebuild your answer bot as an answer flow, and pick the hand-off group.
  4. Copy the Embed snippet.

2. Swap the snippet

Before:

<script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=YOUR-ZENDESK-KEY"></script>

After:

<script id="ze-snippet" src="https://app.chaosdesk.io/messenger.js?key=YOUR-CHAOSDESK-KEY"></script>

Keep id="ze-snippet"; async works as it did. Do the same in your apps' web views. Your ChaosDesk help centre adds the messenger by itself once the brand's messenger is on, and the older widget.js snippet now loads this same messenger, so no page needs two.

3. Signed-in customers

If you use loginUser, create a new shared secret in Authenticated customers (JWT) and sign your tokens with it, with the Key id as kid. The claims are the same as Zendesk's. Never reuse the old secret.

4. Check

  • Update your Content Security Policy: add the ChaosDesk host to script-src, frame-src and connect-src, and remove the Zendesk hosts.
  • On a test page: open the messenger, send a message, reload (the history stays), sign in, and check the unread badge when an agent replies.

Visitors start a new conversation after the switch. Their old Zendesk conversations are in ChaosDesk as imported tickets.

Related

Was this article helpful?

Still need help?

Submit a request