Native Zendesk Talk integration

One of the key functionalities of the Mindful Feedback Zendesk integration is the seamless automation of survey scheduling after a conversation finishes within the Zendesk environment. Mindful Feedback utilizes a Zendesk webhook to initiate an interaction, and by leveraging this webhook, Mindful Feedback can efficiently match each conversation with pre-configured survey mappings. This helps to determine whether a survey needs to be scheduled or updated, providing a streamlined and automated feedback collection process for Zendesk users.

Setting Up the Integration

Quick access: Settings > Customer Settings > Integrations > Zendesk tab

  1. Navigate to the Zendesk tab within the Mindful Feedback UI by following the Quick Access path shown above.
  2. On the Zendesk tab, click the Enable Zendesk Integration toggle switch.
  3. In the Zendesk Email field, enter your organization's Zendesk Admin email address.
  4. In the Zendesk Domain field, enter your organization's Zendesk domain.
  5. In the Zendesk API Token field, enter your organization's Zendesk API token. To find the API token:
    • Go to the Zendesk Admin Center.
    • Go to Zendesk API, located under the Apps and integrations sectionin the left navigation menu.
    • Click the Add API token button.
    • Copy and paste the API token into the Zendesk API Token field in the Mindful Feedback UI.
  6. Click the Save button.

Within Zendesk, you should now see a Mindful Feedback Webhook and a Mindful Feedback Trigger, which will be activated when a Zendesk ticket is solved.

Adding Survey Mappings

Quick access: Settings > Customer Settings > Integrations > Zendesk tab > Configure Zendesk

To define how survey interactions are created within Mindful Feedback, you will need to configure Survey Mappings. Zendesk uses ticket variables, which are passed to Mindful Feedback through the Zendesk webhook. These ticket variables contain essential information associated with each conversation, such as customer details and agent information. More information on ticket variables can be found later in this article.

A survey mapping consists of two parts. One is a set of conditions and the other is the set of parameters used to define the properties of the new survey interaction. Each condition and survey parameter can use either a constant value or a Zendesk ticket variable.

Survey Mappings are evaluated one at a time in the order they are listed. When a mapping condition is met, a new survey interaction is scheduled using the survey parameters configured for the mapping.

Follow these steps to configure a new Survey Mapping:

  1. Click the Add Survey Mapping button on the Configure Zendesk tab.
  2. Set the toggle switch to Enabled.
  3. Add a description of the Survey Mapping in the Description field.
  4. In the Survey drop-down menu, choose the survey for which you are configuring the Survey Mapping.
  5. Set the Conditions and Survey Parameters as explained in the following sections.

Conditions

In the Conditions section, you can set the Attribute, Operator, and Value that will create a survey interaction. Each of these conditions checks the ticket attributes against constant values. If these conditions are all evaluated as true, then a new survey interaction will be created.

Screen capture of Conditions page

Survey Parameters

The Survey Parameters section maps specified values to each of the survey attributes. Values can be assigned to each attribute using either a ticket variable or a constant value.

In the following example, the Survey Method attribute is set to a constant value of "Email". The Phone Number attribute is set to the value contained in the ticket variable userPhone, and the Email Address is set to the value contained in the ticket variable ticketRequesterEmail. There are three custom survey attributes that are set based on ticket variables, as well.

Screen capture of Survey Parameters page

Ticket variables

The dropdown menu that appears when adding a Condition or Survey Parameter contains a list of known ticket attributes derived from properties of the conversation. You can type the name of an attribute for anything that is not listed in the menu.

The following excerpt shows a sample Zendesk conversation object.

{
"ticketName": "{{ticket.title}}",
"ticketID": "{{ticket.id}}",
"ticketUrl": "{{ticket.url}}",
"ticketDescription": "{{ticket.description}}",
"ticketRequesterName": "{{ticket.requester.name}}",
"ticketRequesterEmail": "{{ticket.requester.email}}",
"ticketAssigneeName": "{{ticket.assignee.name}}",
"ticketStatus": "{{ticket.status}}",
"ticketPriority": "{{ticket.priority}}",
"ticketTags": "{{ticket.tags}}",
"ticketCreatedAt": "{{ticket.created_at}}",
"ticketUpdatedAt": "{{ticket.updated_at}}",
"ticketSatisfactionScore": "{{ticket.satisfaction_score}}",
"ticketSatisfactionComment": "{{ticket.satisfaction_comment}}",
"ticketDueDate": "{{ticket.due_date}}",
"ticketViaChannel": "{{ticket.via.channel}}",
"ticketViaSource": "{{ticket.via.source}}",
"ticketViaSourceFromAddress": "{{ticket.via.source.from.address}}",
"ticketViaSourceFromName": "{{ticket.via.source.from.name}}",
"ticketViaSourceToName": "{{ticket.via.source.to.name}}",
"ticketViaSourceToAddress": "{{ticket.via.source.to.address}}",
}

You will see all of the derived ticket variables available in the dropdown menu that appears when using a ticket variable (Settings > Customer Settings > Integrations > Zendesk > Configure Zendesk).

The following example shows just a few of the available ticket variables. These correspond directly to an attribute of the conversation object.

example ticket variables

The table below details the pre-defined ticket variables in Zendesk:

NameTicket DescriptionNotes
ticketNameTicket nameZendesk ticket title
ticketIDTicket IDZendesk ticket id
ticketUrlTicket URLZendesk ticket url
ticketDescriptionTicket descriptionZendesk ticket description
ticketRequesterNameCustomer nameDefaults to customer phone number
ticketRequesterEmailCustomer emailCustomer's email address
ticketAssigneeNameAgent nameThe agent's name
ticketStatusTicket statusZendesk ticket status
ticketPriorityTicket priorityZendesk ticket priority
ticketTagsTagsZendesk ticket tags
ticketCreatedAtTicket created atZendesk ticket created at
ticketUpdatedAtTicket updated atZendesk ticket updated at
ticketSatisfactionScoreTicket satisfaction scoreZendesk ticket satisfaction score
ticketSatisfactionCommentTicket satisfaction commentZendesk ticket satisfaction comment
ticketDueDateTicket due dateZendesk ticket due date
ticketViaChannelTicket via channelZendesk ticket via channel
ticketViaSourceTicket via sourceZendesk ticket via source
ticketViaSourceFromAddressTicket via source from addressZendesk ticket via source from address
ticketViaSourceFromNameTicket via source from nameZendesk ticket via source from name
ticketViaSourceToNameTicket via source to nameZendesk ticket via source to name
ticketViaSourceToAddressTicket via source to addressZendesk ticket via source to address

Ticket and Survey Matching (Updating Surveys)

You can configure a matching rule near the bottom of the Configure Zendesk tab. You can use a matching rule to change the behavior of the survey mapping. If you are transferring callers straight to a survey, we can later request ticket data based on a Mindful Feedback interaction attribute matching a Zendesk ticket attribute.

Use the following steps to configure matching rules.

  1. Under Match Tickets With Existing Survey Interactions, select one of the available survey matching modes in the first dropdown menu:
    • Disabled (default): The mapping will create a new survey interaction when the configured conditions are met.
    • Match or Add: When the configured conditions are met, Mindful Feedback will first check to see if there is an existing survey interaction with a property (right side) that matches a property of the conversation being evaluated (left side). If a match is found, the survey parameters will be used to update the existing survey interaction rather than creating a new one. If the conditions match and there is no matching survey interaction, then a new interaction will be created.
    • Match Only: An existing survey interaction will be updated if a match is found. New survey interactions will not be created in this mode.
  2. Click within the Conversation attribute field to select a pre-defined Zendesk ticket attribute, or type an attribute name directly into the field.
  3. Click within the Existing survey attribute field and select one of the options provided.

Examples

The following examples show how each matching mode might be used:

Disabled: Survey interactions will be created whenever the configured conditions are met.

Screen capture of Match Conversations with Existing Survey Interactions set to disabled

Match or Add: A match will be made when the conversation attribute ticketID matches an existing survey's External Reference value.

Screen capture of Match Conversations with Existing Survey Interactions set to Match or Add

Match Only: The system will look for an existing survey interaction that has a Phone Number matching the ticketRequesterName conversation attribute.

Screen capture of Match Conversations with Existing Survey Interactions set to Match only
Important:

The Match Only and Match or Add conditions search for existing survey interactions that were created after the Zendesk conversation began.

How Does the Zendesk Browser Extension Work?

If the Zendesk browser extension is installed, the extension will transfer an inbound caller, upon completion of the call, to a survey and create an interaction in Mindful Feedback. If the Zendesk integration is enabled inside Mindful Feedback, when a ticket is "solved" by the agent, the Zendesk webhook will post the ticket information through to Mindful Feedback.

Note:
  • If match by ticketId and external ref is enabled, it will attach these attributes to the interaction created through the browser extension. If match only is disabled, it will always create a new interaction.

  • Before the Zendesk browser extension can be used, the Mindful team must update server-side configuration. Contact a Mindful representative before enabling the integration.