Widgets as you knew them in Zendesk Classic do not exist in the new version of Zendesk. They have been replaced by Zendesk Apps, which are built around a solid, maintained, and well-documented framework. The advantages of moving to a framework include much greater consistency and stability for the extensions you create. For example, in Zendesk Classic, if during one of our weekly updates we even made minor changes the DOM structure, we would unintentionally break some of your widgets. Now, with Apps, it’s on us to ensure that the framework is reliable and functions as its specified in the framework API reference.
Important! All of the extensions and widgets that you're using in your end-user facing Web portal still work in the new version of Zendesk. This is because we have not rebuilt that part of Zendesk. Only the agent and administrator interface has changed.
To see the Apps that are currently available in the new version of Zendesk, sign in to the new version of Zendesk and then select the Manage icon and then Apps > Browse. Many of the widgets that were available in Zendesk Classic are now available as Apps, including: Salesforce, JIRA, Harvest, Freshbooks and dozens of others.
If you created your own custom widgets, you'll need to recreate them as Apps using the new framework. This document describes the differences between developing widgets and Zendesk Apps and then provides you with a number of code examples to illustrate those differences.
To develop Apps using the Zendesk App Framework, you’ll need to be proficient in the following Web development technologies:
Along with a new framework comes the following new terminology that you’ll want to become familiar with before reading any further.
|Location||Apps define where they appear on the interface, such as the ticket page or user page.|
|Requests||How you communicate with web services outside the interface (essentially just AJAX calls).|
|Events||Subscribe to certain events, such as a click or change, within the Zendesk interface (similar to jQuery.bind).|
|Templates||The UI of your App is defined by templates, which can be dynamic based on Mustache.js.|
|Manifest||Each App has a manifest that defines a number of meta information about your App, as well as some settings.|
Prototype is not accessible in the new Zendesk. It has been replaced by a combination of our new App framework and jQuery.
jQuery itself is now only accessible within an App. This means that while you can use jQuery to manipulate the DOM of your own App, you may not use jQuery to manipulate the DOM (or anything else) within the Zendesk interface itself. We’ve put this restriction in place for two reasons:
Our aim was to build a solid framework that you can develop against, without the actual need to use jQuery to do so.