Это гостевой пост, написанный Энди Цзяном в Segment. Вы можете найти оригинальный пост в блоге здесь. Это вторая часть «Как сделать данные действенными: встроить данные об использовании продукта в Salesforce». Segment уже несколько лет является отличным клиентом Zendesk, и вы можете найти гораздо больше их сообщений в блоге здесь.

Сбор всевозможных данных о поведении ваших клиентов и создание пользовательских информационных панелей, которые отображаются в офисе, — это довольно круто. Но для того, чтобы данные приносили пользу, мы решили сделать еще один шаг вперед: вы должны представить нужные данные нужным людям в нужное время. Мы показали почему и как вы можете это сделать для вашего отдела продаж. Но это также может относиться к вашей команде по работе с клиентами/технической поддержке.

В этом посте мы расскажем о том, как мы добавили пользовательские виджеты в наш Zendesk, чтобы сократить время обработки запросов, повысить производительность нашей команды и повысить удовлетворенность клиентов.

Давайте погрузимся!

Минимизируйте время разрешения

Клиенты пишут ежедневно с вопросами и проблемами внедрения. Наш продукт имеет огромную поверхность (мы собираем и распределяем данные о клиентах по 160 инструментам и скрываем большую часть сложности), поэтому может быть сложно точно определить, где что-то идет не так. Является ли проблема одним из миллионов способов, которыми клиент реализовал нашу библиотеку? Или между нашей логикой и одной из сотен интеграций?

В первые несколько недель нашей успешной команды мы поняли, что задаем одни и те же первоначальные вопросы о библиотеках, интеграциях и настройках, чтобы начать процесс отладки. Это было глупо, потому что у нас уже где-то хранилась эта информация.

Наша команда успеха нуждается в мгновенном доступе к информации на уровне пользователя, чтобы быть эффективной.

Чтобы сделать наших клиентов счастливее и повысить эффективность команды, нам пришлось свести это к минимуму. Наше решение включало предоставление нашим специалистам по успеху более подробной информации о любознательном пользователе.

Создайте собственное приложение Zendesk

Мы создали собственное специальное приложение Zendesk, которое не только извлекает необходимую информацию о пользователях из нашей базы данных, но также позволяет инженерам по успешному выполнению задач расширять испытания и сразу переходить к запросу в Loggly (то, что мы используем для обнаружения ошибок на стороне сервера).

Пользовательское приложение Zendesk находится в правой части заявки.

Вот шаги, чтобы настроить это.

1. Предоставьте необходимые маршруты на сервере, чтобы пользовательское приложение Zendesk могло запрашивать данные.

Для сегмента мы добавили маршрут к нашему серверу с конечной точкой https://segment.com/admin/zendesk, который принимает электронную почту и секретный токен в URL-адресе. Обратите внимание, что фактический шаблон URL-адреса отличается в целях безопасности.

Затем наш сервер примет идентифицирующие параметры пользователя, извлечет всю необходимую информацию (все проекты, интеграции, использование и соответствующие временные метки) из наших баз данных, преобразует ее в HTML с помощью шаблона и вернет HTML.

Бонус: вы также можете создавать маршруты, которые будут выполнять определенные действия на вашем сервере. Например, POSTзапрос к определенному маршруту может продлить пробную версию учетной записи пользователя, добавить код купона или изменить тип учетной записи.

2. Создайте пользовательское приложение Zendesk.

Вот пример приложения Zendesk, который команда любезно предоставила сообществу. Это немного ограничено, но их всеобъемлющая документация компенсирует это.

Zendesk предоставляет набор перехватчиков событий жизненного цикла заявки, например, при загрузке заявки или изменении размера окна. Вы можете сопоставить свои функции с этими событиями. Мы использовали события app.activated, project.done (событие запроса, project — это имя функции, которая отправляет запрос ajax на наш сервер) и события ticket.requester.email.changed.

Вот код в app.js нашего пользовательского приложения Zendesk:

««javascript
(function() {
‘use strict’;

возвращение {

// Set lifecycle events and hooks
events: {
  'app.activated': 'init',
  'projects.done': 'renderProjects',
  'ticket.requester.email.changed': 'updateProjects'
},
// Called when this app is activated
init: function() {
  // Set our server endpoint to get user information
  this.apiUrl = 'https://segment.com/admin/zendesk';
  // Grab the secret from Zendesk
  this.secret = this.setting('secret');
  // Grab the email from Zendesk
  this.updateProjects(this.ticket().requester().email());
},
// Create AJAX object to send request to our server
requests: {
  projects: function(email) {
    return {
      url: helpers.fmt('%@/%@/%@', this.apiUrl, email, this.secret),
      type: 'GET',
      dataType: 'json'
    };
  }
  // Docs on requests: https://developer.zendesk.com/apps/docs/agent/requests
},
// Send GET request to server with customer email
updateProjects: function(email) {
  this.ajax('projects', email);
},
// Add the HTML to #segment-projects
renderProjects: function(data) {
  this.$('#segment-projects').html(data.html);
}

};
}());
““

Событие app.activated (вызывается каждый раз, когда заявка загружается в браузер) собирает email и secret на странице (Zendesk предоставляет API данных для сбора данных на странице), а затем отправляет запрос GET по указанному маршруту. Логика нашего сервера (код не показан) возьмет email и secret, найдет пользователя в нашей базе данных, извлечет всю соответствующую информацию о проекте/библиотеке/использовании, скомпонует ее в HTML, а затем вернет как data.

Событие project.done запускается, когда возвращается data, после чего мы визуализируем его в заявке Zendesk с помощью jQuery по определенному шаблону: this.$('#segment-projects').html(data.html).

Чтобы убедиться, что data постоянно обновляется для нашей команды успеха, мы также добавили событие ticket.requester.email.changed. Это означает, что когда клиенты меняют свой адрес электронной почты, срабатывает функция updateProjects, которая в конечном итоге обновляет данные на странице, инициируя событие app.activated.

3. Загрузите приложение Zendesk.

Последний шаг! Это довольно просто, и вы можете следовать инструкциям здесь.

Используйте контекстные данные

Вот некоторые другие надстройки (готовые к использованию) приложений Zendesk, которые мы добавили и сочли полезными для нашей команды по достижению успеха.

Доставить анализ

Хотя данные вызывают изменения и влияют на мнения, сами по себе данные могут быть бесполезными. Иметь данные недостаточно! Наши друзья из Mode прекрасно резюмировали это, заявив, что настоящая работа аналитиков состоит в том, чтобы предоставлять анализ, а не графики. Нам, специалистам по обработке данных, важно сделать еще один шаг вперед и соединить точки для целевой аудитории. Размещение данных там, где люди будут их использовать, — это один из шагов к тому, чтобы сделать данные более полезными.

Как вы делаете свои данные действенными и расширяете возможности своих команд? Дайте нам знать в Твиттере!