Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

О плагине

Плагин предназначен для интеграции BGCRM системой сообщений Slack и предоставляет функционал:

  • привязка процесса к каналу Slack;

  • создание канала по событию;

  • установка параметров канала: тема, топик и т.п.;

  • приглашение исполнителей процесса в канал;

  • архивирование канала по событию;

  • отправка сообщений из BGCRM в Slack;

  • загрузка выбранных сообщений из канала Slack в BGCRM.

Настройка в Slack

  1. Создать домен Slack domain.slack.com, завести в нём пользователя, авторизоваться.

  2. Создать приложение Slack с ClientID и ClientSecret
    В секции OAuth Settings указать любой действительный URL.

  3. Выполнить запрос:
    https://slack.com/oauth/authorize?client_id=ClientID&scope=channels:history channels:read channels:write users:read groups:read groups:write groups:history chat:write:user chat:write:bot
    Будет запрошено подтверждение на доступ под текущим пользователем, после согласия выполнен редирект на адрес URL/oauth?code=CODE

  4. Выполнить запрос:
    https://slack.com/api/oauth.access?code=CODE&client_id=ClientID&client_secret=ClientSecret
    Результат должен быть вида: {"ok":true,"access_token":"TOKEN","scope":"..
  5. Сохраните полученный TOKEN, он необходим для настройки BGCRM.

Настройка BGCRM

Создать текстовый параметр пользователя для сохранения логина Slack.

Настроить в конфигурации BGCRM тип сообщения, для Slack может быть создан только один тип сообщения:

Параметры, отличные от прочих типов сообщений:

  • <token> - TOKEN авторизации, сохранённый ранее;
  • <slackLoginParamId> - код текстового параметра пользователя, хранящего логин Slack, позволяющий сопоставить пользователя BGCRM с пользователем Slack;
  • <jexl> - JEXL выражение для извлечения сообщения Slack в текст входящего сообщения, исходное сообщение передаётся в параметре message, не null результат скрипта используется как текст входящего сообщения.

Пример настройки типа сообщения. Входящие сообщения выбираются с подстрокой bg.

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

Работа с сообщениями

После настройки в системе типа сообщения к любому процессу может быть привязан канал Slack. Для выполнения этого в ручном режиме тип объекта выбирается в секции Привязать иной объект, наименование оставляется пустым. Уже привязанный канал изображён на снимке экрана выше.

После того, как канал привязан к процессу в Сообщениях процесса возможна отправка постов в привязанный канал.

Входящие сообщение импортируются из канала при наличии скрипта stringExpressionMessageExtract в типе сообщения.

Настройка типа процесса

В конфигурации типа процесса может быть настроена автоматизация работы со Slack с помощью скрипта в doExpression простого обработчика событий. Ниже приведено несколько примеров возможных действий по различным событиям в процессе.

При переходе процесса в статус 10:

  • привязать если нет канал Slack к процессу;
  • пригласить исполнителей (они сопоставляются с пользователями Slack по логину в текстовом параметре пользователя BGCRM);
  • установить топик канала, полученный из названия статуса процесса и привязанного к процессу контрагента.

 

При переводе процесса в статус 8 перемещение привязанного канала в архив.

При изменении исполнителей процесса - приглашение новых исполнителей.

Объект slack класса  ru.bgcrm.plugin.slack.DefaultProcessorFunctions с функциями API предоставляется плагином.

  • Нет меток
Документация BGCRM 3.0