Firstly, here's a quick video showing you a use case of the Approvals App for Zendesk:
To setup approvals, the first step is to define a list of approvers. To do this click on the approvals icon on the left of the screen and then at the top click on "Approvers". Then, to create an approver click on "Add approver" at the bottom.
Fill in the name and email. For the first approver, you won't be able to choose anything from the 'escalate' options because there's no one else to escalate too just yet. When you've finished, click on "Create User" at the bottom.
Continue to add all of the people you'd like to add as approvers. Where appropriate, use the "Escalate to" drop-down field to specify superiors and the "Escalate after" drop-down field to nominate how much time an approval can be waiting for a response before it automatically gets reassigned up the chain of command.
Note that it is also possible to populate your list of approvers automatically using manager functionality.
Once you've created a number of approvers, it is then possible to define groups of those approvers. Within each group's settings, you can define the number of approvers from within the group who need to say "yes" to a request before an approval request is deemed "Granted". For a video and more information on how to create and use groups see: Approval Groups.
Creating Approval templates
An approval template is used to define what needs to be approved, who it will be sent to and when it should be sent.
To create an approval template first click the approvals app on the left, and then click on the "Approval Templates" tab and next on "Add approval template" at the bottom.
Once you've got the template open, you'll need to give your approval a name and description like this:
Next up you'll need to decide who the primary approver will be...
The "Primary approver" is the person the approval will be sent to if it gets sent automatically via a trigger. If on the other hand, the agent is manually sending the approval, the primary approver will simply be listed at the top of the list of possible approvers.
Side note: Another possibility for the primary approver is to set this to "Manager". If selected, instead of the approval being sent to any particular person, the app will dynamically lookup who the requester's manager and send it to them. Check out this article & video for more information on how the manager functionality works.
Now that you've defined who the approval will be sent to, next you'll need to define the conditions for when you want the approval to be visible in the apps pane in the agent interface.
If you're on the Zendesk Enterprise plan, then you can specify this by selecting the form the approval will be applied to like this:
If you're on the Zendesk Professional plan or below then instead of setting a form, you'll be able to specify a single tag that defines if an approval is required like this:
If you're needing to get more specific with your conditions, in both cases you have the option to switch to the advanced condition editor like this:
For more information on writing the JSON conditions in advanced mode see: Creating advanced conditions for manual approvals
Important note: For approvals to be visible in the agent interface based on the conditions defined above, you will need to enable 'manual approvals' on the template. For more information on controlling when an approval is shown in the ticket sidebar see: Defining when approvals are visible on a ticket
Next up, you'll need to define what information the approver needs to approve. You can do this nice and quickly by selecting a set of ticket fields like this:
The app will then be able to use the contents of those fields and send them to the approver.
If you need to get more creative with what the approver receives you can do this by switching to the advanced mode like this:
On a side note, you can see that in advanced mode, the ticket fields that were selected in the drop-down menu are now simply listed as Zendesk placeholders referring to the ticket fields.
The advanced mode also works with liquid markup. This means that you are able to create conditionality around what fields are required for approval. For more information see this article & video: Advanced message editor: Liquid markup
Manual, Automatic or both?
The next thing to decide when setting up an approval template is if you want the approval to be automatically sent off, say when a certain type of ticket is created, or if you want to give agents manual control over when and who an approval should be sent to.
By enabling manual requests like this...
You are able to define exactly when agents will see the approval in the apps pane on the right while allowing them to choose when and who the approval will be sent to from the list of additional approvers.
By enabling automatic approvals like this...
You're making it so that you can create a Zendesk trigger. In that trigger you're able to set conditions as to when the approval will automatically be sent.
If you decide to enable automatic requests, it is still recommended that you keep manual requests enabled also, as this gives you greater control over when the approval can be seen by the agents. Say for example, if the approval needs to be cancelled or restarted, see: Defining when approvals are visible on a ticket.
Further reading: Based on your use case, there are many different ways approval templates can be setup, so we've created this article with different videos to show the setup and process for each: Approvals use cases + serial & parallel processes with video walkthroughs.
If you have any questions about how to build the correct workflow for your use case email us at email@example.com