It’s common for agents to use Zendesk to interact with end users, and then use Jira to create issues when help is required from the IT or engineering team.
In this recipe, we’ll streamline that process by creating an auto assist procedure to guide agents through troubleshooting common problems and automatically creating a Jira issue for the IT team if more specialized assistance is required.
This article contains the following topics:
- Workflow goal
- Prerequisites
- Creating a Jira project
- Creating a Jira app and OAuth client
- Getting the client ID and secret
- Finding your Jira Cloud ID
- Registering your Jira OAuth client in Zendesk
- Creating a connection between Zendesk and Jira
- Creating an action to create a Jira issue
- Creating a procedure to guide agents
- Testing your workflow
- Customizing your procedure
- Troubleshooting issues
Related articles:
Workflow goal
We’re going to use auto assist to help agents troubleshoot common IT issues, and, if necessary, create a Jira issue to request help from the IT team.
To facilitate this, we’ll do the following:
- In Jira:
- Identify or create a new Jira project, so we have somewhere to create Jira issues.
- Create a Jira OAuth client.
- In Zendesk:
- Register the Jira OAuth client so you can use it to create an OAuth token.
- Create a connection, which makes it easy to create an OAuth token and safely store it for use with your action.
- Create an action, which uses the connection to make a call to the Jira API and create a Jira issue.
- Create a procedure, which tells auto assist what steps are required to guide the agent through creating a Jira issue.
- Test that everything is working.
Prerequisites
To accomplish this workflow, you’ll need the following:
- A Jira Cloud instance Tip: Consider using a new Jira sandbox or free plan instance rather than your production Jira instance until you’re comfortable with how everything works.
- A Jira user with sufficient permissions to create a project, create issues
within that project, and create a Jira OAuth client.Tip: If you’re using a Jira Free plan, all users are admins and have the permissions you need.
- A Zendesk account with the Advanced AI add-on.
- An admin user login for the Zendesk account.
Creating a Jira project
In Jira, identify a project to use or create a new one. It doesn’t matter whether it’s scrum or kanban. Make sure your Jira user has access to the project.
Make note of the key for your project (for example, ENGREQ), as you’ll need this later.
Creating a Jira app and OAuth client
To create a Jira application and OAuth 2.0 integration, perform the steps described in Enabling OAuth 2.0 (3LO) in the Jira Cloud Platform documentation. Make sure to configure the following values.
https://zis.zendesk.com/api/services/zis/connections/oauth/callback
When adding an API to the app:
- Select Permissions in the left menu.
- Find Jira API and click Add.
After a moment, the Add button will change to Configure.
- Click Configure.
- Find Jira platform REST API and click Edit Scopes.
- Make sure View Jira issue data and Create and manage issues
are selected.
This will allow the action you create later to create, read, and change Jira issues.
- Click Save.
Getting the client ID and secret
In Jira, get the client ID and secret:
- Open the Jira Developer Console.
- Go to the Settings tab.
- Make a note of the Client ID and Secret.
Finding your Jira Cloud ID
https://<YOUR_JIRA_SUBDOMAIN>.atlassian.net/_edge/tenant_info
Make a note of the Cloud ID, as you’ll need it when you create the action later.
Registering your Jira OAuth client in Zendesk
Registering your Jira OAuth client allows you to use it within Zendesk, instead of having to interact with it using API requests.
To register your Jira OAuth client in Zendesk
- In Admin Center, click
Apps and integrations in the sidebar, then select Connections > OAuth Clients.
- Click Add client.
- Fill out the following fields:
- Name: Give the client a meaningful name so you can find it easily later (for example, Jira_client).
- OAuth grant type: Authorization code
- Client ID: The Jira client's ID
- Client Secret: The Jira client's secret
- Authorize URL: auth.atlassian.com/authorize Token URL: auth.atlassian.com/oauth/token
- Scopes: read:jira-work write:jira-work offline_access
- Click Save.
Creating a connection between Zendesk and Jira
To create the connection
- In Admin Center, click
Apps and integrations in the sidebar, then select Connections > Connections.
- Click Create connection.
- Fill out the following fields:
- Connection name: Give the client a meaningful name so you can easily find it later (for example, Jira_oauth_token).
- Choose authentication type: OAuth 2.0
- Client: Select the Jira OAuth client you registered in Zendesk.
- Scopes: Leave this blank.
- Allowed domain: api.atlassian.com
- Click Save.
You’re taken through an OAuth screen to allow Zendesk to access your Jira instance.
Tip: If you don’t see this screen, check that it hasn’t been blocked by your browser. - Click Accept.
You’re returned to the Connections page, where you should see a new entry for your new connection. If the Create connection screen you were working on is still open, you can safely close it now.
Creating an action to create a Jira issue
In Zendesk, you’ll create an action that uses the Jira issue API endpoint to create a new issue.
To create the action
-
In Admin Center, click
Apps and integrations in the sidebar, then select Actions and webhooks > Actions.
- Click Create action.
- In the Name field, enter Create IT task.
- In the Description field, enter Creates an IT task for the team to do, and responds with the ID of the task.
- Define the following three Inputs:
Input name Input description Input type name A brief name for the task. string description Full details of the task. Must be less than 200 characters. string priority Priority indicates how severe or urgent the task is. Priority is represented by a single number. Valid values are typically 2 (high impact or urgency issue), 3 (standard issue), and 4 (low impact or urgency issue). string Note: You may need to modify the numeric values used for the priority to suit your specific Jira setup. - Define your API configuration:
- Request method: POST
- Endpoint URL: https://api.atlassian.com/ex/jira/<YOUR_Jira_CLOUD_ID>/rest/api/2/issue
-
Authentication: Select the connection you created
earlier.
- Define the Body:
{ "fields": { "summary": "{{name}}", "description": "{{description}}", "priority": { "id": "{{priority}}" }, "issuetype": { "id": "10004" }, "project": { "key": "ENQREQ" } } }
- Use the {+} icon to insert the placeholders for priority, name, and description.
- The project key value should be the key you identified earlier.
- 10004 is the default ID for the Jira issue type Task. Depending on
your Jira setup, you might need to use a different ID. Learn how to
find your issue type IDs in Jira here.
- Define an Output:
Output name Output description task_id The human-readable ID for the new task. - Click Save.
Creating a procedure to guide agents
To create a procedure
- In Guide admin, click Procedures in the sidebar.
- Click Create procedure.
- In the Name field, enter a descriptive name, such as IT task helper.
- In the body field, enter the following content:
Your job is to help create IT tasks for the IT team.
Step 1: Ask the user what they need help with.- List the following common requests:
- Order new access card
- Drink tray will not open
- Printer problem
- Other
Step 2: Gather more details about the task.- Order new access card: Ask the user to provide name, position description, eye color.
- Drink tray will not open: Ask the user if they have tried pressing the button on the front of the PC tower. Ask if they have tried right-click and eject.
- Printer problem: Ask for the printer name, which is located on the front of the unit. Ask for more details about the problem.
- Other: This is a catchall for any other issue. Ask the user to explain what the problem is.
Step 3: Determine priority.Step 4: Summarize issue and get user confirmation.- Ask the user what impact this is having on them and how urgently it needs to be fixed.
- Based on this information, assign a priority of 2 (high), 3 (regular), or 4 (low).
- Based on the information provided, generate a name and description for the task. The description must be no longer than 200 characters.
- Show the name and description to the user. Ask them to confirm.
- Strictly do not create the task until the user has confirmed.
Step 5: Create IT task.- Tell the user you are going to create the task now and to please wait a moment. For example, "Thanks for confirming the details. I'll log the task with the team now. Please hold on a moment."
- Then create an IT task using the name, description, and priority generated in steps 3 and 4.
Step 6: Share IT task ID.- After the IT task is created, give the task ID to the user.
Step 7: Wrap up- Thank the user and wrap up the conversation.
- List the following common requests:
- Click Save.
Testing your workflow
The simplest way to test your workflow is using the test feature in a conversation bot.
To test your workflow in a conversation bot
- In a conversation bot, open or create an answer that includes the Transfer to agent step type.
- On the Transfer to agent step, add the tag agent_copilot_enabled.
- On the edit page for your conversation bot, click Test bot.
For help, see Testing a conversation bot before publication.
- Start a conversation with the bot using a phrase related to the answer you
created.
In this browser window, you’ll play the role of the end user.
- In another browser window, open the Zendesk Agent Workspace.
Here, you’ll play the role of the agent. You should see a notification pop up with the new conversation.
- As the agent, follow the auto assist suggestions to reply to the end user.
- As the end user, respond with the information requested.
- When the Jira issue is created, open the link to see the new issue.
Customizing your procedure
You can further customize the procedure and action in this workflow recipe to suit your needs. For example:
- In steps 1 and 2 of the procedure, you could change the list of common tasks and troubleshooting steps to suit your specific requirements.
- In step 3 of the procedure, you could add different priority levels. If you do, make sure you also update the input in the action you created.
- You could add additional steps to gather further information that gets added to corresponding fields on the Jira Issue (for example, the environment the issue is happening in, or data for custom fields). If you do, make sure you also update the inputs and body in the action you created.
You can also create a similar “Can I get an update on my IT task?” procedure so that end users can stay informed about the progress of their ticket. To get started:
- Create a new action that fetches a Jira Issue based on the issue ID and returns useful information like the status and last updated time as outputs.
- Create a new procedure that asks the user for their issue ID and gives them the latest update on the issue.
Troubleshooting issues
If you encounter authorization problems with Jira:
- Check that your Jira user has the right permissions to access the project.
If you encounter issues with the action:
- Check the action executions in the integration log.
- Make sure the numeric values in the action align with your Jira setup (for example, priority 2/3/4, issue type 10004) and that you’re using the correct key for your project (for example, ENGREQ).
If the procedure is not working as expected:
- Check that the naming and description for the action and its inputs and outputs are consistent with the naming you use in the procedure.
If auto assist doesn’t start on the ticket:
- Check that the Zendesk user you’re testing with is included in the groups that have access to auto assist. See Turning on and configuring access to auto assist.
- Check that your conversation bot answer includes the tag agent_copilot_enabled.
0 comments