Как это работает
Коннектор Slack индексирует все публичные каналы заданного рабочего пространства. Чтобы индексировать приватные каналы, добавьте приложение Slack в приватный канал. Для организаций Slack Enterprise Grid одна установка охватывает все рабочие пространства организации. См. настройку Enterprise Grid ниже.Настройка
Авторизация
Требование к администратору
Откройте приложения Slack
Создайте новое приложение Slack
- Нажмите кнопку Create New App в правом верхнем углу.
- Выберите вариант From an app manifest.
- Выберите нужное рабочее пространство в раскрывающемся списке и нажмите Next.

Настройте манифест приложения
Создайте приложение
Откройте OAuth permissions
Скопируйте токен OAuth

Индексирование
Откройте коннектор
Укажите учётные данные

Задайте ID рабочего пространства и подключите

Настройка Enterprise Grid
Если ваш Slack — организация Enterprise Grid с несколькими рабочими пространствами, процесс создания приложения выполняется один раз на уровне организации, и в Yahont используется один токен бота уровня организации. Slack по-прежнему требует, чтобы администратор организации выбрал, в какие рабочие пространства разворачивается бот (он не разворачивается автоматически во все рабочие пространства только потому, что приложение одобрено на уровне организации). Yahont автоматически определяет Grid по токену бота и индексирует каждое рабочее пространство, в которое развёрнут бот.Чем отличается от настройки одного рабочего пространства
- Манифест приложения должен включать развёртывание на уровне организации и область
team:read. - Вы устанавливаете приложение в организацию один раз (одно подтверждение OAuth от Org Admin), но также должны выбрать, в какие рабочие пространства организации разворачивается бот — Yahont может индексировать только те рабочие пространства, участником которых бот действительно является.
- Ссылки на каналы в проиндексированных документах преобразуются в правильный URL для каждого рабочего пространства.
- Права на документы публичных каналов ограничиваются пользователями рабочих пространств, в которые канал расшарен (а не всей организацией), поэтому пользователь рабочего пространства A не увидит в Yahont документы публичного канала рабочего пространства B.
Авторизация (Grid)
Создайте новое приложение Slack
Используйте манифест Grid
org_deploy_enabled: true и добавленная область бота team:read:Установите в организацию
Разверните бота в каждом нужном рабочем пространстве
https://<your-org>.enterprise.slack.com/admin)
→ Apps → OnyxConnector и выберите рабочие пространства, в которые нужно развернуть бота.
Без этого шага auth.teams.list возвращает ноль рабочих пространств,
и Yahont увидит только то рабочее пространство, в котором приложение было разработано.Скопируйте токен бота уровня организации
xoxb-, как и обычный токен бота, но имеет права уровня организации.Индексирование (Grid)
Настройка коннектора в Yahont такая же, как для одного рабочего пространства: вставьте токен бота и нажмите Connect. Yahont проверяетauth.test() для токена; если есть enterprise_id, он автоматически переключается в режим Grid:
- Перечисляет рабочие пространства через
auth.teams.list - Перечисляет каналы каждого рабочего пространства через
conversations.list?team_id=...и удаляет дубликаты общих для организации каналов - Определяет URL каждого рабочего пространства через
team.infoдля построения ссылок на каналы - Строит наборы адресов электронной почты пользователей по рабочим пространствам для ограничения прав публичных каналов
Поведение ограничения прав
Устранение неполадок (Grid)
Ошибка проверки: отсутствует область team:read
Ошибка проверки: отсутствует область team:read
team:read. Добавьте область в манифест,
переустановите приложение в организацию и скопируйте новый токен бота в Yahont.Yahont индексирует каналы только из одного рабочего пространства
Yahont индексирует каналы только из одного рабочего пространства
auth.teams.list возвращает только те рабочие пространства, в которые добавлен бот.
Откройте панель администратора организации Grid → Apps → OnyxConnector и добавьте его в каждое нужное рабочее
пространство, затем запустите новую попытку индексации.Пользователь из другого рабочего пространства может искать по содержимому публичных каналов этого рабочего пространства
Пользователь из другого рабочего пространства может искать по содержимому публичных каналов этого рабочего пространства
5000.
Выше этого лимита Yahont помечает документ публичным, чтобы он оставался доступным;
тот же запасной вариант применяется, когда ни одно из рабочих пространств канала нет в кэше Yahont (например,
рабочее пространство, добавленное в организацию Grid после настройки коннектора).
Повторное сохранение учётных данных перестраивает кэш рабочих пространств.
