Запуск чата Workspace из Битрикса
Как сделать, чтобы бизнес-процесс или робот в Битриксе сам запускал ассистента в Workspace, а тот отвечал комментарием в задачу.
1Подготовить чат и скилл
- Заведите в Workspace отдельный чат под эту автоматизацию. В обычном рабочем чате запуски смешаются с перепиской.
- Если работа сложная, опишите ее скиллом и в тексте задачи прямо назовите скилл: «Запусти скилл
имя-скилла». - Скилл должен лежать у того, от чьего имени создан вебхук: в его личных скиллах или в общем пуле.
2Создать вебхук в Workspace
- В чате откройте меню ⋯ → 🔗 Запуск извне (вебхук).
- В блоке «Новый триггер» заполните название, выберите чат и напишите текст задачи.
- Нажмите «Создать триггер» и скопируйте ссылку из списка.
В тексте задачи можно ставить данные из вызова в двойных фигурных скобках. Имя в скобках должно совпадать с именем параметра в адресе, регистр не важен: {{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);
Вариант Б. Робот «Исходящий вебхук» в автоматизации сделки или смарт-процесса: вставьте тот же адрес с параметрами, значения выберите через «…».
5Ответ комментарием в задачу
Если в адресе есть параметр taskId (или taskid) с номером задачи, ассистент может оставить в эту задачу ровно один комментарий за запуск, без подтверждения. Условия:
- ответственный в задаче тот же человек, от чьего имени создан вебхук;
- у этого человека включена запись задач из Workspace (выдает администратор Workspace);
- номер пришел числом, а не шаблоном.
Если условие не выполнено, комментария не будет, а результат и причина останутся в чате вебхука. Второй комментарий в тот же запуск сервер не пропустит, в чужую задачу тоже.
6Проверить, что работает
- Запустите процесс на тестовой карточке.
- В чате вебхука должно появиться сообщение «🔗 [Запуск извне …]» с числами на месте параметров.
- Через несколько минут в задаче появится комментарий, а в чате короткий отчет ассистента.
7Если не работает
| Что видно | Причина и что делать |
|---|---|
| В чате вебхука ничего нет | Вызов не дошел: в PHP вставлен голый адрес, не тот метод (нужен POST) или адрес от удаленного триггера. Проверьте код и ссылку в списке триггеров. |
В сообщении {{taskid}} вместо числа | Параметр не пришел или назван иначе. Имя в адресе и в тексте должны совпадать, значение выбирать через «…». |
| Расчет в чате есть, комментария нет | Задача не ваша (другой ответственный) или вам не включена запись задач. Причина написана в чате. |
| «слишком часто» или «лимит» | Не чаще одного запуска в 5 секунд и не больше 200 запусков в сутки на один триггер. |