Общая логика настройки уведомлений о новых обращениях и ответов клиентов описана тут. Другие инструкции:
звуковые и браузерные уведомления (по 2 минуты на выполнение)
уведомления на почту (2 минуты на выполнение)
уведомления в Telegram (10 минут на выполнение)
уведомления в Slack (10 минут на выполнение)
уведомления в Discord (5 минут на выполнение)
Прежде чем приступить к настройкам, рекомендуем ознакомиться со статьей об общей логике правил автоматизации в Омнидеске или посмотреть краткое видеоруководство по правилам
В Mattermost необходимо в настройках канала, в который будут поступать уведомления, добавить входящий вебхук. Затем в Омнидеске создать правила автоматизации для отправки уведомлений.
В примере мы рассматриваем вариант, когда все уведомления отправляются в отдельный канал, который мы заранее создали в Mattermost и назвали Omni Notifies.
Настройка вебхука в Mattermost
1. Убедитесь, что ваши настройки сервера Mattermost позволяют принимать входящие вебхуки. Для этого перейдите в меню по пути Системная консоль → Интеграции → Управление интеграцией. Значение опции «Разрешить входящий вебхук» должно быть «да». Если у вас нет доступа к системной консоли, обратитесь к вашему администратору.
![c2bfc3a99812226004024f6159906cb2.png](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/a72d3ff2fabab706518b521430733175.png)
Разрешения на переопределение имен и иконки изображения интеграциями позволят добавлять произвольные имя бота и его аватарку. Так вам будет проще вычленить уведомления из Омнидеска среди прочей переписки в канале. Если не дать эти разрешения, то уведомления будут отображаться от имени создателя вебхука и с его аватаром. От обычных сообщений того же пользователя их можно будет отличить по пометке «БОТ». При наличии же этих разрешений в настройках вебхука появятся поля для добавления собственного имени и аватара бота, а также возможность передавать username и icon_url с помощью запроса непосредственно в коде вебхука.
2. Зайдите в настройки канала Mattermost, в который планируете получать уведомления, и настройте входящий вебхук.
а. Перейдите в главном меню в раздел «Интеграции», выберите опцию «Входящие вебхуки» и нажмите «Добавить новый вебхук».
![a7d5f92d6860dce12999a8baaf364420.gif](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/082e25a0e99f7c0c44b158efb5af0a46.gif)
б. Заполните предложенную форму и сохраните изменения. Обязательно нужно выбрать только канал, в который будут поступать уведомления, остальные поля можете оставить пустыми.
![288b1c88b949178115cfedf88e06c972.png](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/288b1c88b949178115cfedf88e06c972.png)
в. Скопируйте URL вашего входящего вебхука.
![74981f6246161091a2ed155eb3a32e5e.png](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/9bcd99d9be5a7036017a2c31e935f8d9.png)
Создание правил в Омнидеске
3. Создайте в Омнидеске правила для отправки уведомлений в Mattermost: аккаунт администратора → раздел «Каналы» → подраздел «Правила».
а. Для получения уведомлений в Mattermost о поступлении новых обращений создайте правило для входящих обращений:
![1dc76fe2e0fdb82e748df4b53bef9cd7.png](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/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](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/b648147ed44e07a5c9ed51590a52f658.png)
б. Для получения уведомлений в Mattermost о поступлении новых ответов в обращениях и чатах создайте правило для изменённых обращений:
![2d7ed8aab7586181de95b1111a69343a.png](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/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](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/b5ffbd51a55dc332dbb09d2d303c9f3c.png)
На этом настройка закончена, теперь вы будете получать уведомления в Mattermost и не пропустите новые сообщения от пользователей.
PRO подсказка: В новых чатах тема обращения формируется на основе первого сообщения от пользователя:
иногда такое сообщение может быть довольно длинным и ломать верстку вашего уведомления;
текст самого сообщения в таком случае будет дублировать тему.
Чтобы избежать этого, лучше создавать отдельные правила для входящих обращений по каналу email и по синхронным каналам, а в тексте кода запроса для уведомления о новых чатах не использовать переменную [case_subject].
Дополнительные возможности
4. Вы можете гибко настроить уведомления, создавая для них разные каналы в Mattermost и прописывая нужные условия в правилах на стороне Омнидеска.
К примеру, можно отправлять уведомления из группы «Вопросы по оплате» только сотрудникам финансового отдела, добавив канал в категорию «Вопросы по оплате» в Mattermost. Можно информировать нужных сотрудников (в том числе и тех, у которых нет аккаунта в Омнидеске) об обращениях с определенной темой, от конкретного пользователя, при добавлении метки и т. д.
5. Имя пользователя, от которого будут поступать уведомления, а также его аватарку можно добавить как при настройке входящего вебхука в Mattermost при заполнении формы на шаге 2б, так и прописать в теле самого вебхука в Омнидеске. Для этого добавьте в текст соответствующие строки с указанием 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](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/3b22031816204160ed1b130429bb07b9.png)
![47243e9a7d9d033c6a427110491e892d.png](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/54a0769c397e60534c07d84c1831bd35.png)
6. Добавьте упоминание в мессенджере. Можете тегать нужного сотрудника или группу сотрудников через @username, @channel, @all, @here, @groupname. Подробнее в документации Mattermost.
Если хотите упоминать ответственного сотрудника, потребуются правила для автоматического распределения обращений и правила для каждого из сотрудников, которые будут отправлять уведомление с упоминанием ответственного в Mattermost при поступлении нового обращения.
а. Пример правила для входящих обращений для отправки уведомления с упоминанием сотрудника в Mattermost:
![a2fe869dc375b00fb733677c8229bf51.png](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/a2fe869dc375b00fb733677c8229bf51.png)
Используйте следующий текст кастомного запроса:
{ "username": "Новое обращение", "text":"**#[case_number]: [case_subject]**\n\n**Ответственный**: @[юзернейм]\n**Приоритет**: [case_priority]\n\n[case_description|text]\n\n[ответить на обращение]([case_url])" }
Пример отображения:
![77f187872ce1226a1a11ca96036f8420.png](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/77f187872ce1226a1a11ca96036f8420.png)
PRO подсказка: Для более быстрого добавления правил используйте функцию дублирования и затем редактируйте в правилах только данные упоминаемого сотрудника. Объедините правила, созданные для всех сотрудников, в одну группу.
Разместите созданную группу правил после правила, которое назначает ответственного в обращении. К примеру, чтобы равномерно назначать ответственными в обращении всех доступных сотрудников, кроме руководителя и тех, у кого доступ «только просмотр», можете использовать такое правило:
![c27cf4c4f0e93c836210020b1805e941.png](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/c27cf4c4f0e93c836210020b1805e941.png)
в. Для отправки уведомления с упоминанием ответственного в Mattermost при поступлении нового ответа в обращении также понадобятся отдельные правила для измененных обращений для каждого сотрудника, которые мы рекомендуем объединить в группу. Вот пример такого правила:
![bfb34cd22769abb4b6f9804d16caf100.png](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/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](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/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](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/a5c7a845483f7afcbf8e57bafb3eaf8b.png)
Такие уведомления будут приходить в личные сообщения сотрудника от имени создателя вебхука. Создатель вебхука также будет видеть поступившие сотруднику уведомления. Создатель вебхука не может отправлять уведомления самому себе — только другому пользователю или в канал, в котором участвует. Для отправки уведомления в канал укажите в переменной "channel": "[канал]" без @.
Пример отображения:
![cc596582ad5dcc4bb6fdc8f4b213695d.png](https://138018.selcdn.ru/KB_images/omnideskru/1/293280/cc596582ad5dcc4bb6fdc8f4b213695d.png)