After the administrator completes initial configuration of the components in the Web Widget from the Zendesk Support interface and works with their developer to add the Web Widget to their website, they can work with their developer to further customize the Web Widget, if desired.
This article is an overview for administrators about what advanced customizations are possible with the Web Widget. This article is meant to answer the question, "what else can I do with my Web Widget?" It explains the customization process for administrators, and also points to developer documentation that web developers need in order to do the work.
If you’re a web developer (or an administrator who is comfortable doing website development on your own) and are looking for complete documentation about the API settings and commands described in this article, or additional code samples, see the developer documentation for the Web Widget API instead.
This article discusses these topics and widget customizations:
- Planning for Web Widget customizations
- Navigating Web Widget API documentation
- Displaying the widget in a different language
- Prefill forms with user contact information
- Disabling ticket attachments
- Re-positioning the widget
- Offsetting the widget placement
- Customizing the color of the widget elements
- Changing visible ordering in the widget
- Suppressing features on specific pages
- Customizing widget text
- Adding a subject line to the contact form
- Hiding the "View Original Article" button
- Limiting search results
- Customizing the Help Center search placeholder text
- Advanced configuration of Talk in the Web Widget
- Advanced configuration of Chat in the Web Widget
- Offering end-users multiple contact options
- Formatting code for multiple widget elements
For information about adding the Web Widget to your site, see Using Web Widget to embed customer service in your website.
For a complete list of Web Widget documentation, see Web Widget resources.
Planning for Web Widget customizations
Most Support administrators aren’t web developers and work with someone else to implement customizations to the Web Widget. They don’t customize the Web Widget and websites on their own. They work with a web developer at their company, or an outside developer that they use on a contract basis to implement the changes.
The web developer is the person who does the customization work, and they do it by adding some code (the Web Widget API) to the HTML of the website. However, the administrator still has a role to play in the work. They need to understand what customizations are possible for the Web Widget, and tell the web developer what they want.
Some administrators have experience with HTML and choose to do the customization work themselves, acting as their own developer, and that's fine. Either way, customizing the Web Widget is actually a process for the administrator that requires some planning and involves these steps:
- Review the information in this article to understand what advanced customizations are possible.
- Meet with key stakeholders at your company to create a list of requirements for your Web Widget. What colors do want to use? How do you want the Web Widget to behave?
- Prepare a list of the customizations you want. Be as specific as possible and include links to API documentation that your web developer can reference.
- Give the list to your web developer, who will customize the Web Widget by modifying the HTML of your website.
Navigating the Web Widget API documentation
Here’s some important information to help developers navigate the Web Widget API documentation on the Zendesk developer site.
Updated, organized developer docs and API syntax— The Web Widget API syntax has changed, and we’ve also reorganized the Web Widget API developer documentation to make it easier to find the command or setting you’re looking for. The documentation is now organized by product channel (Help Center, Tickets, Chat and Talk) or by core settings and commands. For more information, see the developer documentation for the Web Widget API.
New Chat APIs—For information about how the old Chat (Zopim) APIs map to the new Web Widget APIs, see Migrating from the Chat Widget syntax to the unified Web Widget syntax.
Displaying the widget in a different language
By default, the Web Widget embedded in a website displays text in the end user’s language, based on the language of their browser. For example, if the end user's browser language is set to de for German, the widget will appear in German for that user. If the widget is embedded in a Help Center, it displays text based on the Help Center language setting.
The Web Widget supports a subset of Zendesk's supported languages. If the end-user's browser language is not supported by the Web Widget, the widget defaults to English. If the widget is unable to obtain the language from the end-user’s browser, the widget defaults to the language specified in Zendesk Support.
You can customize the widget so that it always appears in a specific language using the setLocale command. This command sets the language for only the widget and doesn't override your host page’s language.
For more information, see the developer documentation for the setLocale command.
Prefill forms with user contact information
You can save visitors to your site a few seconds and some annoyance or frustration by prefilling their name, email address, and phone number into contact forms. This includes ticket forms, pre-chat forms, and Chat offline forms. Use the identify and prefill settings.
You can also set user information to be read-only using the prefill setting, which is nice because you can avoid having duplicate user accounts in Support for the same person.
For more information, see the developer documentation for the identify and prefill settings.
Disabling ticket attachments
If you have enabled attachments for your tickets, users can attach files to tickets submitted from the Web Widget, by default. However, you can disable this option, if needed.
For more information, see the developer documentation for the attachments setting of the contactForm object.
Re-positioning the widget
The default position for the Web Widget is the bottom-right of the browser; when a user clicks on the Web Widget, it opens by expanding upward.
You can select a location for the Web Widget that varies from page to page (placing it on the left or right side of the page, or moving it to the top of the page where it expands downward when clicked). Use the position setting to position the Web Widget in the top-left, top-right, bottom-left, or bottom-right of the page.
For more information, see the developer documentation about the position setting.
Offsetting the widget placement
You can use the offset setting to reposition the Web Widget on your desktop or mobile devices. Use the initial position setting as the point of reference, and then use the offset setting to move the Web Widget horizontally, vertically, or both from that position (in pixels).
For more information, see the developer documentation for the offset setting.
Customizing the color of the widget elements
You can specify an overall color scheme for the Web Widget (theme color) and a custom color for the text in the launcher, contact button, and header (theme text color) from the Web Widget administration page (see Configuring components in the Web Widget).
However, if you want to customize specific elements, you need to use the color setting. You can choose a unique color for each of these Web Widget components:
- Launcher
- Button
- Button text
- Results list
- Header
- Article links
For accessibility purposes, the Web Widget automatically adjusts colors using an algorithm to guarantee a minimum contrast ratio as specified by the WCAG guidelines.
For more information about customizing the color of Web Widget elements, see the developer documentation for the color setting.
Changing visible ordering in the widget
Suppressing widget features on specific pages
You can enable the Contact Form, Chat, Talk, and Help Center in the Web Widget and then use the suppress setting to change the features offered on particular pages of your site to suit your needs.
- Have Help Center deflection on some pages
- Have Chat or the Contact Form without deflection on other pages
- Offer tiered service levels to signed in and identified users
For more information, see the developer documentation for the suppress setting.
Customizing widget text
You can change the text of the Web Widget components in the table below, and you can also customize the Help Center search placeholder text.
Component | Details |
---|---|
![]() |
Object: launcher Setting: chatLabel Description: Text on the launcher button when Chat is enabled and Help Center is not onDefault text: Chat |
![]() |
Object: launcher Setting: label Description: Text on the launcher button Default text: Help, Support or Feedback (defined on the Web Widget Admin page) |
![]() |
Object: helpCenter Setting: title Description: The title of the Help Center page Default text: Help |
![]() |
Object: contactForm Setting: title Description: Title of the contact formDefault text: Leave us a message or Contact us (defined on the Web Widget Admin page) |
![]() |
Object: helpCenter Setting: messageButton Description: Text on the button in the Help Center form that loads the Contact form (~20 character limit) Default text: Leave us a message or Contact us (defined on the Web Widget Admin page) |
![]() |
Object: helpCenter Setting: chatButton Description: Text on the button shown in the Help Center form that loads the Chat (~20 character limit)Default text: Help, Support, or Feedback (defined on the Web Widget Admin page) |
You use the translations object to change some of the default text displayed in the Web Widget. Translations are grouped by feature—for example, Launcher, Help Center, and Contact Form.
You can explore a list of potential language codes in Language codes for Zendesk supported languages.
The locale translations are triggered by the end user's browser language. You can also force the widget to always appear in a specific language and override the end-user's browser language setting. For more information, see Displaying your widget in a different language.
Adding a subject line to the contact form
With the subject setting on the contactForm object, you can set the Web Widget to include a subject field in the default contact form.
The default contact form is designed to promote engagement and offer a streamlined user experience when completing the contact form. While the default contact form does not include a subject line, you may want to add one to enhance the support experience for some customers.
For more information, see the developer documentation for the subject setting on the contactForm object.
Hiding the "View Original Article" button
The View Original Article button bridges the article in the Web Widget and the article in the Help Center itself. You can hide this button by using the helpCenter object, and setting the originalArticleButton property to false.
For more information, see the developer documentation for the originalArticleButton setting for the helpCenter object.
Limiting search results
With the filter setting on the helpCenter object, you can limit the results of searches performed from the Web Widget to articles based on category, section, and labels. For more information, see the developer documentation for the filter setting.
Scroll down for some additional examples that are not included in the developer docs that illustrate some of the ways you can limit search results.
To limit search to a specific section:
<script type="text/JavaScript">
window.zESettings = {
webWidget: {
helpCenter: {
filter: {
section: '200154474-Announcements'
}
}
}
};
</script>
To limit search to a specific category:
<script type="text/JavaScript">
window.zESettings = {
webWidget: {
helpCenter: {
filter: {
category: '200053794-General'
}
}
}
};
</script>
To limit search to content in multiple categories:
<script type="text/JavaScript">
window.zESettings = {
webWidget: {
helpCenter: {
filter: {
category: '115000669485,201742209'
}
}
}
};
</script>
To limit search to content with a specific label:
<script type="text/JavaScript">
window.zESettings = {
webWidget: {
helpCenter: {
filter: {
label_names: 'orders'
}
}
}
};
</script>
To limit search to content in a specific category and with specific labels:
<script type="text/JavaScript">
window.zESettings = {
webWidget: {
helpCenter: {
filter: {
category: '200053794-General',
label_names: 'Label One,Label Two,Label Three'
}
}
}
};
</script>
Customizing the Help Center search placeholder text
The default placeholder text in the Help Center search box is How can we help? You can customize this text so that it matches the user’s language, or so that specific text appears in certain languages. For more information, see the developer documentation for the searchPlaceholder setting.

If Contextual Help is enabled, you can also configure the Web Widget to open to recommended articles, making it easier for your customers to self-serve. For more information, see the developer documentation for the setSuggestions command for the helpCenter object.
Advanced configuration of Talk in the Web Widget
You can create multiple configurations that define how Talk behaves in the Web Widget. With each configuration you can customize call routing and display options for Talk in the Web Widget, based on your needs and preferences.
-
The agent group that you want Web Widget callback requests to be routed to
-
The priority of Web Widget callback requests
-
Display Request a callback, Call us, or both of these options in the Web Widget
-
Display an estimated wait time in the Web Widget
If you have only created a single configuration of Talk in the Web Widget, this will automatically be the default configuration that displays in the Web Widget whenever Talk is available.
If you have created multiple configurations of Talk in the Web Widget, you can use the Talk nickname setting to target the desired configuration.
For more information, see the developer documentation for the talk object, the nickname setting, and Configuring Zendesk Talk settings for the Web Widget.
Advanced configuration of Chat in the Web Widget
If you are using the Web Widget integrated Chat experience, you can offer Zendesk Chat functions in the Web Widget so that visitors to your website can chat with agents, and send and receive files that might help with their problem. Agents can also send proactive messages to visitors, to see if they want or need any help.
For more information, see the developer documentation for the chat object.
For information about how the old Chat (Zopim) APIs map to the new Web Widget APIs, see Migrating from the Chat Widget syntax to the unified Web Widget syntax.
Offering end users multiple contact options
You can allow end users to choose a contact option. You may want to customize your website so that some pages allow end users to make a choice and others don’t. The exact behavior depends on whether Chat or Talk is configured for the Web Widget, and whether a chat agent is online. You can customize the default text of contact options, if needed.
Here's a list of the default text:
Contact option | Default text |
---|---|
Contact button | Contact us |
Chat label (with agent online) | Live chat |
Chat label (with agent offline | Chat is unavailable |
Contact form label | Leave us a message |
For more information, see the developer documentation for the contactOptions setting.
Offering contact options with Chat
If Chat is configured for the Web Widget, end users are automatically routed to a chat, if a chat agent is available. However, you can allow end users to choose between chatting with an agent or completing a contact form, even if a chat agent is available. If a chat agent is available when the user clicks the launcher, but the agent signs off before the chat begins, the end users may see a message indicating that the agent is not available.
It's a known issue that when end users choose to chat, they cannot use the back button to return to the other contact options. To do so, they need to completely end the chat or refresh the page.
Offering contact options with Talk
If Talk and other contact options are enabled in the Web Widget, and agents are online, contact options are automatically enabled.
Formatting code for multiple widget components
Items that are specific to the Contact Form, Help Center, and Zendesk Chat are nested under those headings (contactForm, helpCenter and chat) in the HTML of your site, while global items are included separately.
- The position of the Web Widget on the screen has been changed using the offset setting. Offset is a global item, which is why it has its own entry.
- Help Center search—doesn’t include the View Original Article button. The title “Search for help” for English-language users, and “Have your say” for all other languages.
- Chat is disabled.
- The contact form title is “Message us” in English and “Contact us” in other languages.
- The launcher button text is “Make a request” in English and “Get help” in other languages.
<script type="text/JavaScript">
window.zESettings = {
webWidget: {
offset: { horizontal: '400px', vertical: '400px' },
helpCenter: {
originalArticleButton: false,
title: {
'en-US': 'Search for help',
'*': 'Have your say'
}
},
chat: {
suppress: true
},
contactForm: {
title: {
'en-US': 'SMessage us',
'*': 'Contact us'
}
},
launcher: {
label: {
'en-US': 'Make a request',
'*': 'Get help'
}
}
}
};
</script>
240 Comments
Hello,
I'm working with my development team in filtering and limiting certain articles displayed in the web widget for our SPA. I've been providing each category/section/article URL to them as reference, but they've asked me to clarify something with Zendesk so we don't go down the wrong path.
Using the screenshot below as an example, the circled area (we've been referring to this as the URL "ID") includes the section number and the section title.
If a category/section/article's title changes, it will change the title in the URL and, presumably, disconnect the filter or limit setup. When filtering or limiting articles within the web widget, is the "ID" number sufficient, or will the development team need to include the title (and update it if the title changes)?
I hope this makes sense!
Thanks :)
we are trying to get our company up and running on zendesk and need to discuss pricing and plans with someone so we choose the best option for us. I have put in four separate requests to the sales team and no on has gotten back to us - who is the best person to reach out to? We are on board but need to talk to someone, please help!
Hi Sheila Lucas,
The ID number is sufficient as described in our API docs, https://developer.zendesk.com/embeddables/docs/widget/settings#filter. We recommend using that so there's no need to update the title if it happens to change.
Thanks,
- Miranda.
Is there a way to customize the font to match up our website font when using help center web widget?
Hi Aravind Pilla,
Thanks for your question. Unfortunately, there's no way to customise the font style within the Web Widget at the moment. I will log this as a feature request and record your details. If there's any updates on this in the future, we'll be sure to reach out and let you know.
Thanks,
- Miranda.
Regarding this comment from last year, we completely redesigned our web widget configurator and added extra functionalities. Our widget configurator is now available in the Zendesk market place (with 1 day free trial) or via widget.guide.
Hello,
Is there the possibility to highlight specific kb articles or categories in the widget?
We are currently not using the bot but would like our customers to see upon opening the widget a section of preselected links to things like the latest releases, the status of the service, or anything else, before section top suggestions. We are currently not using the bot and would only want to have this custom section - top suggestions - and the contact us button. Is this possible? If not any ideas? Thanks in advance for your time.
Hi Max,
Thanks for your message. Unfortunately, it's not possible currently to highlight specific knowledgebase or categories within the Web Widget as you've described. This is a great idea though and something we've heard from customers before. I'll record your feature request on our side, along with your details and reach out in the future if there's any news on this front.
Thanks again for getting in touch! We appreciate you taking the time.
- Miranda.
Hi Max,
Hi Miranda,
Maybe this is not exactly what you mean, but with our widget.guide configurator you can set up a search placeholder which allows you to immediately display articles based on the placeholder. I don't know if this helps, but you can always give it a try.
Hi Miranda,
Thanks for clarifying. I think it would be a great addition to highlight new releases, important communications, or any other communication with our subscribers. Unfortunately at this time, we have to implement an additional solution that will unnecessarily clutter the UI with an additional widget like element to achieve similar results. I appreciate your consideration on this.
Hi Thomas,
Thank you for your message. It would require a bit of planning and it is less than ideal but I can see how it could be helpful. So would pre-populating the search automatically display articles that match the text in the search? Would that hide the Top Suggestions from showing when the widget is open?
I tried to create a trial with the links you provided but was unable to, it took me directly to a payment page. Am I doing something wrong?
Can I also limit the search results in numbers to max. 5 visible results per search?
Wanted to change the default text of the chat button. We are having only three option in Widget configuration i.e. Help, Support & Feedback. Our client is looking for name like "Chat Now" .
I tried looking into many support documents, community posts etc and applied few of them but was of no help.
Please let us know how to change it simply..
Hi Max,
You can install our widget guide as an app in your Zendesk account. The app is free of charge for the first day. (trial).
Thomas
Hi Azhar,
Thanks for your message. It's possible to customise the Web Widget launcher label text to 'Chat Now' using the label API. You can find information on that here, https://developer.zendesk.com/embeddables/docs/widget/settings#label.
Hope this helps!
- Miranda.
How do I have set up the chat badge to start minimized? I am using the web script and want to start the chat badge minimized.
Carman Okon
I am not sure if this is what you are looking for but you might be able to use the "close" command to close it as soon as it loads. There may be a better way to do this but previously I used it for a different purpose.
https://developer.zendesk.com/embeddables/docs/widget/core#close
We found that if we turned off the chat badge it will be minimized.
Carman Okon
Glad you were able to get it figured out.
Have a great Weekend! :)
We have our own contact form which collects (programmatically) user data and sends it to ZD via the API.
And at the moment, the CONTACT button in the widget brings up the standard contact form within the widget.
Is there any way we can change the button so that when clicked it will open a different URL in a new tab so we can show our own form there? In other words, we don't want users to see the widget form at all, but just be shown our own form elsewhere on the site.
Thanks.
You could leverage the OnOpen() command:
This will whenever the customer opens the widget redirect to the url specified in the window.open() command.
However you will loose Chat, Guide, Answer Bot and a whole lot of coolness provided by the widget.
Thanks for that, but we want the Guide as that's proving quite useful to people. Only when someone clicks do we want the new URL to open.
You could define callback function to be executed when form is opened by using On User Event:
https://developer.zendesk.com/embeddables/docs/widget/core#on-userevent
It has been while since I did those my self, so I could not find an example for you now.
Thanks, Arno - in the end this code works for us:
`<script type="text/javascript">
zE('webWidget:on', 'userEvent', function(event) {
if ( event.action == 'Contact Form Shown' ) {
zE('webWidget', 'close');
zE('webWidget', 'reset');
window.open("https://example.com/contact/");
}
});
</script>`
Super silly question, but I am very new to Zendesk. I am OK with code and I am sure that I can make the few simple changes that I need. However, where do I find the code for the web widget? Once I can find it, I am sure that I will be OK. Thank you in advance.
Settings > Channels > Widget > Set Up
Thanks James, but that is the code to include the widget on my companies external website. I am looking for the code that already should be in my Zendesk main page. I can turn on the widget, customize to the extent of the options provided. However, I cannot find the code that should already be in the "homepage" script in the guide admin section. I figured that I would see the code listed at the area you listed, but it is not listed in the homepage code for my main Zendesk home page.
Hey Rich,
Jeremiah is correct and this same code can be applied to your Zendesk Main page to include the web widget. We also include the toggle option so you don't have to worry about copying and pasting the code to your Guide theme.
Let me know if that doesn't make sense.
Hi 👋 I'm wondering if there is a way, or if anyone has come across a workaround, to place an announcement in the web widget.
For context, say there is a product incident or bug that is increasing chat volume, I'm wondering if we can post a message in that widget so when it opens people are made aware and are given the resources they need to stay in the loop without chatting us to let us know that they are experiencing it, etc.
(Yes, we post banners in-app, but I see an opportunity here to get the information in front of the customer in more than one way.)
I look forward to hearing back about this.
Hi Ryan Oakman,
There's a couple of different ways that you could go about this.
1. Chat triggers
Using Chat triggers, you can craft a tailored message to your site visitors depending on the conditions you set. That means, you could enable a chat triggered message to fire when there's an incident or bug that is increasing chat volume. You can find more information about how to setup chat triggers here.
2. Customising the Web Widget title
Another option for you to consider is customising the title that displays within the Web Widget. There isn't a whole bunch of real estate here for you to work with but it is a very prominent place for you to call out timely messages to your visitors. You can use the title API to customise this text.
Hope this helps!
- Miranda.
Please sign in to leave a comment.