Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Общее

В канале Slack создается приложение-бот, который поддерживает всю основную функциональность - ответы из баз знаний, поддержка кнопок (сценарии, контекстные вопросы, оценка), передачу файлов.

Также бота можно добавить в канал, там он тоже будет отвечать. Можно создать несколько каналов типа Slack в системе AutoFAQ.

Настройка приложения в Slack

7

Описание шага

Скриншоты

1

Создайте приложение в Slack, перейдя по ссылке  https://api.slack.com/apps?new_app=1

Image Removed

Image AddedImage AddedImage Added
2

Перейдите в меню в пункт Event Subscriptions.

Включите подписку “Enable Events“ → On и в поле введите следующий url: https://<host>/

<host>slack

slack-adapter/api/webhook

Например, для облачного стенда ссылка примет вид: https://chat.autofaq.ai/slack-adapter/api/webhook

После окончания ввода адреса Slack автоматически проверит подключение и если все в порядке, то покажет значок “Verified” над полем. Иначе Slack покажет ошибку подключения к указанному url, нужно проверить, включен ли на сервере адаптер.

Image RemovedImage Removed

В “Subscribe to bot events“ выбираем следующие события:

  • message.channels

  • message.groups

  • message.im

  • message.mpim

Обязательно нажимаем кнопку Save Changes.

Image AddedImage Added
3

Переходим в левом меню в пункт OAuth & Permissions, открываем блок Scopes.

Для “Bot Token Scopes” добавляем следующие разрешения/ проверяем наличие следующих разрешений:

  • app_mentions:read

  • channels:history

  • channels:read

  • chat:write

  • files:read

  • files:write

  • groups:history

  • groups:read

  • im:history

  • im:read

  • im:write

  • mpim:history

  • mpim:read

  • remote_files:write

  • users:read

  • users:read.email

Для User Token Scopes добавляем разрешения ниже:

  • users:read

  • users:read.email

Image RemovedImage AddedImage Added

Image Removed

4

На этой же странице в самом верху устанавливаем приложение, нажимаем кнопку Install App to Workspace.

Slack попросит подтвердить выдачу всех разрешений, нажимаем Allow.

После публикации приложения появятся токены “Tokens for Your Workspace”, которые потом понадобится указать в настройках канала в AutoFAQ.

Image RemovedImage Removed

5

Далее возвращаемся в Event Subscriptions и в “Subscribe to bot events“ выбираем следующие события:

  • message.channels

  • message.groups

  • message.im

  • message.mpim

Обязательно нажимаем кнопку Save Changes.

Image Removed
6Image AddedImage Added
5

Переходим в меню в пункт App Home и делаем так, чтобы бот всегда показывался online.

Always Show My Bot as Online выставляем в On.

Image Removed

Для того, чтобы разрешить отправку личных сообщений активируем переключатель “Allow users to send Slash commands and messages from the messages tab“.

Image Added
6

В меню выбираем пункт Interactivity & Shortcuts и включаем эту опцию, чтобы работали кнопки.

После включения в поле вводим адрес: https://<host>/slack-adapter/api/interactiveEndpoint

  • Нажимаем кнопку Save Changes.

  • Например, для облачного стенда получится адрес https://chat.autofaq.ai/slack-adapter/api/interactiveEndpoint

    Image RemovedImage Removed

    Нажимаем кнопку Save Changes.

    Image Added

    Создание канала AutoFAQ

    Создайте новый канал типа Slack на странице Настройки - Каналы. Откроется окно для заполнения необходимых полей. В таблице ниже показано, чем заполнять все поля.

    Поле

    Как заполнять

    Настройки бота в Slack

    1

    Название канала

    Укажите любое название, под ним будет создан канал.

    2

    Адрес сервера Slack API

    Оставьте по умолчанию или заполните адресом установки Slack, если он отличается от стандартного.

    https://slack.com/api

    3

    App ID

    Берется из настроек приложения Slack, пункт Basic Information → App Credentials → App ID

    Image RemovedImage Added
    4

    Workspace ID

    Для того, чтобы его узнать, нужно:

    • открыть в браузере любое сообщение из приложения Slack

    • из адресной строки скопировать первое значение, идущее после https://app.slack.com/client/

    • вставить это значение в поле Workspace ID

    5

    Bot user OAuth Access Token

    Берется из настроек приложения Slack, пункт OAuth & Permissions → Tokens for Your Workspace → Bot User OAuth Access Token.

    Image RemovedImage Added
    6

    Bot user ID

    Последний параметр копируется из формы проверки доступности канала.

    • Заполнив все предыдущие поля, нажимаем кнопку Создать.

    • Появляется сообщение об успешном создании канала.

    • Нажимаем кнопку “Проверить подключение”.

    • Из модального окна в случае успешной проверки копируем BotUserId.

    • Нажимаем кнопку “Продолжить”.

    • Вставляем его в последнее незаполненное поле на странице и нажимаем кнопку Сохранить.

    Image RemovedImage Added
    7

    Пример настроенного канала

    Image Added

    Проверка работоспособности бота

    Image Added

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

    Для этого в приложении Slack открываем список приложений Apps и ищем нашего бота по имени (имя Slack).

    Image Removed

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

    Image Added

    Дополнительные настройки канала

    Для канала типа Slack предусмотрены следующие дополнительные настройки.

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

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