Подключите Slack к рабочему пространству
Что вы построите
Заголовок раздела «Что вы построите»К концу этого учебника у вас будет:
- приложение Slack, созданное для вашего рабочего пространства, с уже настроенными нужными разрешениями и событиями
- живое соединение между Slack и Control Center
- ваш собственный аккаунт Slack, привязанный к вашему пользователю Control Center
- агент, который отвечает вам в треде Slack, и тикет, созданный из слэш-команды
Перед началом вам потребуется:
- Ваше первое рабочее пространство и Запустите первого агента пройдены — рабочее пространство без агентов может получить сообщение из Slack, но отвечать на него некому
- у агента CEO рабочего пространства заданы адаптер и модель в разделе Настройки → Рабочее пространство → Агенты. Мост будит CEO, а не агента, которого вы настроили в предыдущем учебнике, а агент без адаптера работает на встроенном цикле с моделью Anthropic по умолчанию.
- роль
ownerилиadminв рабочем пространстве Control Center (подключение чат-приложения действует от имени всего рабочего пространства) - право создавать и устанавливать приложения в вашем рабочем пространстве Slack
Ничего из перечисленного не требует публичного адреса, туннеля или входящего порта. Control Center устанавливает исходящее соединение со Slack по Socket Mode, поэтому всё это работает с ноутбука за NAT.
Шаг 1: Получите токен конфигурации приложения Slack
Заголовок раздела «Шаг 1: Получите токен конфигурации приложения Slack»Это единственный секрет, который нужно добыть вручную. Он позволяет Control Center создать приложение, а затем изменять его за вас.
- Откройте api.slack.com/apps
- Прокрутите до раздела токенов конфигурации приложения внизу страницы
- Создайте пару токенов для своего рабочего пространства Slack
- Скопируйте токен обновления — он начинается с
xoxe-
Шаг 2: Пусть Control Center создаст приложение
Заголовок раздела «Шаг 2: Пусть Control Center создаст приложение»- В Control Center откройте раздел Настройки → Рабочее пространство → Основные и найдите карточку Чат-мосты
- В блоке Slack нажмите Создать приложение за меня
- Вставьте токен конфигурации приложения
- Проверьте, как будет выглядеть бот:
- Имя приложения: как приложение отображается в Slack, например
Control Center · Acme - Имя бота: то, что люди вводят после
@, напримерcontrol-center - Краткое описание и Что бот говорит о своих возможностях
- Слэш-команда: по умолчанию
cc, поэтому команда —/cc - Личные сообщения: оставьте включёнными, чтобы участники могли писать боту в личку
- Имя приложения: как приложение отображается в Slack, например
- Нажмите Создать приложение
Control Center собирает всё определение приложения — включённый Socket Mode, нужные боту разрешения и подписки на события, слэш-команду, вкладку Messages — и создаёт его в Slack.
Шаг 3: Завершите два шага, которые под силу только Slack
Заголовок раздела «Шаг 3: Завершите два шага, которые под силу только Slack»У Slack нет API для создания токена уровня приложения или установки приложения, поэтому диалог выдаёт и то и другое в виде ссылок:
- Создать токен уровня приложения — открывает Basic Information → App-Level Tokens. Создайте токен с разрешением
connections:writeи скопируйте его. Он начинается сxapp- - Установить приложение — открывает Install App. Установите его в своё рабочее пространство, затем скопируйте Bot User OAuth Token. Он начинается с
xoxb-
Сохраните оба значения для следующего шага.
Шаг 4: Подключение
Заголовок раздела «Шаг 4: Подключение»- Вернувшись в диалог, нажмите Вставить учётные данные
- Введите Токен бота (
xoxb-…) и Токен приложения (xapp-…) - Оставьте Токен конфигурации приложения пустым — тот, что из шага 1, уже сохранён (Slack обновил его, и Control Center сохранил новый)
- Нажмите Подключить
Control Center проверяет токен бота в Slack, прежде чем что-либо сохранить, а затем открывает сокет. Теперь в строке показаны имя бота и название вашего рабочего пространства Slack с меткой Онлайн.
Шаг 5: Привяжите свой аккаунт Slack
Заголовок раздела «Шаг 5: Привяжите свой аккаунт Slack»Соединение делает бота доступным, а привязка делает узнаваемым вас. Пока ваша личность в Slack не привязана, бот не станет действовать по вашим сообщениям — он никогда не приписывает сообщение тому, кто установил приложение.
Привязка персональна, поэтому она находится на другой странице, а не там, где настраивается соединение для всего рабочего пространства.
- Перейдите в раздел Настройки → Рабочее пространство → Профиль и идентичность и найдите карточку Привязанные аккаунты чата
- Нажмите Привязать мой аккаунт Slack
- Скопируйте показанную команду, например
/cc link K7M2QP - В Slack отправьте эту команду боту в личном сообщении
- Бот ответит «Привязано — вы …»
Код одноразовый и истекает через 15 минут. Если ваш адрес электронной почты в Slack совпадает с пользователем Control Center, который уже является участником этого рабочего пространства, мост привяжет вас автоматически при первом же обращении к нему, и этот шаг можно пропустить.
Если вы упомянете бота до этого, он откажет и объяснит причину. Все три отказа различаются, поэтому читайте, какой именно вы получили:
- Непривязанный отправитель: бот рассказывает, как привязать аккаунт. Вернитесь к этому шагу.
- Привязан, но не участник этого рабочего пространства: попросите администратора пригласить вас.
- Участник с ролью только для чтения (viewer или guest): бот не начнёт работу от вашего имени.
Шаг 6: Поручите что-нибудь агенту
Заголовок раздела «Шаг 6: Поручите что-нибудь агенту»-
В Slack пригласите бота в канал:
/invite @control-center -
Упомяните его с настоящим запросом:
@control-center сделай сводку по открытым PR в репозитории api
Мост:
- Создаёт пространство Control Center для этого треда Slack, названное по каналу Slack и вашему запросу
- Будит агента на входе рабочего пространства (агента CEO, если он есть, иначе первого агента)
- Передаёт ответ агента потоком обратно в тред Slack по мере того, как он пишется
Отвечайте в том же треде Slack, чтобы продолжить, — новые упоминания не нужны, потому что тред Slack теперь связан с Control Center. Или напишите боту в личные сообщения вместо канала; каждый разговор в личке ведёт собственное пространство Control Center, с заголовком и строкой состояния «is thinking…», пока агент работает.
Потоковая передача требует API потоковой передачи Slack, который есть не во всех планах. Если вашему приложению в нём отказывают, мост перестаёт пытаться на всём соединении и вместо этого публикует каждый ответ одним сообщением, а карточка Чат-мосты показывает «Потоковая передача для этого приложения Slack выключена — ответы приходят одним сообщением». Всё остальное работает так же.
Шаг 7: Создайте тикет, не выходя из Slack
Заголовок раздела «Шаг 7: Создайте тикет, не выходя из Slack»/cc ticket Fix the flaky login test | It fails on CI about once a day.Бот отвечает ключом созданного тикета. Тикет — обычный локальный тикет Control Center, созданный вами, готовый к назначению агенту. /cc help перечисляет всё, что умеет команда.
Вы создали приложение Slack из Control Center, подключили его через исходящий сокет, привязали свою личность Slack к своему пользователю Control Center и управляли агентом из треда Slack. Всё, что происходило в Slack, есть и в Control Center: тред Slack — это пространство, ответ — транскрипт, тикет — тикет.
Далее: Настроить интеграцию Slack описывает ручной путь, ротацию токенов и устранение неполадок. А о модели, лежащей в основе, читайте в разделе Чат-мосты.