Create Wrike tasks from Zendesk tickets
Different teams and departments usually have their own tools where they spend most of the day. This post covers one technique for bridging the gap between team members using Zendesk and those using Wrike.
In this post you’ll learn how to create a tag which, when applied, creates a Wrike task based on the Zendesk ticket where the tag was applied. While this approach does not provide 2-way sync, it gives you an easy (and free) integration to fill the information gap between your Zendesk tickets and Wrike tasks.
A Note About Security
The solution described in this post involves using a permanent access token to make Wrike API calls. Permanent tokens should be treated like passwords and should be stored and processed properly in order to maintain a high security level. End-to-end transport-level security is achieved via HTTPS protocol used in all Wrike API calls.
Zendesk does not allow passing permanent tokens via a request header in custom URL targets (which would be the most secure way). Instead, tokens are passed as a request parameter. Only POST requests should be used, to prevent parameters from being logged by web servers. GET requests are not allowed because sensitive data can be exposed to logging.
We strongly advise creating a dedicated “bot” user and issuing a permanent token on its behalf. This allows you to add an extra level of security by having complete control over what data is exposed to this user via selective sharing.
Before You Start
- Generate a permanent access token. Follow these steps to generate one from the API Apps panel in your Workspace.
- Create a Folder where new tasks will appear. You can also set up multiple Folders and use each under a different set of rules in Zendesk later.
- Find the permalink for the Folder you created in step 2 and make an API call with it:
curl -g -X GET -H 'Authorization: bearer <access_token>' 'https://www.wrike.com/api/v4/folders?permalink=<permalink to your folder>'
Note the Folder ID in server response:
{
"kind": "folders",
"data": [
{
"id": "IEAAQA5EI4CA6NIR",
...
Step 1: Set Up a URL Target in Zendesk
Now it’s time to create a new target in Zendesk which will push data to Wrike. Follow these instructions to fill out the form.
- Url: https://www.wrike.com/api/v4/folders/<your Wrike folder ID>/tasks?access_token=<your permanent token>
- Method: POST
- Content type: Form encoded
Test your target before saving, to make sure new tasks are landing in the correct Folder. Only the “title” field is required:
If you get a 200 response code, that means it’s time to piece everything together:
Step 2: Create a Trigger
We’re going to set up a business rule in Zendesk so that when an agent adds the specified tag, a new task is created in Wrike and data from your ticket is added to the task’s description field.
Set Up the Trigger
1. Create a new trigger with these conditions:
- Ticket is: Updated
- Ticket tags contains at least one of the following: push_task
2. In this example we use only task title and description as parameters
- title: ticket ID {{ticket.id}} - {{ticket.title}}
- description: ID: {{ticket.id}} <br> Priority: {{ticket.priority}} <br> Assigned to: {{ticket.assignee.name}}
Your custom integration is ready to use as soon as you save the trigger!
Taking it a Step Further
More you can do
- Get creative with bold text and add URLs that point back to tickets. Wrike task descriptions accept some basic HTML formatting tags.
- Populate Custom Fields in tasks with data from Zendesk
- Assign tasks automatically.
- More targets can be set up to update existing tasks with comments.
- Find the full list of parameters you can pass when creating a task in our API documentation portal.
Example
Create a Priority field on tasks in your Folder and add {{ticket.priotity}} as the value of this Custom Field when you create a task. To do this, you first need to learn respective field and user IDs (just like we did with Folders in this post).
Please let me know in the comments if some of the steps need a deeper explanation or more illustration. I'm eager to learn how you apply this and introduce it into your workflows!
HI - great post - are you able to help solve closing a zendesk ticket once the task is completed in Wrike? thanks in advance
We've been using this integration for quite a while, and love it! However, when the Zendesk ticket converts to Wrike as a task, it comes through as a milestone, not a regular task. This didn't used to be an issue, but now that we're using Workload, any time we need to extend the date of the project beyond a single day, we first need to convert the task from milestone to regular task. Is it possible to set the API integration to generate the Wrike task as a regular task rather than a milestone?
What is the correct URL format for API v4? Since Wrike no longer supports v3? I'm having issues establishing this hook with Zendesk and keep getting 400 and 410 errors.
Hi @Trisha, thanks for reaching out! I'm raising a Support ticket for you, someone from our Advanced Support will help you with this 🙌
Lisa Community Team at Wrike Wrike Product Manager Become a Wrike expert with Wrike Discover
Lisa Wrike Team member Become a Wrike expert with Wrike Discover
Hi Lisa, just wondering if there's a follow up article on this topic? I'm trying to assign values to custom fields upon task creation on Wrike from a Zendesk trigger, is that possible? Thanks!
Hi Melissa Seares! It is possible to do this, provided that you know that there is a value in the Zendesk trigger, and that you know which custom field you want to assign the values to.
If you have any other questions let me know!
Hi @.... Right on time, was able to test this today and I just finished creating a way to sync the statuses.
Not sure how others are doing it and I'm definitely open to suggestions if you have any but I went with bulk update instead of triggers.
Lots of API calls but it does the job (for now).
Hello! Wrike Sync by Unito has just added Zendesk to the list of tools that can be synced 2-ways with Wrike. (previously Project Syncs)
Thanks for sharing Rowan B!