With Deskpro Apps, you can create custom applications that live inside of Deskpro to add new features or integrations. Apps run inside of the Deskpro window in a variety of contexts such as the sidebar of tickets, people or organizations.

Existing Apps

Many apps already exist. You can browse and install apps from

Open-Source Examples

Here are some specific apps and a summary of the features they employ.

Labs: DOM Manipulation (GitHub) This is a super simple app that demonstrates how an app can manipulate the DOM of the main Deskpro agent interface. For example, you might want to inject some custom CSS to change a colour or to hide a specific element.

JSON Service (GitHub) This simple app has the administrator insert the URL (and authorization credentials) to a remote web service that returns JSON. The app will fetch data from the service, and pass the result to a custom HTML template to render results. For example, if you wanted to look-up a users orders in your invoice system, you could do that in just a few lines of custom HTML.

Labs: Reply Requirements (GitHub) This app lets you define rules that must be true for a reply to a ticket to go through. This is a good demonstration of how an app can hook-in to events in Deskpro itself -- in this case, to cancel sending a reply if requirements fail.

JIRA (GitHub) JIRA is a bigger app that combines many app features to create a comprehensive integration between Deskpro and the JIRA issue tracking system.

  • oAuth -- Deskpro has the administrator authenticate with oAuth. The Apps SDK has helpers to make authenticating with oAuth easy.

  • Custom Fields -- The app installs a custom data list field, which can be used to link JIRA issues to Deskpro Tickets.

  • The app uses the JIRA API through the apps proxy. This allows API credentials to remain secret on the server-side.

  • Webhooks -- The app installs some default example webhooks that can be called from the JIRA side. This enables syncing between the two systems. When issues are updated in JIRA, the webhooks find linked tickets, and then the webhook trigger actions can perform operations. For example, when a JIRA ticket is resolved, resolve the Deskpro ticket; or when a JIRA issue is re-opened, re-open the Deskpro ticket.

Many more... Check out the official apps repository on GitHub to see many more examples: