Skip to main content

Conversational ticketing with Zendesk

Learn how to get started with conversational ticketing with Zendesk.


Install conversational ticketing with Zendesk from app directory and start using it by connecting your Zendesk and Slack accounts.

Get started as a user

If you are invited to this app as a user, proceed to Get started as a user section to learn how to connect your Zendesk account.

Features​

Visit this link to learn about conversational ticketing use cases.

  • 🎫 Raising requests in Slack: Let your team and your customers open inquiries in dedicated Slack channels and automatically convert their messages into Zendesk tickets.
  • πŸ”„ Triage within Slack: Get notified of new tickets in your triage channels and track updates and share your comments in a single Slack thread.
  • ✍️ Zendesk actions on Slack: Create, view, and assign Zendesk tickets, change their statuses, or add followers to them.
  • πŸ” Private tickets: Enable private conversations between your support team and your requesters by moving the conversations from request channels to direct messages in Slack.
  • πŸ“Š Automated CSATs: Automate sending DM to your requesters to rate their support experience. Create CSAT reports and share them with your team.

How to get started​

Step 1. Install conversational ticketing with Zendesk​

Visit conversational ticketing with Zendesk in app directory and click Install button at top right corner.

Install conversational ticketing with Zendesk

Step 2. Allow Zendesk Support by Actioner app in your Slack workspace​

Click Allow to allow Zendesk Support to be added to your Slack workspace. You can switch to another Slack workspace from top right corner on this screen.

Allow Zendesk Support by Actioner

Step 2. Connect to Zendesk​

After installing the app, you'll be prompted to connect your Zendesk account.

Connections for conversational ticketing with Zendesk

  1. Click Connect near Zendesk (Oauth) connection and proceed to authentication in Zendesk via OAuth2.
  2. You will be asked to sign in to your Zendesk account if you haven't already.
  3. Click Connect app. You’ll be redirected to Actioner upon successful authorization.

Step 3. Complete setup​

Setup conversational ticketing with Zendesk

  1. Run Create webhook and triggers in Zendesk. This workflow creates a webhook and ticket related triggers in your Zendesk account. The webhook is created with the name you enter.

  2. Run Create channels for new ticket notifications and raising requests. This workflow creates 3 new channels in your Slack workspace:

    • #actioner-default-queue channel will be created as your triage channel for requests raised by /support and for requests created in Zendesk.
    • #actioner-triage channel will be created as your triage channel for requests raised from #actioner-requests channel.
    • #actioner-requests channel will be created to capture new requests of your users in Slack.

Step 4. Invite your team​

By default Everyone in your Actioner workspace is added to your app as Runner.

To grant app admin permission to a user, go to the Permissions tab of your app and add users or groups via + Add permission button. If you can't find the users you want to add, ensure they have been invited to your Actioner workspace.

Permissions for conversational ticketing with Zendesk

Get started as a user​

If you are invited to this app as a user, you need to complete your Zendesk connection. This connection is required for you to take actions on Zendesk notifications and to run workflows from Zendesk Support shortcut in Slack.

  1. Navigate to Zendesk connection, click Connect and proceed to authentication in Zendesk via OAuth2.
  2. You will be asked to sign in to your Zendesk account if you haven't already.
  3. Click Connect app. You’ll be redirected to Actioner upon successful authorization.

How to customize this app​

Set up a queue in Slack​

To create a new queue, you first need to create or dedicate a request channel and a triage channel in Slack.

  • Request channels are Slack channels where requesters can go to make a ticket for a specific team. Any tickets created from a request channel can be directed to a preferred queue. We recommend these channels be a public, where anyone can join and make a ticket.

  • Triage channels are channels dedicated to triaging or prioritizing incoming requests or and are typically used by your help desk teams for assessing and categorizing incoming tickets, assigning them to appropriate teams or team members for further action or resolution.

After creating your request and triage channels, you can run Configure your channels and forms in Slack or in Actioner to create your queue.

  • Select your request channel for your Slack users to raise requests from Slack messages.
  • Select your triage channel to notify for the requests created in the selected request channel.
  • Select how tickets will be created: When reacted with ticket 🎫 emoji or When a new message is posted.
  • Select if you want your users to raise requests through filling out a form or not.
  • If you enabled "Form required" option, select the Zendesk forms that will be available in your selected request channel.
Invite Zendesk Support to your channels

Do not forget to invite Zendesk Support to your request and triage channels!


Alternative way to setup a new queue or update an existing one is through updating your Config.

  1. Go to Configs tab of your app and navigate to requestChannelConfiguration.

  2. Add a new JSON object in the below structure:

{
"channels": [
{
"requestChannelId": "C01234ABCDE",
"triageChannelId": "C01234FGHDI",
"triggerType": "emoji",
"emoji": "ticket",
"formSelection": false,
"forms": [
{
"id": "8742098312457",
"name": "Default Ticket Form"
}
]
},
{
"requestChannelId": "C09876ABCDE",
"triageChannelId": "C09876FGHDI",
"triggerType": "message",
"formSelection": true,
"forms": [
{
"id": "3598124675231",
"name": "General IT Support"
}
]
}

]
}
  • requestChannelId: This is the ID of the channel that you can dedicate for creating requests in Slack. You can replace it with the ID of your Slack channel. If you change the value over here, do not forget to invite Zendesk Support to your channel!
  • triageChannelId: This is the channel where new ticket notifications will be posted to, whenever a ticket is created from the selected request channel. You can replace it with the ID of your Slack channel. After changing the value over here, do not forget to invite Zendesk Support to your new triage channel!
  • triggerType: It can be set as emoji or message. When it is set as emoji, Zendesk Support starts to listen to emoji reactions in the selected request channel to trigger new Zendesk requests. Conversely, if the value is sent as message, Zendesk Support triggers ticket creation action when a new message is posted to the selected request channel.
  • emoji: By default, the emoji to create tickets is ticket 🎫 emoji, However, you can select another emoji for your request channel. It is even possible to trigger requests with different emojis in different request channels.
  • formSelection: It can be set as true or false. When it is set as true, Zendesk Support sends a message prompting the user to raise her request through filling out a form after clicking βœ‹ Raise a request button. When it is set as false, Zendesk Support automatically creates the ticket by mapping the Slack message to the Zendesk ticket’s subject and description.
  • forms: This property contains the id and name of your Zendesk forms that will be available in your selected request channel.

Configure your form fields​

Zendesk Support app seamlessly integrates your Zendesk forms into your Slack and lets you select which ones will be available in your preferred request channels. You can also configure which fields in your forms will be visible for your requesters to raise new tickets.

To configure your fields, you can run Configure your form fields in Slack or in Actioner.

  • Select your Zendesk form.
  • Select the fields that will be visible while raising new requests. If you do not choose All option, do not forget to add your required fields here.
  • Enable Show this form during ticket creation via shortcut option if you want this form to become available when Create ticket workflow is run from /support command.

Enable CSAT​

To enable/disable sending CSATs in Slack, you can run Configure CSAT for requests created in Slack in Slack or in Actioner.

  • Enable Send CSAT to requests created in Slack option.
  • Select when you want to ask your requesters to rate their experience.
  • Enable Add CSAT score as an internal note to your tickets option to log the rating and the comment in your ticket as an internal note.
  • Enable Show CSAT score in your triage channel option to show the rating and the comment in the triage channel.

Alternatively, go to Configs tab and navigate to csatConfiguration.

  • sendCsat: When it is set as true, your requesters are asked to rate their experience in Slack. You can set it to false to disable this workflow.
  • csatTimeFrame: Shows how many minutes later the CSAT will be sent to your requesters after the ticket is solved. It can not be less than 1.
  • showScoreAsComment: When set to true, the rating and the comment of the requester is added as an internal note to the ticket. You can set it to false to make it hidden from ticket notes.
  • showScoreInTriage: When set to true, the rating and the comment of the requester is added as a thread reply to the post in your triage channel. You can set it to false to make it hidden from thread in your triage channel.

Update the settings of your app​

You can update your default triage channel for new ticket notifications and customize your bot name and icon with your own image’s URL, such as with the logo of your company or an image representing your support team.

For this, go to Configs tab of your app and navigate to appConfiguration.

  • botName: You can replace the value over here with any name of your choice, such as Acme Support or IT Help desk.
  • botIcon: You can replace this field with a URL of your desired image. You can select the logo of your company or an image representing your support team.
  • defaultTriage: This is the channel where new ticket notifications will be posted to, whenever a ticket is created from /support command or whenever it is raised from another Zendesk channel. You can replace it with the ID of your Slack channel. After changing the value over here, do not forget to invite Zendesk Support to your new triage channel!

Customize hints sent to agents and requesters​

In appConfiguration, you can also update below fields:

  • triageThreadHint: This field contains the hints sent to triage channels when a new ticket is created. They contain useful tips showing agents how they can manage tickets and track new updates. You can update it with your own custom hints. Do not forget to provide your hint in markdown format.
  • requestThreadHint: This field includes the hints sent to a request channel when a new ticket is created from the message sent to it. They contain useful tips showing requesters how they can track new updates on the ticket. You can provide your own custom message over here. While updating this field, make sure that your text is in markdown format.
  • dmThreadHint: This field contains the hints sent to the requester as DM when a new ticket is created from Zendesk Support shortcut. They contain useful tips showing requesters how they can track new updates on the ticket. You can provide your own custom message over here. While updating this field, make sure that your hints are written in markdown format.
  • privateRepliesHint: This field includes the hint shown to the requester in DM when a ticket is marked as private.You can write your own markdown message in this field.

How this app works​

New ticket alerts​


When a new Zendesk ticket is created, Zendesk Support sends a notification to your triage channel. You can invite your support team to this channel to work on new requests.

  • If the ticket is created from a message sent to one of your request channels, the notification is sent to the triage channel associated with that request channel.
  • If the ticket is created by running Create ticket workflow through /support command or if it is created from other Zendesk channels, the notification is sent to default triage channel.

Manage tickets in your triage channel​


When a new Zendesk ticket is created, Zendesk Support sends a notification to your triage channel. Your support team can take actions on these notifications or add emojis to manage your tickets.

Notifications sent to your triage channel include below buttons:

  • ✍️ Update: Updates the ticket fields with the values entered or selected.
  • πŸ‘€ Assign: Assigns the ticket to the selected group and agent.
  • πŸ” Show requeste: Returns the details of the requester, along with a list of her last 5 tickets.
  • βž• Add follower: Adds a follower to the ticket.
  • πŸ” Private ticket: Available if ticket is created from a message sent to a request channel. Converts the ticket to a private ticket. Once a ticket is converted to a private one, its updates are sent to requester through DM.

You can also take actions with emojis.

  • πŸ‘€ emoji assigns the ticket to the user who added it.
  • βœ… emoji changes the ticket status to solved.

Ticket updates​

When a ticket's priority, status, group or assignee changes,

  • The ticket post in your triage channel is updated with the new ticket fields.
  • A thread reply is sent to the ticket post in your triage channel, showing the changed value of the updated field.
  • If ticket is created from a message sent in a request channel, the request post is updated with the new ticket fields. If ticket is solved or closed, a thread reply is also sent to this post.
  • If ticket is created by running Create ticket workflow through /support command, the request post sent as a DM is updated with the new ticket fields. If ticket is solved or closed, a thread reply is also sent to this post.
  • When the ticket is solved, and if CSAT is enabled in your app, the requester gets a direct message asking her to evaluate her support experience.

Create ticket via /support command​


You can call /support command in Slack and then navigate to Create ticket workflow.

  • When your request is created, you'll get a direct message from Zendesk Support with the details of the created ticket.
  • If the requester is not a Zendesk user, Zendesk Support automatically creates a new end user.

Create ticket when ticket 🎫 emoji is added to a message​


When ticket 🎫 emoji is added to a message in a request channel with emoji trigger,

  • If form selection is required for that request channel, a new message is sent to user asking if she wants to raise a new request.

  • If form selection is not required for that request channel, a new ticket is automatically created once ticket 🎫 emoji is added.

  • When a new ticket is created, the requester of the ticket becomes the Slack user who posted the message. Zendesk Support automatically creates a new end-user if that Slack user is not a user in Zendesk. Requester gets a thread message to her original post showing the created ticket details. She can mark the ticket as solved when her request is solved.

  • User mentions in the Slack message is converted to user mentions in the Zendesk ticket. Here is how it works:

    • If the mentioned Slack user is also a Zendesk user with the same user, she is also mentioned in the Zendesk ticket.
    • If the mentioned Slack user is not a Zendesk user, the user mention in the Slack message is replaced with her display name or real name in Slack.
  • If the message contains any attachments, these attachments are added as a link in the Zendesk ticket and shown in the message sent to triage channel.

Create ticket when a new message is posted​

When a new message is posted to a message in a request channel with message trigger,

  • If form selection is required for that request channel, a new message is sent to user asking if she wants to raise a new request.

  • If form selection is not required for that request channel, a new ticket is automatically created once a new message is posted.

  • When a new ticket is created, the requester of the ticket becomes the Slack user who posted the message. Zendesk Support automatically creates a new end user if that Slack user is not a user in Zendesk. Requester gets a thread message to her original post showing the created ticket details. She can mark the ticket as solved when her request is solved.

  • User mentions in the Slack message is converted to user mentions in the Zendesk ticket. Here is how it works:

    • If the mentioned Slack user is also a Zendesk user with the same user, she is also mentioned in the Zendesk ticket.
    • If the mentioned Slack user is not a Zendesk user, the user mention in the Slack message is replaced with her display name or real name in Slack.
  • If the message contains any attachments, these attachments are added as a link in the Zendesk ticket and shown in the message sent to triage channel.

Raise requests through forms​


When you send a message to a request channel, Zendesk Support responds with an automated message, asking if you are looking to raise a request. The automated message also contains the βœ‹ Raise a request button that you can use to create a new ticket by filling out fields on the opening form.

  • When a new ticket is created, the requester of the ticket becomes the Slack user who posted the message. Zendesk Support automatically creates a new end user if that Slack user is not a user in Zendesk. Requester gets a thread message to her original post showing the created ticket details. She can mark the ticket as solved when her request is solved.

Use threads to drive conversation​


Both the requester and the support agent can continue to send their comments by staying in Slack and replying from the post on their channel. A few uses for this flow:

  • Keeps the requester informed as soon as the agent updates their request.
  • Reduces context-switching both for the support agent and for the requester. Requester can continue to track ticket updates from the original request post . Support agent can track updates on the original ticket post on your triage channel.
  • Enables agents and requesters to collaborate by establishing the means to a better communication. Issues can be closed faster with reduced error prones.
  • Prevents copy - paste activity in Slack into tickets.

Replying to requester​

Support agents can send a reply to the requester from the ticket thread in your triage channel. Once a new thread message is sent to a ticket post,

  • A new public reply is added to the related Zendesk ticket. If the message contains attachments, links to attachments from Slack message are added to comment. If a Slack user is mentioned in Slack, and if mentioned Slack user is also a user in Zendesk, she gets mentioned in Zendesk as well.

  • Ticket status is updated to pending.

  • If ticket is created from a message sent to a request channel, requester gets the reply from the Slack thread she originally requested help. She gets the notification from Zendesk Support but the message is an impersonation of the support agent with a copy of her Slack profile picture and display name.

  • If ticket is created by running Create ticket workflow through /support command, requester gets the reply from the DM thread originally sent when the request was created. She gets the notification from Zendesk Support but the message is an impersonation of the support agent with a copy of her Slack profile picture and display name.

  • If any user is mentioned in the reply; that user is also mentioned in Zendesk, if the mentioned Slack user is also a Zendesk user with the same email. If not, only her Slack display or real name is replaced in the reply.

  • If any attachment is added to Slack reply, the link of the attachment(s) are added to Zendesk comment and are shown in the comment sent to requester in request channel or DM.

Adding internal comments to ticket​

Support agents can add an internal note to the ticket from the ticket thread in your triage channel. To add an internal note, start your message with lock πŸ”’ emoji. Once a new thread message is sent to a ticket post, and if the message starts with lock πŸ”’ emoji,

  • A new internal note is added to the related Zendesk ticket. If the message contains attachments, links to attachments from Slack message are added to comment. If a Slack user is mentioned in Slack, and if mentioned Slack user is also a user in Zendesk, she gets mentioned in Zendesk as well.

  • Ticket status does not change.

  • Requester does not get this message in Slack.

  • If any user is mentioned in the reply; that user is also mentioned in Zendesk, if the mentioned Slack user is also a Zendesk user with the same email. If not, only her Slack display or real name is replaced in the reply.

  • If any attachment is added to Slack reply, the link of the attachment(s) are added to Zendesk comment.

Replying to support agent​

Requester can send a reply to the support agent from the request thread in one of your selected request channels. Once a new thread message is sent to a request post,

  • A new public reply is added to the related Zendesk ticket. If the message contains attachments, links to attachments from Slack message are added to comment. If a Slack user is mentioned in Slack, and if mentioned Slack user is also a user in Zendesk, she gets mentioned in Zendesk as well.

  • If ticket status is solved or closed, ticket status does not change. Otherwise ticket status is updated to open.

  • Agent gets the reply from the Slack thread in your triage channel. She gets the notification from Zendesk Support but the message is an impersonation of the requester with a copy of her Slack profile picture and display name.

  • If any user is mentioned in the reply; that user is also mentioned in Zendesk, if the mentioned Slack user is also a Zendesk user with the same email. If not, only her Slack display or real name is replaced in the reply.

  • If any attachment is added to Slack reply, the link of the attachment(s) are added to Zendesk comment and are shown in the Zendesk ticket.

Comments added outside of Slack​

If the comment source is Zendesk portal, or email, or any other source that is not Slack, the comment is sent as a thread reply to ticket post in your triage channel.

  • Agent gets the reply from the Slack thread in your triage channel. She gets the notification from Zendesk Support but the message is an impersonation of the requester. If the author of the comment is also a Slack user, the message is sent with her profile picture and display name. If the author of the comment is not a Slack user, the message is sent with her Zendesk user name.

  • If the comment is an internal note, the Slack message starts with a lock πŸ”’ emoji.

FAQs​

How can I set Zendesk Support to notify for only specific tickets?​

  1. Go to Zendesk Admin Center and find the trigger named Actioner - Ticket created.

  2. Add filters for the tickets you want to get notifications.

  3. You can apply the same filters to below triggers in Zendesk:

    • Actioner - Ticket status updated
    • Actioner - Ticket priority updated
    • Actioner - Ticket group updated
    • Actioner - Ticket assignee updated
    • Actioner - Public reply added to a ticket
    • Actioner - Internal note added to a ticket

How can I set another triage channel?​

To set another triage channel to for tickets created from a specific request channel,

  1. Navigate to Workflows tab of your app and find the workflow named Configure your channels and forms.

  2. Run this workflow by selecting your request and triage channels.

  3. Do not forget to invite Zendesk Support to the Slack channels you selected.

How can I add a new request channel?​

To add a new request channel,

  1. Navigate to Workflows tab of your app and find the workflow named Configure your channels and forms.

  2. Run this workflow by selecting your request and triage channels.

  3. Do not forget to invite Zendesk Support to the Slack channels you selected.

Note that if your request channel was already connected to Zendesk Support, running this workflow will be updating its settings.