I was consulted concerning a collaboration between Zendesk and Questetra by a customer and examined how to realize it, so I will introduce it.
In this case, the customer already has been using Zendesk Support, and he wanted to measure the processing time and to monitor the load status by passing data to Questetra when a ticket is created on Zendesk Support or the ticket status is changed to “Solved”.
* Although there is a mechanism to measure time also in Zendesk Support, they claimed it did not satisfy their requirements.
Questetra is capable of Starting a business flow by receiving an HTTP request or an email. Therefore, I checked out whether Zendesk Support is able to send HTTP requests that fit Questetra’s specifications.
1. Method of sending HTTP requests to Questetra from Zendesk
As the result of my research, sending data is possible by setting a “Target” which you have specified with URL and set a “trigger” to be launched when a certain event occurs beforehand.
Using this mechanism, it seems that I can realize such as Starting a Questetra Workflow (invoking Questertra API) when a new ticket is created or ticket status is changed.
2. Details of setting for Starting Workflow on Questetra
First, prepare a Questetra App (hereafter “App A”) in which “Message Start Event (HTTP)” is set. Then Release the “App A” and confirm the receiving URL and request parameters.
* See the following page for details of “Message Start Event (HTTP)”
M221: Auto Starting Triggered by HTTP Request
* When you open “URL/Parameter Details” in the property screen of “Message Start Event (HTTP)” in the Latest version (not Developing) if the application has been released, information such as URL will be displayed.
* In the initial setting, receiving of HTTP requests from the external system in “Message Start Event (HTTP)” is disabled, so you need to enable it at “System Setting”. Please note.
* Unlike before, “key” will be different for each event. Please note.
Next, configure “Target” in Zendesk as the following.
And configure “Trigger” as the following.
By these settings, it has become that when a new ticket is created in Zendesk, data is sent to Questetra and a Workflow is Started.
* In this example, “Field names” are set to Data Items of Questetra. Without those settings, you need to set parameter names in a format like “data.input”. Concerning “Field name”, see “d. Field Name” in “1. Add Data Items One by One” in the following web document.
M205: Business Data Items
* Set up so that data which is necessary for binding with Questetra side, e.g. ticket id etc, will be passed from Zendesk.
3. Setting of remaining part
When measuring the processing time, configurations as the following will be required.
Althoguh there will be a lot more settings to be required, I omit the details of them and leave it to another occasion since my theme on this post is the part of sending data to Questetra from Zendesk.
- Prepare another App on Questetra (hereafter “App B”) in which “Message Start Event (HTTP)” is set. Then Release the “App B” and confirm the receiving URL and so on.
- On Zendesk, likewise the creation of a new ticket, add a “Target” that aims Questetra, add a “trigger” to be launched when the status is changed to “Solved”, and configure so that the ID of the ticket is passed to Questetra.
- Configure “App A” on Questetra as the following.
Store the ticket ID received from Zendesk to a Data Item at the Starting.
Prepare a “Service Task (Data assignment)” to store the date and time of Starting the flow (DateTime 1).
Prepare a “Catching Message intermediate Event (HTTP)” to receive an HTTP request when a ticket is solved.
Prepare a “Service Task (Data assignment)” to store the date and time of receiving the HTTP request (DateTime 2).
Find the difference between DateTime 1 and DateTime 2 using an Add-on for calculating time elapsed.
- Configure “App B” on Questetra as the following.
Identify the ID of the corresponding Process by retrieving data in “App A” based on the ticket ID of Zendesk. (Specifically, to retrieve and identify the data in “App A” by invoking “ProcessInstance” of Questetra’s “Workflow PAI”.)
Send an HTTP request to “Catching Message Intermediate Event (HTTP)” on “APP A” using the Process ID.
Thus, we have realized a collaboration between Zendesk and Questetra by exchanging data.
I have been looking at cooperation setting of various cloud services so far, but this was the first time that I could configure an HTTP request sending with such flexibility.
* Incidentally, Questetra also has a flexibility comparable to that!
In addition, even though I mentioned only concerning data transmission from Zendesk to Questetra in this post, also I could realize the following collaboration using APIs that Zendesk provides. I will describe the details of those in another post.
- When a ticket is created on Zendesk, send data to Questetra and Start a Workflow.
- Proceed work along the Workflow on Questetra.
- When the work is finished on Questetra, send data to Zendesk to change the status of the ticket to Solved.
Not only Zendesk but also in other mechanisms of ticket management, you can not stipulate the order of processing or measures to avoid omission. However, you can manage those by combining with Questetra.
If you have any question, please feel free to Contact us.
Apply for Free trial (Starter Plan) of Questetra
When you apply from this web form, you can create a free account for Questetra. All functions including the above are available, so please try it.