В этом руководстве показано, как создать приложение Google Chat, которое реагирует на инциденты в режиме реального времени. При реагировании на инцидент приложение создает и заполняет пространство чата, способствует разрешению инцидента с помощью сообщений, команд приложения и диалогов, а также использует искусственный интеллект для обобщения информации об инциденте в документе Google Docs.
Инцидент — это событие, требующее немедленного внимания группы людей для его разрешения. Примеры инцидентов включают:
- В платформе управления взаимоотношениями с клиентами (CRM) создается срочный запрос, требующий совместной работы сервисной команды для его решения.
- Система выходит из строя, что оповещает группу инженеров по обеспечению надежности сайта (SRE), чтобы они могли совместно восстановить ее работу.
- Происходит землетрясение высокой магнитуды, и спасателям необходимо скоординировать свои действия.
В рамках данного руководства оповещение об инциденте начинается, когда кто-то сообщает об инциденте, нажав кнопку на веб-странице. Веб-страница имитирует инцидент, запрашивая у пользователей основную информацию об инциденте: заголовок, описание и адреса электронной почты лиц, прибывших на место происшествия.
Посмотрите, как работает приложение для чата в системе управления инцидентами:

Рисунок 1. Веб-сайт, где можно сообщить о происшествии. 
Рисунок 2. Уведомление о создании чата для сообщения об инциденте. 
Рисунок 3. Чат для реагирования на инциденты. 
Рисунок 4. Разрешение инцидента с помощью быстрой команды. 
Рисунок 5. Диалог разрешения инцидента. 
Рисунок 6. Документ Google Docs по устранению инцидента, которым поделились в космосе. 
Рисунок 7. Документ Google Docs с обзором решения инцидентов, связанных с ИИ.
Предпосылки
Если для вашей организации необходимо включить какие-либо из этих предварительных условий, попросите администратора Google Workspace сделать это:
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Чтобы включить функцию «Справочник контактов» (Root Directory ) для Google Workspace, приложение для обработки инцидентов использует справочник для поиска контактной информации сотрудников, занимающихся реагированием на инциденты, такой как имя и адрес электронной почты. Сотрудники, занимающиеся реагированием на инциденты, должны быть пользователями с учетной записью Google Chat в вашей организации Google Workspace.
Цели
- Разработайте чат-приложение, которое реагирует на инциденты.
- Помогите пользователям реагировать на инциденты, выполнив следующие действия:
- Создание зон реагирования на инциденты.
- Публикация сообщений с кратким изложением инцидентов и принятых мер.
- Поддержка совместной работы с помощью интерактивных функций чат-приложения.
- Подведите итоги обсуждений и принятых решений с помощью Vertex AI.
Архитектура
На следующей диаграмме показана архитектура ресурсов Google Workspace и Google Cloud, используемых приложением Google Chat для реагирования на инциденты.

Архитектура демонстрирует, как приложение Google Chat для реагирования на инциденты обрабатывает инцидент и устраняет его.
Пользователь инициирует инцидент с внешнего веб-сайта, размещенного на Apps Script.
Веб-сайт отправляет асинхронный HTTP-запрос приложению Google Chat, также размещенному на Apps Script.
Приложение Google Chat для реагирования на инциденты обрабатывает запрос:
Сервис Apps Script Admin SDK получает информацию о членах команды, такую как идентификатор пользователя и адрес электронной почты.
С помощью набора HTTP-запросов к API чата, используя сервис Apps Script Advanced Chat, приложение Google Chat для реагирования на инциденты создает пространство чата для инцидентов, заполняет его участниками команды и отправляет сообщение в это пространство.
Члены команды обсуждают инцидент в чате.
Член команды быстро отдает команду, сигнализируя о разрешении инцидента.
HTTP-запрос к API чата с использованием сервиса Apps Script Advanced Chat выводит список всех сообщений в чате.
Vertex AI получает перечисленные сообщения и генерирует сводку.
Сервис Apps Script
DocumentAppсоздает документ Docs и добавляет в него краткое описание от Vertex AI.Приложение Google Chat для реагирования на инциденты вызывает API чата, чтобы отправить сообщение, содержащее ссылку на сводный документ Docs.
Подготовьте окружающую среду
В этом разделе показано, как создать и настроить проект Google Cloud для приложения «Чат».
Создайте проект в Google Cloud.
Консоль Google Cloud
- В консоли Google Cloud перейдите в > IAM и администрирование > Создать проект .
- В поле «Название проекта» введите описательное название для вашего проекта.
Необязательно: чтобы изменить идентификатор проекта , нажмите «Редактировать» . Идентификатор проекта нельзя изменить после его создания, поэтому выберите идентификатор, который будет соответствовать вашим потребностям на протяжении всего срока действия проекта.
- В поле «Местоположение» нажмите «Обзор» , чтобы отобразить возможные места для вашего проекта. Затем нажмите «Выбрать» .
- Нажмите «Создать» . Консоль Google Cloud перенаправит вас на страницу «Панель управления», и ваш проект будет создан в течение нескольких минут.
gcloud CLI
В одной из следующих сред разработки получите доступ к интерфейсу командной строки Google Cloud ( gcloud ):
- Cloud Shell : Чтобы использовать онлайн-терминал с уже настроенным интерфейсом командной строки gcloud, активируйте Cloud Shell.
Активировать Cloud Shell - Локальная оболочка : Для использования локальной среды разработки установите и инициализируйте интерфейс командной строки gcloud.
Для создания облачного проекта используйте команду `gcloud projects create: Замените PROJECT_ID на идентификатор проекта, который вы хотите создать.gcloud projects create PROJECT_ID
Включить выставление счетов для облачного проекта
Консоль Google Cloud
- В консоли Google Cloud перейдите в «Биллинг» . Нажмите меню > Биллинг > Мои проекты .
- В разделе «Выберите организацию» выберите организацию, связанную с вашим проектом Google Cloud.
- В строке проекта откройте меню «Действия» ( ), нажмите «Изменить выставление счетов» и выберите учетную запись Cloud Billing.
- Нажмите «Настроить учетную запись» .
gcloud CLI
- Чтобы отобразить список доступных платежных аккаунтов, выполните следующую команду:
gcloud billing accounts list - Свяжите платежный аккаунт с проектом Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_IDЗамените следующее:
-
PROJECT_ID— это идентификатор проекта в облаке, для которого вы хотите включить выставление счетов. -
BILLING_ACCOUNT_ID— это идентификатор платежного аккаунта , который будет связан с проектом Google Cloud.
-
Включите API
Консоль Google Cloud
В консоли Google Cloud включите Google Chat API, Google Docs API, Admin SDK API и Vertex AI API.
Убедитесь, что вы включаете API в правильном облачном проекте, затем нажмите «Далее» .
Убедитесь, что вы включаете правильные API, затем нажмите «Включить» .
gcloud CLI
При необходимости установите в качестве текущего проекта Cloud тот, который вы создали с помощью команды
gcloud config set project:gcloud config set project PROJECT_IDЗамените PROJECT_ID на идентификатор проекта Cloud, который вы создали.
Включите API Google Chat, API Google Docs, API Admin SDK и API Vertex AI с помощью команды
gcloud services enable:gcloud services enable chat.googleapis.com docs.googleapis.com admin.googleapis.com aiplatform.googleapis.com
Настройте аутентификацию и авторизацию.
Аутентификация и авторизация позволяют приложению «Чат» получать доступ к ресурсам в Google Workspace и Google Cloud для обработки запросов на реагирование на инциденты.
В этом руководстве вы публикуете приложение внутри компании, поэтому использование информации-заполнителя допустимо. Перед публикацией приложения за пределами компании замените информацию-заполнитель реальной информацией на экране согласия.
В консоли Google Cloud перейдите в >Google Auth platform > Брендинг .
Если вы уже настроилиGoogle Auth platformВы можете настроить следующие параметры экрана согласия OAuth в разделах «Брендинг» , «Аудитория» и «Доступ к данным» . Если вы видите сообщение, в котором говорится... Google Auth platform Если конфигурация еще не выполнена , нажмите «Начать» :
- В разделе «Информация о приложении» в поле «Название приложения» введите
Incident Management with User Auth. - В разделе «Электронная почта службы поддержки пользователей» выберите свой адрес электронной почты или соответствующую группу Google.
- Нажмите «Далее» .
- В разделе «Аудитория» выберите «Внутренняя» . Если выбрать «Внутренняя» невозможно, выберите «Внешняя» .
- Нажмите «Далее» .
- В поле «Контактная информация» укажите адрес электронной почты , на который вы сможете получать уведомления об изменениях в вашем проекте.
- Нажмите «Далее» .
- В разделе «Завершить» ознакомьтесь с Политикой использования пользовательских данных сервисов Google API и, если вы согласны, выберите «Я согласен с Политикой использования пользовательских данных сервисов Google API» .
- Нажмите «Продолжить» .
- Нажмите «Создать» .
- Если для типа пользователя выбран «Внешний» , добавьте тестовых пользователей:
- Нажмите «Аудитория» .
- В разделе «Проверка пользователей» нажмите «Добавить пользователей» .
- Введите свой адрес электронной почты и имена других авторизованных пользователей, участвующих в тестировании, затем нажмите «Сохранить» .
- В разделе «Информация о приложении» в поле «Название приложения» введите
Нажмите «Доступ к данным» > «Добавить или удалить области действия ». Откроется панель со списком областей действия для каждого API, который вы включили в своем проекте Google Cloud.
В разделе «Добавить области действия вручную» вставьте следующие области действия:
-
https://www.googleapis.com/auth/chat.spaces.create -
https://www.googleapis.com/auth/chat.memberships -
https://www.googleapis.com/auth/chat.memberships.app -
https://www.googleapis.com/auth/chat.messages -
https://www.googleapis.com/auth/documents -
https://www.googleapis.com/auth/admin.directory.user.readonly -
https://www.googleapis.com/auth/script.external_request -
https://www.googleapis.com/auth/userinfo.email -
https://www.googleapis.com/auth/cloud-platform
-
Нажмите «Добавить в таблицу» .
Нажмите «Обновить» .
После выбора областей доступа, необходимых для вашего приложения, на странице «Доступ к данным» нажмите «Сохранить» .
Создайте и разверните приложение «Чат».
В следующем разделе вы скопируете и обновите весь проект Apps Script, содержащий весь необходимый код приложения для вашего чат-приложения, поэтому нет необходимости копировать и вставлять каждый файл по отдельности.
Некоторые функции содержат подчеркивания в конце своих имен, например, concatenateAllSpaceMessages_() из ChatApp.gs . Подчеркивание скрывает функцию на веб-странице инициализации инцидента, когда она открыта в браузере. Для получения дополнительной информации см. раздел «Приватные функции» .
Apps Script поддерживает два типа файлов: скрипты .gs и файлы .html . Для обеспечения этой поддержки клиентский JavaScript приложения включается внутри тегов <script /> , а его CSS — внутри тегов <style /> в HTML-файле.
При желании вы можете посмотреть весь проект на GitHub.
Вот краткий обзор каждого файла:
-
Consts.gs Определяет константы, на которые ссылаются другие файлы кода, включая идентификатор вашего проекта Cloud, идентификатор местоположения Vertex AI, идентификатор быстрой команды для закрытия инцидента и модель Gemini.
Просмотреть код
Consts.gs-
ChatApp.gs Обрабатывает события взаимодействия в чате, включая сообщения, нажатия кнопок, команды приложения и диалоги. Отвечает на быструю команду
Close incident, открывая диалог для сбора подробной информации о разрешении инцидента. Читает сообщения в пространстве, вызывая методspaces.messages.listв API чата. Получает идентификаторы пользователей, используя службу каталогов Admin SDK в Apps Script.Просмотреть код
ChatApp.gs-
ChatSpaceCreator.gs Получает данные, введенные пользователями на веб-странице инициализации инцидента, использует их для создания и заполнения чата, а затем публикует сообщение об инциденте.
Посмотреть код
ChatSpaceCreator.gs-
DocsApi.gs Вызывает API Google Docs для создания документа Google Docs в Google Диске пользователя и записывает в документ сводную информацию об инциденте, созданную в файле
VertexAiApi.gs.Просмотреть код
DocsApi.gs-
VertexAiApi.gs Обобщает ход беседы в чате с помощью Vertex AI. Это резюме публикуется в специально созданном документе в
DocsAPI.gs.Посмотреть код
VertexAiApi.gs-
WebController.gs Обслуживает веб-сайт инициализации инцидентов.
Просмотреть код
WebController.gs-
Index.html HTML-код веб-сайта для инициализации инцидента.
Просмотреть код
Index.html-
JavaScript.html Обрабатывает поведение форм, включая отправку, ошибки и очистку, для веб-сайта инициализации инцидента. Он включается в
Index.htmlс помощью пользовательской функцииincludeвWebController.gs.Просмотреть код
JavaScript.html-
Stylesheet.html CSS-код для веб-сайта инициализации инцидента. Он включается в
Index.htmlс помощью пользовательской функцииincludeвWebController.gs.Просмотреть код файла
Stylesheet.html
Найдите номер и идентификатор вашего облачного проекта.
В консоли Google Cloud перейдите к своему проекту в облаке.
Нажмите «Настройки и утилиты» > Настройки проекта» .
Обратите внимание на значения в полях «Номер проекта» и «Идентификатор проекта» . Вы будете использовать их в следующих разделах.
Создайте проект Apps Script.
Чтобы создать проект Apps Script и связать его с вашим облачным проектом:
- Нажмите следующую кнопку, чтобы открыть проект « Приложение чата управления инцидентами с использованием скрипта приложений для аутентификации пользователей» .
Откройте проект - Нажмите на Overview .
- На странице обзора нажмите
Сделайте копию .
Назовите свою копию проекта Apps Script:
Нажмите «Скопировать приложение чата управления инцидентами с авторизацией пользователя» .
В поле «Название проекта» введите
Incident Management Chat app with User Auth.Нажмите «Переименовать» .
В вашей копии проекта Apps Script перейдите к файлу
Consts.gsи установитеPROJECT_IDравным идентификатору вашего облачного проекта.
Установите проект Cloud для проекта Apps Script.
- В проекте Apps Script нажмите
Настройки проекта .
- В разделе «Проект Google Cloud Platform (GCP)» нажмите «Изменить проект» .
- В поле "Номер проекта GCP" вставьте номер вашего облачного проекта.
- Нажмите «Установить проект» . Проект «Облако» и проект «Apps Script» теперь связаны.
Создайте тестовый сценарий развертывания Apps Script.
Теперь, когда весь код готов, разверните проект Apps Script. Идентификатор развертывания используется при настройке приложения «Чат» в Google Cloud.
В Apps Script откройте проект приложения для реагирования на инциденты.
Нажмите «Развернуть» > «Проверить развертывания» .
Если надстройка Google Workspace и веб-приложение еще не выбраны, рядом с пунктом «Выберите тип» нажмите «Типы развертывания».
и выберите надстройку Google Workspace и веб-приложение .
Apps Script предоставляет идентификатор развертывания и URL-адрес для веб-приложения.
Запишите URL-адрес веб-приложения , чтобы посетить его позже при создании инцидента. Скопируйте идентификатор развертывания . Этот идентификатор используется при настройке приложения чата в консоли Google Cloud.
Нажмите «Готово» .
Настройте приложение «Чат» в консоли Google Cloud.
В этом разделе показано, как настроить API Google Chat в консоли Google Cloud, используя информацию о вашем приложении Chat, включая идентификатор развертывания, которое вы только что создали из своего проекта Apps Script.
В консоли Google Cloud перейдите > Дополнительные продукты > Google Workspace > Библиотека продуктов > Google Chat API > Управление > Конфигурация .
В поле «Название приложения» введите
Incident Management with User Auth.В поле "URL аватара" введите
https://developers.google.com/chat/images/quickstart-app-avatar.png.В поле «Описание» введите
Responds to incidents.Переведите переключатель «Включить интерактивные функции» в положение «Вкл.».
В разделе «Функциональность» выберите «Присоединяйтесь к пространствам и групповым беседам» .
В разделе «Настройки подключения» выберите «Apps Script» .
В поле «Идентификатор развертывания» вставьте идентификатор развертывания Apps Script, который вы скопировали ранее из развертывания проекта Apps Script.
Зарегистрируйте быструю команду , которую будет использовать полностью реализованное приложение чата:
В разделе «Команды» нажмите «Добавить команду» .
В поле «Идентификатор команды» введите
1.В поле «Описание» введите:
Closes the incident being discussed in the space.В разделе «Тип команды» выберите «Быстрая команда» .
В поле «Имя быстрой команды» введите
Close incident.Выберите диалоговое окно .
Нажмите «Готово» . Команда зарегистрирована и отображается в списке.
В разделе «Видимость» выберите «Сделать это приложение чата доступным для определенных людей и групп в вашем домене рабочего пространства» и введите свой адрес электронной почты.
В разделе «Журналы» выберите « Записывать ошибки в журнал» и перейдите в раздел «Ведение журнала» .
Нажмите «Сохранить» . Появится сообщение о сохранении конфигурации, что означает, что приложение готово к тестированию.
Протестируйте приложение для чата
Для проверки работы приложения «Чат» для управления инцидентами создайте инцидент на веб-странице и убедитесь, что приложение «Чат» работает должным образом:
Перейдите по URL-адресу веб-приложения, развернутого с помощью Apps Script.
Когда Apps Script запросит разрешение на доступ к вашим данным, нажмите «Просмотреть разрешения» , войдите в систему с помощью соответствующей учетной записи Google в домене Google Workspace и нажмите «Разрешить» .
Открывается веб-страница инициализации инцидента. Введите тестовую информацию:
- В поле «Заголовок инцидента» введите
The First Incident. - При желании в разделе «Участники реагирования на инциденты» укажите адреса электронной почты ваших коллег, участвующих в реагировании на инциденты. Они должны быть пользователями с учетной записью Google Chat в вашей организации Google Workspace, иначе создание пространства не удастся. Не вводите свой собственный адрес электронной почты, так как он будет добавлен автоматически.
- В поле «Начальное сообщение» введите
Testing the incident management Chat app.
- В поле «Заголовок инцидента» введите
Нажмите «Создать чат» . Появится сообщение
creating space.После создания пространства появится сообщение
Space created!. Нажмите «Открыть пространство» , и оно откроется в чате в новой вкладке.При желании вы и другие участники реагирования на инцидент можете отправлять сообщения в этом пространстве. Приложение обобщает эти сообщения с помощью Vertex AI и предоставляет документ с обзором ситуации.
Чтобы завершить реагирование на инцидент и начать процесс его устранения, в чате воспользуйтесь быстрой командой
Close incident. Откроется диалоговое окно управления инцидентами.В поле «Закрыть инцидент» введите описание решения инцидента, например,
Test complete.Нажмите «Закрыть инцидент» .
Приложение для управления инцидентами отображает список сообщений в пространстве, суммирует их с помощью Vertex AI, вставляет краткое описание в документ Google Docs и делится этим документом в пространстве.
Уборка
Чтобы избежать списания средств с вашего аккаунта Google Cloud за ресурсы, использованные в этом руководстве, мы рекомендуем удалить проект Cloud.
- В консоли Google Cloud перейдите на страницу «Управление ресурсами» > IAM и администрирование > Управление ресурсами .
- В списке проектов выберите проект, который хотите удалить, и нажмите кнопку «Удалить .
- В диалоговом окне введите идентификатор проекта, а затем нажмите «Завершить» , чтобы удалить проект.
Связанные темы
- Планируйте поездки с помощью ИИ-агента, доступного во всем Google Workspace.
- Отвечайте на вопросы, основанные на диалогах в чате, с помощью приложения Gemini AI Chat.
- Управляйте проектами с помощью Google Chat, Vertex AI и Firestore.
- Проверка фактов с помощью агента ADK AI и модели Gemini.
- Интегрируйте фундаментальные концепции искусственного интеллекта в чат-приложения.
- Создайте приложение для чата в качестве дополнения к Google Workspace с помощью Apps Script.