Уведомления в Mattermost

Последние изменения: 18.04.2024

Общая логика настройки уведомлений о новых обращениях и ответов клиентов описана тут. Другие инструкции:

Прежде чем приступить к настройкам, рекомендуем ознакомиться со статьей об общей логике правил автоматизации в Омнидеске или посмотреть краткое видеоруководство по правилам

В Mattermost необходимо в настройках канала, в который будут поступать уведомления, добавить входящий вебхук. Затем в Омнидеске создать правила автоматизации для отправки уведомлений.

В примере мы рассматриваем вариант, когда все уведомления отправляются в отдельный канал, который мы заранее создали в Mattermost и назвали Omni Notifies.

Настройка вебхука в Mattermost

1. Убедитесь, что ваши настройки сервера Mattermost позволяют принимать входящие вебхуки. Для этого перейдите в меню по пути Системная консоль → Интеграции → Управление интеграцией. Значение опции «Разрешить входящий вебхук» должно быть «да». Если у вас нет доступа к системной консоли, обратитесь к вашему администратору.

c2bfc3a99812226004024f6159906cb2.png

Разрешения на переопределение имен и иконки изображения интеграциями позволят добавлять произвольные имя бота и его аватарку. Так вам будет проще вычленить уведомления из Омнидеска среди прочей переписки в канале. Если не дать эти разрешения, то уведомления будут отображаться от имени создателя вебхука и с его аватаром. От обычных сообщений того же пользователя их можно будет отличить по пометке «БОТ». При наличии же этих разрешений в настройках вебхука появятся поля для добавления собственного имени и аватара бота, а также возможность передавать username и icon_url с помощью запроса непосредственно в коде вебхука.

2. Зайдите в настройки канала Mattermost, в который планируете получать уведомления, и настройте входящий вебхук.

а. Перейдите в главном меню в раздел «Интеграции», выберите опцию «Входящие вебхуки» и нажмите «Добавить новый вебхук».

a7d5f92d6860dce12999a8baaf364420.gif

б. Заполните предложенную форму и сохраните изменения. Обязательно нужно выбрать только канал, в который будут поступать уведомления, остальные поля можете оставить пустыми. 

288b1c88b949178115cfedf88e06c972.png

в. Скопируйте URL вашего входящего вебхука.

74981f6246161091a2ed155eb3a32e5e.png

Создание правил в Омнидеске

3. Создайте в Омнидеске правила для отправки уведомлений в Mattermost: аккаунт администратора → раздел «Каналы» → подраздел «Правила».

а. Для получения уведомлений в Mattermost о поступлении новых обращений создайте правило для входящих обращений:

1dc76fe2e0fdb82e748df4b53bef9cd7.png

В блоке «производить действие» выберите вариант «Выполнить вебхук», затем укажите метод POST. В поле «URL для отправки запроса» вставьте вебхук URL, который вы скопировали в Mattermost.

Ниже выберите вариант «Кастомный запрос» в формате JSON и добавьте код запроса:

{"text":"**#[case_number]: [case_subject]**\n_[user_full_name]_: [user_email]\n\n[case_description|text]\n\n[ответить на обращение]([case_url])"}

Можете использовать в тексте те переменные, которые вам нужны. Полный список доступных переменных есть по ссылке «переменные» в форме создания самого правила.

Уведомление с использованием приведенного выше кода будет выглядеть так:

b648147ed44e07a5c9ed51590a52f658.png

б. Для получения уведомлений в Mattermost о поступлении новых ответов в обращениях и чатах создайте правило для изменённых обращений:

2d7ed8aab7586181de95b1111a69343a.png

В блоке «производить действие» выберите вариант «Выполнить вебхук», затем укажите метод POST. В поле «URL для отправки запроса» вставьте вебхук URL, который вы скопировали в Mattermost.

Ниже выберите вариант «Кастомный запрос» в формате JSON и добавьте код запроса с нужными вам переменными по аналогии с правилом для входящих из пункта 3а этой инструкции:

{"text":"**#[case_number]: [case_subject]**\n_[user_full_name]_: [user_email]\n\n[last_message|text]\n\n[ответить на обращение]([case_url])"}

Уведомление с использованием приведенного выше кода будет выглядеть так:

b5ffbd51a55dc332dbb09d2d303c9f3c.png

На этом настройка закончена, теперь вы будете получать уведомления в Mattermost и не пропустите новые сообщения от пользователей.

PRO подсказка: В новых чатах тема обращения формируется на основе первого сообщения от пользователя:

  • иногда такое сообщение может быть довольно длинным и ломать верстку вашего уведомления;

  • текст самого сообщения в таком случае будет дублировать тему.

Чтобы избежать этого, лучше создавать отдельные правила для входящих обращений по каналу email и по синхронным каналам, а в тексте кода запроса для уведомления о новых чатах не использовать переменную [case_subject]

Дополнительные возможности

4. Вы можете гибко настроить уведомления, создавая для них разные каналы в Mattermost и прописывая нужные условия в правилах на стороне Омнидеска.

К примеру, можно отправлять уведомления из группы «Вопросы по оплате» только сотрудникам финансового отдела, добавив канал в категорию «Вопросы по оплате» в Mattermost. Можно информировать нужных сотрудников (в том числе и тех, у которых нет аккаунта в Омнидеске) об обращениях с определенной темой, от конкретного пользователя, при добавлении метки и т. д.

5. Имя пользователя, от которого будут поступать уведомления, а также его аватарку можно добавить как при настройке входящего вебхука в Mattermost при заполнении формы на шаге , так и прописать в теле самого вебхука в Омнидеске. Для этого добавьте в текст соответствующие строки с указанием username и icon_url. В примерах мы используем логотип Омнидеска, вам же надо будет указать путь к нужному вам изображению:

{"username":"Omnibot",
"icon_url":"[ссылка на ваше изображение]",
"text":"**#[case_number]: [case_subject]**\n_[user_full_name]_: [user_email]\n\n[case_description|text]\n\n[ответить на обращение]([case_url])"}

Вариант с указанием username и icon_url непосредственно в коде вебхука удобен, если вы хотите наглядно различать уведомления внутри одного канала.

Пример правила для новых обращений вип-клиентов, чтобы выделять их среди прочих уведомлений.

3b22031816204160ed1b130429bb07b9.png
47243e9a7d9d033c6a427110491e892d.png

6. Добавьте упоминание в мессенджере. Можете тегать нужного сотрудника или группу сотрудников через @username, @channel, @all, @here, @groupname. Подробнее в документации Mattermost.

Если хотите упоминать ответственного сотрудника, потребуются правила для автоматического распределения обращений и правила для каждого из сотрудников, которые будут отправлять уведомление с упоминанием ответственного в Mattermost при поступлении нового обращения.

а. Пример правила для входящих обращений для отправки уведомления с упоминанием сотрудника в Mattermost:

a2fe869dc375b00fb733677c8229bf51.png

Используйте следующий текст кастомного запроса:

{
    "username": "Новое обращение",
    "text":"**#[case_number]: [case_subject]**\n\n**Ответственный**: @[юзернейм]\n**Приоритет**: [case_priority]\n\n[case_description|text]\n\n[ответить на обращение]([case_url])"
}

Пример отображения:

77f187872ce1226a1a11ca96036f8420.png

PRO подсказка: Для более быстрого добавления правил используйте функцию дублирования и затем редактируйте в правилах только данные упоминаемого сотрудника. Объедините правила, созданные для всех сотрудников, в одну группу.

Разместите созданную группу правил после правила, которое назначает ответственного в обращении. К примеру, чтобы равномерно назначать ответственными в обращении всех доступных сотрудников, кроме руководителя и тех, у кого доступ «только просмотр», можете использовать такое правило:

c27cf4c4f0e93c836210020b1805e941.png

в. Для отправки уведомления с упоминанием ответственного в Mattermost при поступлении нового ответа в обращении также понадобятся отдельные правила для измененных обращений для каждого сотрудника, которые мы рекомендуем объединить в группу. Вот пример такого правила:

bfb34cd22769abb4b6f9804d16caf100.png

Используйте следующий текст кастомного запроса:

{
    "username": "Новый ответ в обращении",
    "text":"**#[case_number]: [case_subject]**\n\n**Ответственный**: @[юзернейм]\n**Приоритет**: [case_priority]\n\n[last_message|text]\n\n[ответить на обращение]([case_url])"
}

Обратите внимание, что для получения текста ответа в обращении в параметре “text” нужно использовать переменную [last_message|text].

Пример отображения:

2e3c658ea474e7727bbbe4a84e98a1b3.png

7. Отправляйте уведомления напрямую сотруднику, чтобы не загружать каналы лишней информацией. Для этого в начало любого текста кода запроса после первой фигурной скобки добавьте переменную "channel": "@[юзернейм]":

{
"channel": "@[юзернейм]",
"text":"**#[case_number]: [case_subject]**\n_[user_full_name]_: [user_email]\n\n[case_description|text]\n\n[ответить на обращение]([case_url])"
}

Созданный на шаге 2 входящий вебхук не должен быть закреплен за каналом:

a5c7a845483f7afcbf8e57bafb3eaf8b.png

Такие уведомления будут приходить в личные сообщения сотрудника от имени создателя вебхука. Создатель вебхука также будет видеть поступившие сотруднику уведомления. Создатель вебхука не может отправлять уведомления самому себе —  только другому пользователю или в канал, в котором участвует. Для отправки уведомления в канал укажите в переменной "channel": "[канал]" без @.

Пример отображения:

cc596582ad5dcc4bb6fdc8f4b213695d.png

Помогла ли вам статья?