Открыть документацию

Создание Slack OAuth app для OpenConnector

Используйте Slack OAuth app, когда OpenConnector должен читать разговоры Slack, выводить список пользователей, отправлять сообщения, загружать файлы или управлять реакциями через сервис slack.

Сервис OpenConnector

ID сервисаПровайдерТип авторизации
slackSlackOAuth2

Провайдер Slack в OpenConnector использует Slack OAuth v2 и запрашивает scopes channels:read, groups:read, im:read, mpim:read, history scopes, file scopes, users:read, chat:write, im:write и scopes реакций.

Предварительные требования

  • Запущенный runtime OpenConnector.
  • Разрешение на создание или управление Slack app для целевого workspace.
  • Разрешение на установку apps в Slack workspace или доступ к владельцу или администратору workspace, который может подтвердить установку.
  • Origin OpenConnector, который пользователи открывают в браузере, например http://localhost:3000 или https://connect.example.com.

Шаг 1. Настройте callback URL OpenConnector

Добавьте /oauth/callback к origin OpenConnector.

Для локального тестирования используйте http://localhost:3000/oauth/callback. Если Slack не принимает локальный callback URL, опубликуйте OpenConnector через HTTPS tunnel или публичный домен, задайте OOMOL_CONNECT_ORIGIN, перезапустите runtime и используйте публичный callback URL, например https://connect.example.com/oauth/callback.

Шаг 2. Создайте Slack app

В разделе управления apps Slack API:

  1. Создайте новую app.
  2. Выберите workspace для разработки или тестирования.
  3. Откройте OAuth & Permissions.
  4. Добавьте точный callback URL OpenConnector в redirect URLs.
  5. Добавьте scopes bot token, необходимые для actions OpenConnector.
  6. Сохраните настройки app.

Обзор OAuth Slack: Installing with OAuth. Справочник scopes: Scopes.

Шаг 3. Скопируйте client credentials

Откройте Basic Information для Slack app и скопируйте:

Значение SlackПоле OpenConnector
Идентификатор клиентаclientId
Секрет клиентаclientSecret

Не используйте bot token как OAuth client secret. OpenConnector запускает OAuth flow и хранит полученный credential Slack после авторизации.

Шаг 4. Сохраните клиент Slack в OpenConnector

Используйте web console OpenConnector:

  1. Откройте web console OpenConnector, например http://localhost:3000.
  2. Откройте Providers и выберите Slack.
  3. Выберите Configure OAuth Client или Edit OAuth Client.
  4. Вставьте client ID и client secret Slack.
  5. Выберите Save OAuth Client.

Шаг 5. Подключите и проверьте

После сохранения OAuth client выберите Connect на странице провайдера Slack. Выберите Slack workspace, подтвердите app, вернитесь в OpenConnector и убедитесь, что workspace отображается как подключённый.

К безопасным тестовым actions относятся slack.list_conversations, slack.list_channels и slack.list_users.

Устранение неполадок

СимптомЧто проверить
Slack отклоняет redirect URLУбедитесь, что redirect URL Slack — <openconnector-origin>/oauth/callback. Если нужен HTTPS, используйте публичный HTTPS origin и задайте OOMOL_CONNECT_ORIGIN.
App не устанавливаетсяЕсли workspace ограничивает установку apps, попросите владельца или администратора Slack workspace подтвердить app.
Каналы отсутствуютВидимость публичных и приватных каналов зависит от scopes, политики Slack workspace и доступа app к каналу. При необходимости пригласите app в приватные каналы.
Actions с сообщениями не выполняютсяУбедитесь, что у app есть scopes записи, например chat:write, и доступ к целевому разговору.
Изменения scopes не применяютсяПереустановите или повторно подключите Slack после изменения scopes, чтобы подключённый credential получил новые разрешения.