Запуск чата Workspace из Битрикса

Как сделать, чтобы бизнес-процесс или робот в Битриксе сам запускал ассистента в Workspace, а тот отвечал комментарием в задачу.

Процесс в Битриксе→вызов вебхука с номерами→чат в Workspace→ассистент делает работу→комментарий в задачу

1Подготовить чат и скилл

2Создать вебхук в Workspace

  1. В чате откройте меню ⋯ → 🔗 Запуск извне (вебхук).
  2. В блоке «Новый триггер» заполните название, выберите чат и напишите текст задачи.
  3. Нажмите «Создать триггер» и скопируйте ссылку из списка.

В тексте задачи можно ставить данные из вызова в двойных фигурных скобках. Имя в скобках должно совпадать с именем параметра в адресе, регистр не важен: {{taskId}} и {{taskid}} одно и то же.

Запусти скилл opisanie-zadachi-po-predlozheniyu.

Карточка предложения: {{smartprocessid}}
Задача для ответа: {{taskid}}

Параметры, которые вы передали, но не вставили в текст, все равно придут ассистенту отдельным блоком «Параметры вызова».

Текст и чат можно поменять кнопкой ✏️ в списке триггеров, ссылка при этом останется прежней. Там же задается порог автосжатия переписки для чата.

3Собрать адрес вызова

Адрес = ссылка триггера + параметры после знака вопроса:

https://workspace.charismo.ru/api/hook/ТОКЕН?taskid=НОМЕР_ЗАДАЧИ&smartprocessid=НОМЕР_КАРТОЧКИ

Значения в Битриксе вставляйте только через кнопку «…» (выбор значения из процесса). Битрикс сам подставит выражения вида:

Что нужноКак выглядит в Битриксе
Номер текущей карточки или сделки{=Document:ID}
Номер задачи, созданной действием процесса{=A38277_93956_44745_49507:TaskId} (у каждого действия свой код)
Так не работает: {{ID}}, {{Список СМАРТ ПРОЦЕССОВ}} и любой текст в двойных скобках в адресе. Битрикс их не подставляет, в Workspace придут пустые шаблоны, и ассистент остановится.

4Вызвать вебхук из процесса

Вариант А. Бизнес-процесс, действие «Выполнение произвольного PHP кода». Вставлять нужно именно код, а не голый адрес: одна строка с адресом для PHP ничего не делает, процесс пройдет шаг молча.

$url = 'https://workspace.charismo.ru/api/hook/ТОКЕН?taskid={=A38277_93956_44745_49507:TaskId}&smartprocessid={=Document:ID}';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_exec($ch);
curl_close($ch);

Вариант Б. Робот «Исходящий вебхук» в автоматизации сделки или смарт-процесса: вставьте тот же адрес с параметрами, значения выберите через «…».

Метод вызова только POST. Если просто открыть ссылку в браузере, будет ошибка 404, это нормально.

5Ответ комментарием в задачу

Если в адресе есть параметр taskId (или taskid) с номером задачи, ассистент может оставить в эту задачу ровно один комментарий за запуск, без подтверждения. Условия:

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

6Проверить, что работает

  1. Запустите процесс на тестовой карточке.
  2. В чате вебхука должно появиться сообщение «🔗 [Запуск извне …]» с числами на месте параметров.
  3. Через несколько минут в задаче появится комментарий, а в чате короткий отчет ассистента.

7Если не работает

Что видноПричина и что делать
В чате вебхука ничего нетВызов не дошел: в PHP вставлен голый адрес, не тот метод (нужен POST) или адрес от удаленного триггера. Проверьте код и ссылку в списке триггеров.
В сообщении {{taskid}} вместо числаПараметр не пришел или назван иначе. Имя в адресе и в тексте должны совпадать, значение выбирать через «…».
Расчет в чате есть, комментария нетЗадача не ваша (другой ответственный) или вам не включена запись задач. Причина написана в чате.
«слишком часто» или «лимит»Не чаще одного запуска в 5 секунд и не больше 200 запусков в сутки на один триггер.
Ссылка вебхука секретная. По ней кто угодно может запустить ассистента от вашего имени. Не вставляйте ее в задачи и общие чаты. Если ссылка утекла, нажмите «Перевыпустить ссылку» в списке триггеров: старая перестанет работать.