Боты

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

Сообщение от бота в Пачке

Бот имеет доступ не ко всем методам API. Например, добавление участников в пространство и экспорт сообщений доступны только с персональным токеном. Подробнее о токенах в разделе Авторизация.

Бот позволяет работать с вебхуками, кнопками и формами в Пачке. Подробнее в разделах Входящие вебхуки, Исходящие вебхуки, Кнопки в сообщениях, Формы и Разворачивание ссылок.

Создание бота

Создание и настройка ботов доступны в веб-версии и десктопном приложении Пачки. В мобильных приложениях (iOS и Android) эта возможность недоступна.

Для создания бота перейдите в Автоматизации > Интеграции > Чат-боты и Вебхуки и нажмите кнопку «+».

Новый бот

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

Выберите тип бота

  • Для одного чата — подойдёт для отправки уведомлений из других сервисов. В одном чате можно собрать всех получателей и обсуждать уведомления в тредах.
  • Для нескольких чатов — подойдёт, если вы хотите создать личное взаимодействие бота с каждым участником вашей компании или разными группами участников.
  • Unfurl бот (только администраторам) — подойдёт для получения событий об отправке ссылок во всех чатах вашего пространства и возможности создавать их предпросмотр.

Тип бота нельзя изменить после создания. Ограничение «для одного чата» распространяется только на каналы и беседы — бот по-прежнему может участвовать в тредах и личных сообщениях. Бот любого типа может быть настроен как публичный.

Скопируйте токен

После создания бота перейдите на вкладку API и скопируйте access_token — он потребуется для работы с API от имени бота. Токен не имеет срока жизни. Там же доступен user_id бота — используется, например, для POSTдобавления бота в чат.

Измените название и аватар (опционально)

На вкладке Основное вы можете изменить имя бота и загрузить изображение — они будут отображаться в сообщениях от бота и в его профиле.

Настройте исходящий вебхук (опционально)

Для получения событий от Пачки перейдите на вкладку Исходящий Webhook: укажите Webhook URL, на который будут приходить уведомления, и выберите типы событий (новые сообщения, реакции, нажатия кнопок и другие). Подробнее — в разделе Исходящие вебхуки.

Настройка доступов

Эти настройки находятся на вкладке Основное.

Настройка доступов к боту

Кто может редактировать настройки бота

Управление доступов участников пространства к поиску бота в разделе Чат-боты и Вебхуки и редактированию его настроек (основных, вебхуков и токена API):

  • Создатель — этот пункт нельзя отключить, создатель бота всегда имеет доступ к настройкам бота
  • Администраторы — владелец и участники пространства с ролью «Администратор»
  • Создатели и руководители чатов, в которые добавлен бот — этот пункт позволяет управлять доступом к редактированию бота на уровне ролей в чате, куда добавлен бот

Кто может добавлять бота в чаты

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

  • Создатель
  • Создатель и Администраторы
  • Все участники (кроме гостей)
  • Публичный бот

Профиль бота

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

Никнейм — уникальный идентификатор бота для упоминания через @. Именно по никнейму сотрудники могут упоминать бота в сообщениях и добавлять его в сквозные треды. Никнейм и другие поля профиля можно изменить через интерфейс или через API — метод PUTРедактирование сотрудника.

Подмена имени и аватара отправителя

Сообщение от бота с подменой имени и аватара

Метод POSTНовое сообщение поддерживает поля display_name и display_avatar_url, позволяющие указать произвольное имя и аватар отправителя для конкретного сообщения. Бейдж Бот при этом сохраняется, а при открытии профиля отправителя пользователь увидит оригинальное имя и аватар бота.

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

Поля display_name и display_avatar_url доступны только при использовании токена бота. Метод PUTРедактирование сообщения также поддерживает эти поля.

Настройка вебхуков и API

Вкладки настройки вебхуков и API бота

Входящий Webhook

Позволяет отправлять сообщения в чат от имени бота одним HTTP-запросом — без использования API. В настройках доступны Webhook URL, выбор формата отображения (Liquid или Mustache), шаблон сообщения и поле для верификации (например, для интеграции с monday.com). Подробнее — в разделе Входящие вебхуки.

Исходящий Webhook

Позволяет получать уведомления о событиях в реальном времени на указанный вами URL. В настройках доступны Webhook URL, Signing secret для проверки подлинности запросов, выбор типов событий (новые сообщения, реакции, нажатия кнопок, изменение участников и другие) и фильтрация по командам. Подробнее — в разделе Исходящие вебхуки.

API

Вкладка с access_token и user_id бота для работы с REST API. Токен не имеет срока жизни, но при необходимости его можно перевыпустить кнопкой «Обновить Access token». Подробнее — в разделе Авторизация.

Доступы бота к чатам и сообщениям

Бот взаимодействует с пространством как участник с ролью «Сотрудник» — он видит открытые каналы и сообщения в них, включая треды.

Закрытые каналы и беседы

Чтобы бот получил доступ к закрытому каналу или беседе, его нужно добавить туда как участника. После добавления бот автоматически получает доступ ко всем тредам этого чата.

Добавить бота в чат можно двумя способами:

Треды

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

Добавить бота в тред можно двумя способами:

  • Через API — метод POSTДобавление участника в чат, передав chat_id треда
  • Через упоминание @никнейм_бота в сообщении — доступно, когда бот настроен как публичный

Личные сообщения

Пользователь может писать боту личные сообщения и взаимодействовать с ним 1 на 1 в двух случаях:

  • Бот настроен как публичный — любой участник пространства может начать диалог
  • Бот сам ранее POSTотправил сообщение пользователю через API (с entity_type: "user") — после этого пользователь может отвечать, даже если бот не публичный

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

Бот получает исходящие вебхуки только из тех чатов и тредов, в которых он состоит. Глобальные события (например, изменение участников пространства) приходят без добавления в чат.

Готовые примеры реализации ботов

Welcome Bot

Автоматическое приветствие новых сотрудников в личных сообщениях. Три шаблона сообщений: short, default, extended. Развёртывание на Vercel или собственном сервере.

Подробнее — в статье Welcome Bot и на GitHub

Review Bot

Синхронизация GitHub Pull Requests с чатом Пачки: уведомления о новых PR, статусы проверок, review, workflow runs, авто-упоминание пользователей. Развёртывание на Яндекс.Облаке или собственном сервере.

Подробнее — на GitHub

Unfurl-бот

Бот для создания превью ссылок из рабочих сервисов (Trello, Kaiten, Пачка) прямо в чате. Когда пользователь отправляет ссылку, вместо простого URL все видят информативное превью с заголовком, описанием и изображением.

Подробнее — в статье Unfurl-бот и на GitHub