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
- Navigate to the Zendesk tab within the Mindful Feedback UI by following the Quick Access path shown above.
- On the Zendesk tab, click the Enable Zendesk Integration toggle switch.
- In the Zendesk Email field, enter your organization's Zendesk Admin email address.
- In the Zendesk Domain field, enter your organization's Zendesk domain.
- 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.
- 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:
- Click the Add Survey Mapping button on the Configure Zendesk tab.
- Set the toggle switch to Enabled.
- Add a description of the Survey Mapping in the Description field.
- In the Survey drop-down menu, choose the survey for which you are configuring the Survey Mapping.
- 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.
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.
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.
The table below details the pre-defined ticket variables in Zendesk:
Name | Ticket Description | Notes |
---|---|---|
ticketName | Ticket name | Zendesk ticket title |
ticketID | Ticket ID | Zendesk ticket id |
ticketUrl | Ticket URL | Zendesk ticket url |
ticketDescription | Ticket description | Zendesk ticket description |
ticketRequesterName | Customer name | Defaults to customer phone number |
ticketRequesterEmail | Customer email | Customer's email address |
ticketAssigneeName | Agent name | The agent's name |
ticketStatus | Ticket status | Zendesk ticket status |
ticketPriority | Ticket priority | Zendesk ticket priority |
ticketTags | Tags | Zendesk ticket tags |
ticketCreatedAt | Ticket created at | Zendesk ticket created at |
ticketUpdatedAt | Ticket updated at | Zendesk ticket updated at |
ticketSatisfactionScore | Ticket satisfaction score | Zendesk ticket satisfaction score |
ticketSatisfactionComment | Ticket satisfaction comment | Zendesk ticket satisfaction comment |
ticketDueDate | Ticket due date | Zendesk ticket due date |
ticketViaChannel | Ticket via channel | Zendesk ticket via channel |
ticketViaSource | Ticket via source | Zendesk ticket via source |
ticketViaSourceFromAddress | Ticket via source from address | Zendesk ticket via source from address |
ticketViaSourceFromName | Ticket via source from name | Zendesk ticket via source from name |
ticketViaSourceToName | Ticket via source to name | Zendesk ticket via source to name |
ticketViaSourceToAddress | Ticket via source to address | Zendesk 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.
- 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.
- Click within the Conversation attribute field to select a pre-defined Zendesk ticket attribute, or type an attribute name directly into the field.
- 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.
Match or Add: A match will be made when the conversation attribute ticketID matches an existing survey's External Reference value.
Match Only: The system will look for an existing survey interaction that has a Phone Number matching the ticketRequesterName conversation attribute.
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.
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.