Создание Microsoft Teams чат-бота без программирования с поддержкой Azure Active Directory
Итак, давайте начнем. Наш чат бот будет аналогично построен на базе сервиса Microsoft Power Virtual Agents, входящем в линейку сервисов Power Platform, но для начала нам необходимо обеспечить будущую авторизацию нашего бота через Azure Active Directory. Переходим на portal.azure.com и открываем сервис Azure Active Directory. Для настройки будущей авторизации бота через Azure Active Directory потребуется создать новое приложение AAD.
Переходим в раздел «App registrations» и нажимаем «New registration». Указываем имя приложения. Пусть это будет Azure AD Application, включаем опцию Accounts in any organizational directory и в Redirect URI указываем адрес из официальной документации Microsoft:
https://token.botframework.com/.auth/web/redirect
после чего нажимаем «Зарегистрировать». Приложение готово. Теперь переходим в раздел «Сертификаты и секреты» для того, чтобы сформировать секрет для проверки подлинности. Нажимаем «Создать новый секрет», указываем его имя и срок истечения. Секрет готов. Сохраняем его чтобы не забыть.
Теперь самое время перейти к созданию нового бота Power Virtual Agents. Переходим по адресу powerva.microsoft.com и создаем нового бота. Указываем его имя, язык и среду, в которой он будет создан. Нажимаем «Создать».
Через несколько секунд бот будет создан. Далее, давайте произведем необходимые настройки для будущей авторизации пользователя в боте и самого бота в Microsoft Teams. Переходим в раздел Управление — Безопасность. Открываем пункт Проверка подлинности. Выбираем тип «Вручную». Поставщик услуг остается Azure Active Directory, в качестве ИД клиента указываем идентификатор созданного приложения AAD — Application ID. Секрет клиента также берем из настроек нашего приложения. Нажимаем «Сохранить».
Теперь переходим в раздел публикации чат-бота.
Нажимаем «Опубликовать», дожидаемся окончания публикации, после чего переходим к настройке каналов. Выбираем Microsoft Teams. Включаем поддержку канала Microsoft Teams и нажимаем «Отправить на утверждение администратором». Здесь нам потребуется взять идентификатор бота.
Копируем идентификатор бота и возвращаемся в приложение Azure Active Directory. Открываем раздел «Expose an API» и, в первую очередь, устанавливаем «Application ID URI» равным значению
api://botid-{teamsbotid}, где {teamsbotid} это идентификатор нашего бота.
Нажимаем «Сохранить». Теперь создаем новый скоуп, через который будет идти обращение бота к ресурсам. Заполняем поля данными и нажимаем сохранить.
Скоуп создан. Далее создаем привязку приложения Teams к приложению Azure Active Directory. Для Teams используется два идентификатора — ид десктопного клиента и ид мобильного клиента. Эти идентификаторы фиксированные. Указываем в привязке оба.
1fec8e78-bce4-4aaf-ab1b-5451cc387264 (Teams mobile/desktop)
5e3ce6c0-2b1f-4285-8d4b-75ee78787346 (Teams on the web)
Попутно зайдем в раздел «API permissions» и предоставим запрошенные права от имени администратора организации.
Возвращаемся в нашего чат-бота. Создадим диалог бота. Перейдем в раздел Темы, создать тему. Укажем имя темы и триггер фразу.
Настроим простой диалог. В первую очередь вызовем авторизацию пользователя.
Если авторизация успешная, то зададим пару вопросов. Например, спросим за какой год требуется справка и в каком количестве экземпляров она нужна.
После этого создадим Power Automate поток и пробросим внутрь него параметры из диалога бота. Получив параметры, создадим с помощью кубика SharePoint элемент в списке, передав в него параметры от диалога.
Вернемся в бота и свяжем наш диалог с только что созданным потоком.
Теперь переходим к публикации бота. Нажимаем «Опубликовать», переходим к каналу Microsoft Teams и кликаем «Отправить бота на утверждение администратором».
Далее прописываем в настройках манифест файла идентификатор приложения Azure Active Directory и URI ресурса из скоупа «Expose an API» Azure AD приложения.
Нажимаем «Отправить на утверждение администратором». После обработки запроса идем в центр администрирования Microsoft Teams и проверяем статус приложения. Выставляем у него статус опубликовано и разрешено.
Проверяем нашего бота. Открываем Teams, переходим в магазин приложений для организации и устанавливаем бота.
Пишем триггер фразу и отвечаем на все вопросы. Заявка зарегистрирована, наш чат бот с выводом в Microsoft Teams с помощью Azure Active Directory готов.
В заключение хочу отметить, что в рамках экосистемы Microsoft 365 и Microsoft Azure можно создавать различные решения с поддержкой множества функций, как например, создание чат бота с последующим выводом его в Microsoft Teams. В следующих статьях разберем еще больше подобных решений на базе сервисов Microsoft. Всем хорошего дня и спасибо за внимание!