Боты для Workplace

Создание ботов для групп и чата Workplace

Обзор

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

Можно создать бот, который автоматически публикует контент в группах, отвечает на вопросы и предоставляет дополнительную информацию или предпринимает определенные действия, когда кто-то упоминает его в комментариях к публикации. Также можно создавать боты, которые общаются в людьми в рабочем чате и предоставляют им информацию в режиме реального времени или обрабатывают запросы с использованием элементов структурированной беседы, таких как быстрые ответы и постоянные меню.

Чтобы создать бот для сообщества, понадобится роль системного администратора.

Если вы не являетесь администратором своего сообщества Workplace, для создания бота вам потребуется помощь администратора.

Боты в виде страниц

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

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

Например, если у вашего бота есть разрешение на чтение контента группы, он сможет видеть контент в группах. Однако если у него нет разрешения на публикацию в группах, он не сможет публиковать ответы на контент в какой-либо группе.

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

Боты в группах

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

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

Наконец, боты могут подписываться на группы и @упоминать объекты webhook для отслеживания контента и гибкого взаимодействия с пользователями.

Боты в чате

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

Например, чат-бот может рассылать пользователям важные напоминания и уведомления о предстоящих событиях, таких как собеседования и встречи. Боты в рабочем чате также могут участвовать в беседах с пользователями и выполнять различные действия в зависимости от полученной обратной связи.

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

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

Чат между ботом и пользователем

Если у бота есть разрешение на отправку сообщений любому участнику, он может отправлять прямые сообщения любому пользователю Workplace на его электронный адрес или с использованием его ID Workplace через API Send для Messenger.

Отображение бота в подсказках при вводе в новом сообщении

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

Отображение бота в подсказках при вводе в новом сообщении

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

Беседа между ботом и пользователем

Чат между ботом и группой

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

Именованная беседа с определенным набором пользователей, созданная ботом.

Предоставление ботам доступа к групповым чатам

Чтобы бот мог создавать групповые чаты с пользователями Workplace, откройте панель разрешений в диалоговом окне редактирования пользовательской интеграции и установите флажок Разрешить этой интеграции работать в групповых чатах.

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

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

Добавление бота в групповой чат и его @упоминание

Создание именованных бесед

Чтобы создать беседу с определенными получателями, отправьте запрос POST к конечной точке /me/messages, указав массив recipient IDs и следующие начальные полезные данные в объекте message:

POST /me/messages
{
  "recipient": {
    "ids": [<user_ids>]
  },
  "message": <message_payload>
}

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

Если вновь воспользоваться той же конечной точкой с тем же списком получателей, будет создана новая беседа. Для отправки сообщений в уже созданную беседу используйте запрос POST к конечной точке /me/messages, указывая thread_id в полезных данных recipient, как в следующем примере:

POST /me/messages
{
  "recipient": {
    "thread_key": <thread_id>
  },
  "message": <message_payload>
}

Чтобы переименовать созданную ботом беседу, отправьте запрос POST к границе контекста /{thread}/threadname, как в следующем примере:

POST /t_<thread_id>/threadname
{
  "name": "new name"
}

Обратите внимание: перед значением thread_id в пути к границе контекста необходимо указывать префикс "t_".

Получить список участников переписки также можно, отправив запрос GET к границе контекста /{thread}/?fields=participants:

GET /t_<thread_id>/?fields=participants

Для добавления и удаления участников в беседах используйте запросы POST и DELETE к границе контекста /{thread}/participants, как в следующем примере:

POST t_<thread_id>/participants
{
  "to": [<user_ids>]
}

DELETE t_<thread_id>/participants
{
  "to": [<user_ids>]
}

Партнерские платформы ботов

У Workplace есть партнерские платформы, которые обеспечивают поддержку ботов Workplace. Их список можно найти здесь. Вы можете воспользоваться любой из этих платформ для создания функционального бота без написания программного кода.

Рекомендации

Выбирайте подходящий канал

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

  • Если вам нужен бот, с которым смогут одновременно взаимодействовать несколько пользователей или который должен публиковать контент, предназначенный для нескольких людей, имеет смысл создать бот, который сможет размещать материалы в группах, отвечать на комментарии и упоминания в групповых публикациях.
  • Если вам нужен бот, который сможет оповещать пользователей о предстоящих событиях (например, о таких, которые требуют быстрой реакции) или о чем-то, что предполагает личное взаимодействие, реализуйте для него поддержку бесед в рабочем чате.

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

Взаимодействие с группой

После того как приложение подпишется на webhook, бот будет получать уведомление каждый раз, когда его будут упоминать в публикациях или комментариях в группе. Важно, чтобы бот своевременно реагировал на упоминания. Если перед ответом боту нужно как-то обработать запрос, имеет смысл добавить к комментарию отметку "Нравится", чтобы дать пользователю понять, что боту известно об упоминании.

Если после упоминания в комментарии вы предоставляете какую-то информацию, добавьте ответ в цепочку, чтобы не нарушать поток групповой беседы.

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

Взаимодействие в чате

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

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