We’re currently going through a period in our MSP where we are looking to implement better systems. We’re using a lot of systems that though work, are out dated and are slowing our ability to grow properly and provide the level of customer service that we know we can. One of those areas is ticketing. I’ve posted a lot here for help and advice, so thought it was time I contributed something. The below is my outlook on how Zendesk can possibly be integrated as a ticketing/customer service tool from the basis of usage by an MSP.

Our requirements for ticketing were not too complex but specific:

  1. Decent UI and easy for engineers to use
  2. Good, templated communication with the client at various parts of the ticketing process
  3. Conditional fields so we can build up information in certain types of tickets
  4. Good, automated time management and recording
  5. Help center for clients that is easy to manage and add articles
  6. Good end user and organisation management
  7. Good ticketing workflow, fields and SLA management
  8. Fully featured, mature API
  9. Good reporting
  10. Good implementation of business rules and automations on the back end
  11. Easy execution and responses for common tasks
  12. Implementation of sub tasks or tickets based on a certain call type (IE, have three tickets created for different teams for something like a PC install, and have that workflow managed)
  13. Multiple views/queues that followed our internal workflow for jobs
  14. Good extensions/apps for features that we need on top of default functionality
  15. Some way to get feedback from clients

So I got started with a demo (which was provisioned automatically). You get 31 days to trial which I think is a good amount.

User interface, design and usability

I have to say this is where Zendesk stands out for me. The UI in general, including the ticket interface and the views, are absolutely beautiful. The only other thing that comes close (in my opinion) is Freshdesk, but the Zendesk UI feels a lot more polished and natural to use. Everything is where you expect it to be, and the interface is intuitive and not cluttered. It’s exactly the opposite of the Connectwise ticketing demonstration I had a few weeks ago. The only negative here is how small everything is by default (for me at least). This is not a problem though, I have it zoomed to 125% in Chrome and as the site is designed responsively it scales properly. The views are completely customisable, in terms of their columns that are visible (so different teams can have different columns). You can also group and sort the views and the settings for this are intuitive.


The ticket view is also good, it generates a tabular structure at the top which allows you to drill back down through to a requesters list of new/old tickets, to that organisations tickets who the requester belongs to (all without losing information you have added in the ticket). You can have multiple tickets open at the same time in this tab view. The overall design of information on the ticketing page is great – it has been very well designed. Selecting (or even adding) a new end users is extremely simple – simply search the name of the person ringing and the autocomplete finds them. Click the result and it populates everything (including organisation) into the tabular navigation at the top.


Some cons I have noticed, for some reason they only seem to allow 8 views on the left hand side. Like many things in Zendesk though there is an app called “Quickie” that allows better access to views but this could be easily solved by Zendesk expanding the number – 8 is too low.

Client communication through the ticketing process

This is managed by the way of something in Zendesk called a trigger. It’s essentially a multiple rule builder that applies against tickets. The interface for this makes it very simple to build these triggers. This allows you manipulate tickets at any point according to any action. For example, we have a trigger that says if a “Ticket is created” AND the “Ticket status is not solved” AND the “Ticket Tags DON’T contain the following: Internal” then send a request to the notifier. If you wish you can also give your end user direct access to their ticket via the way of a URL.

Some downsides of this though, in the e-mail templates in the triggers, for some reason you can format the contents of the outgoing e-mails with textual markdown but there is no graphical option for Bold/Italics etc. All though you can sort the triggers to a degree based on usage, I can expect if you had 50-60 triggers in there it would get a bit difficult to find a particular one as they are all in a long list – not major but worth mentioning.


Conditional Fields

This is the ability for you to generate certain fields on certain ticket types, IE you choose selection A from a dropdown and this generates another field based on your selection in the first dropdown. Handy from an MSP perspective if you need to capture certain bits of information on certain types of tickets (IE a new user).


The biggest con for this is it’s only available in the enterprise app, which is not cheap. You can buy an “addon” to the professional package but I will address this later when talking about pricing and support.

Time Capturing and Management

The functionality is not there by default – but there is a specific Zendesk app that you can install to add the functionality. As Zendesk uses a tabbed navigation bar (similar to chrome), you can have multiple tickets open and a very handy feature is the timer will only start on that ticket that you have an active tab on. This seems to work very well. The app sits on the right hand side of the ticket view and can be expanded to see all time logs.

Cons – you cannot edit the time logs, which is a pain. With default functionality if someone puts in 55 hours instead of 55 minutes you are stuck. You can override this with a third party app called “Total Time Override” that costs $15 but I have not tested this.


Help centre for clients

I have largely nothing but positive things to say about this. This is a publicly facing site (if you want it to be) and allows you to add and manage content that can be accessed by your clients. You can mange by article, section and category then customise the design and css to make the theme your own. You can limit some articles to agents only. There is also something called communities that allows end users to provide/ask questions (can be disabled). You don’t even need to be technical to add articles in here, or format them properly – it is that simple (a bit like WordPress). It also deals with copy and paste very well, I CTRL C’ed an entire Office 365 article, including pictures, tables and other funny formatting and pasted it straight into an article and posted it. Took 10 seconds – no formatting required.


Some small cons, you can limit sections by logged in/public/agents but I’d like to see the ability to limit to an organisation.

End User and Organisation Management

This works very well in Zendesk. You can bulk import via CSV or you can interact with their API to update/add/delete users, groups and organisations. You can create custom fields in the user and organisation entries (allowing you to specify whatever you want at an end user or organisation level). This is very powerful when you combine it with triggers. For example, say I had a dropdown at an end user level called Employee type (Owner/Manager/Employee). I could write a trigger that says “IF Employee Type is Director/CEO, raise the ticket priority and e-mail xyz”. This is infinitely customisable and additional which makes this as powerful as you need it to be.


Ticketing Workflow, fields and SLA

In general, how they have structured this works well. You have different states for a ticket, New, Open, Pending, On-hold, Solved and Closed. You have a priority on each ticket, and a ticket type (Question/Incident/Task/Problem). None of these default fields are editable but that doesn’t matter as you can design additional ticket fields very easily, including all the common types (dropdown/text/multi-line text/numeric/decimal/date/checkbox/regex). You can also set them to be mandatory and make them visible or not to end users. You can also add tags to your ticket based on selections or entries on certain fields.


Managing your tickets with the states built into Zendesk allows you to manage SLAs properly. You can set SLAs that are based on first reply time, requester wait time, agent work time, next reply time and these can be based on your business hours. You can have multiple SLAs that you can apply based on certain criteria. For example, you can add a custom dropdown to every organisation called “Contract Type” which could have an option of Standard/Premium/Gold or whatever your offerings are, and you can apply the SLA based on your custom field.


Hands down the best REST API I have ever seen, fantastically documented and allows you to manipulate or retrieve (from my initial observations) any part you can access in their main system. Their developer documentation is good too with example on Github for certain things. API rate limits are also generous (400 requests per minute) on Professional.


I’ll start this off by saying I am positive you can get whatever you want out of the reporting. Unlike the rest of Zendesk though this was not something I found intuitive. Say for example you wanted a report of total time logged against all organisations over a particular period, Zendesk do have instructions on how to get this information out but it is overly complex. This is most likely as they have bolted on their reporting to a company called GoodData and this shows in its lack of intuitiveness. It’s quite complex though and allows you to do pretty much whatever you want, but it’s not as simple as I would have hoped (in that there is no report present that you can just run to pull that information out). You can see basic stats without going into the GoodData integration.

See here for some “recipies” on how to generate reports: https://support.zendesk.com/hc/en-us/articles/208225158-Insights-recipes-reference-Professional-and-Enterprise-

Implementation of Business rules and automation

The triggers and automations allow for a high level of customisability for what you want to achieve. These work very well. What is lacking is the management of Workflow on tickets. For example, say you have Quoting Team / Provisioning Team / Implementation Team / Invoice Team as a workflow structure and you didn’t want to allow for a ticket to pass from Quoting straight to implementation, you would not be able to do that by default in Zendesk. Like pretty much everything else in Zendesk though there is an “App” for that and the best I have found is a paid app herehttps://www.cloudset.net/hc/en-us/articles/420142 – this also implements sub tasks too. I spoke to someone who works for the app company and they are releasing someting in the next few months that’s even more in-depth for workflow and sub tasks than their existing offering if you need that kind of level of workflow management.

More details and screenshots on triggers here: https://support.zendesk.com/hc/en-us/articles/203662246-About-triggers-and-how-they-work

Easy execution and responses for common tasks

This is achieved by something called a Macro in Zendesk, and to be blunt, they are amazing. You can do anything to a ticket in one click, especially helpful for situations and calls you get often. For example, one of our engineers gets a call asking them to send a quote for a new PC. The person generating the ticket can click once on Quote and Opportunities > New PC and the ticket will auto populate with everything I have set in the macro, including assignment into the correct team or person, setting the type of ticket, the priority, tags, category (that I have custom added), billing type (another custom add for us) and populated formatted text into the description.



A Zendesk coded app called Answer Suggestion searches through all the articles in your help centre based on what you or the client puts in the subject of a ticket, it will display suggestions in the right hand side. One click will preview and insert the article into the ticket you are working on. Want to send an instant notification to all people in the app? You can do that too with another app called the “notification app”.

Sub Tasks

Unfortunately completely missing in the default Zendesk, but extensible and addable with other apps in the store (some you have to buy). There are Zendesk coded apps that can link tickets together, but this is a bit of a letdown. I’m not too worried about this point though as I can add or buy app functionality to expand the sub tasks feature.

Views (Queues)

As detailed above somewhere, these work very well and are completely customisable. They do limit to 8 though, and it’s a bit upsetting to see requests since 2009 to increase this and they still haven’t done anything yet. There’s a clear demand to increase this, but as always there are apps that “work around” it.


The app infrastructure in Zendesk is what makes it a usable, well rounded product. The apps are just one to two clicks to install and they tie in well to the parts they activate in. As an MSP, and as I’m sure you all agree, there are often ticketing functionalities or behaviours that we want to occur with ticketing systems that are not all that common, and the features are often missing. Nearly all the features I have needed are available in the app marketplace, many for free and a lot of them written by Zendesk themselves. Some are “supported” some are not.

If needed, you can also write your own apps and the integration documentation for this is very thorough with plenty of examples.

There are also many apps that enable interactions with many different providers, including CRM, IT Management, Email marketing, Project Management, survey and feedback etc – even telephony. Zendesk recently released an Outlook to Zendesk ticket add on (I tested this in Office 365) and though basic it does work, inserting attachments too.

Client Feedback

When enabled, sends out a survey four days (editable) after ticket close for someone to choose good or bad for the service they required and also add a comment. This can also extend into a view that shows all rated tickets called the “Satisfaction Console”.

Support from Zendesk

I’ve engaged their support 5 times so far, with questions relating to both usage and pricing. The documentation is so well written for Zendesk that when I was configuring it I didn’t really even need to speak to them. Everything is intuitive to setup. On the times I have engaged Zendesk with questions through the live chat, I’ve had someone speaking to me within 5 seconds of putting the initial question in, and these people are clearly not sitting in some none English speaking country, copy and pasting resolutions that have nothing to do with the questions they asked. Their up time is high, and in-fact while I was trialing this they had an outage for the auto complete to select users when searching in a ticket. I went to the live chat right away and within 15 seconds of engaging them they let me know they had an ongoing problem. I used this an opportunity to test they keep their service updates page up to date, and the incident (to my shock) was indeed there as a problem in their european data centre. It made me realise how conditioned I’ve become to vendors NOT updating their status page. The problem was fixed in an hour.

The only time they have let me down is when it comes to prices of Addons. Addons are things you can purchase if you need one piece of enterprise functionality at the professional (or lower) level. For some reason, the support agents don’t have this pricing information (I’m told this is because Addons are relatively new). I’ve had a call in for 30 hours now simply to find out how much one of the Addons cost, I have chased this twice now and heard nothing. I don’t want to trial an addon if I am going to implement Zendesk without finding out how much it costs first.

Pricing, Overall and Conclusion

Zendesk is the best ticketing system I have tried so far that we can possibly use in our MSP. The way it uses apps to extend functionality as opposed to just shoving 10 thousand options in by default (Connectwise, I’m looking at you) makes for a much better experience for the end user and the agent. The solution can get quite expensive thoughhttps://www.zendesk.com/product/pricing/ and I’m not sure that the difference in price between the Team and Professional versions is fully justified for the additional features that you are getting.

I think the Enterprise plan is over priced for what you get in there too. There is no doubt in my mind though, based on what I have trialled so far that this is the best in the market at the moment. Freshdesk/Freshservice is a pale imitation to Zendesk, but they are getting there (the closest to Zendesk in my opinion). With the extensibility using the API and the open documentation to write your own apps its entirely possible to implement a number of features that are not native to Zendesk, but relevant to us MSPs.

While this is fresh in my mind I am happy to answer any questions anyone has!