В этом руководстве используются области авторизации, начинающиеся с https://www.googleapis.com/auth/chat.app.*
, которые доступны как часть предварительной версии для разработчиков. Ваше приложение Chat должно получить единоразовое одобрение администратора .
В этом руководстве показано, как создать приложение Google Chat, которое реагирует на инциденты в режиме реального времени. Реагируя на инцидент, приложение создает и заполняет пространство чата, облегчает разрешение инцидента с помощью сообщений, косых команд и диалогов, а также использует искусственный интеллект для обобщения ответа на инцидент в документе Google Docs.
Инцидент – это событие, для разрешения которого требуется немедленное внимание группы людей. Примеры инцидентов включают в себя:
- На платформе управления взаимоотношениями с клиентами (CRM) создается срочный случай, требующий совместной работы группы обслуживания над решением.
- Система отключается, оповещая группу инженеров по надежности объекта (SRE), чтобы они могли вместе работать над ее возобновлением.
- Происходит землетрясение высокой магнитуды, и спасателям необходимо координировать свои действия.
В рамках данного руководства оповещение об инциденте запускается, когда кто-то сообщает об инциденте нажатием кнопки на веб-странице. Веб-страница имитирует инцидент, предлагая пользователям ввести основную информацию об инциденте: название, описание и адреса электронной почты ответивших.
Посмотрите приложение Chat для управления инцидентами в действии:
Рисунок 1. Веб-сайт, на котором можно сообщить об инциденте. Рисунок 2. Уведомление о создании пространства чата по инциденту. Рисунок 3. Реагирование на инцидент. Пространство чата. Рисунок 4. Разрешение инцидента с помощью команды косой черты. Рисунок 5. Диалоговое окно разрешения инцидента. Рисунок 6. Документ Google Docs по разрешению инцидентов, доступный в пространстве. Рисунок 7. Документ Google Docs со сводкой по разрешению инцидентов с использованием ИИ.
Предварительные условия
Если вам необходимо включить какие-либо из этих предварительных условий для вашей организации, попросите администратора Google Workspace включить их:
- Аккаунт Google Workspace для бизнеса или предприятия с доступом к Google Chat .
- Чтобы включить каталог (обмен контактами) для 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-запросов к Chat API с использованием службы расширенного чата Apps Script приложение Google Chat для ответа на инцидент создает пространство чата для инцидентов, заполняет его членами команды и отправляет сообщение в это пространство.
Члены команды обсуждают инцидент в чате.
Член команды вызывает косую черту, чтобы сообщить о разрешении инцидента.
HTTP-вызов API Chat с использованием расширенной службы Chat Apps Script выводит список всех сообщений пространства Chat.
Vertex AI получает перечисленные сообщения и генерирует сводку.
Служба Apps Script
DocumentApp
создает документ Docs и добавляет в него резюме Vertex AI.Приложение Google Chat для ответа на инцидент вызывает Chat API, чтобы отправить сообщение со ссылкой на сводный документ Документов.
Подготовьте окружающую среду
В этом разделе показано, как создать и настроить проект Google Cloud для приложения Chat.
Создайте проект Google Cloud
Консоль Google Cloud
- В консоли Google Cloud выберите > IAM и администрирование > Создать проект .
- В поле «Имя проекта» введите описательное имя вашего проекта.
Необязательно: Чтобы изменить идентификатор проекта , нажмите «Изменить» . Идентификатор проекта нельзя изменить после его создания, поэтому выберите идентификатор, который соответствует вашим потребностям на протяжении всего срока действия проекта.
- В поле «Местоположение» нажмите «Обзор» , чтобы отобразить возможные местоположения для вашего проекта. Затем нажмите «Выбрать» .
- Нажмите Создать . Консоль Google Cloud перейдет на страницу панели инструментов, и ваш проект будет создан в течение нескольких минут.
интерфейс командной строки gcloud
В одной из следующих сред разработки получите доступ к Google Cloud CLI ( 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
- Чтобы просмотреть список доступных платежных учетных записей, запустите:
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, Google Workspace Marketplace SDK и Vertex AI API.
Убедитесь, что вы включаете API в правильном облачном проекте, затем нажмите «Далее» .
Убедитесь, что вы включаете правильные API, затем нажмите « Включить» .
интерфейс командной строки gcloud
При необходимости установите текущий проект Cloud на тот, который вы создали с помощью команды
gcloud config set project
:gcloud config set project PROJECT_ID
Замените PROJECT_ID на идентификатор созданного вами облачного проекта.
Включите Google Chat API, Google Docs API, Admin SDK API, Google Workspace Marketplace SDK и Vertex AI API с помощью команды
gcloud services enable
:gcloud services enable chat.googleapis.com docs.googleapis.com admin.googleapis.com aiplatform.googleapis.com appsmarket-component.googleapis.com
Настройте аутентификацию и авторизацию
Приложение Chat обращается к API Google Chat, используя учетные данные приложения Chat. Приложение обращается к API Admin SDK и API Google Docs с учетными данными пользователя.
Настройка аутентификации и авторизации пользователя
Аутентификация и авторизация позволяют приложению Chat получать доступ к ресурсам в Google Workspace и Google Cloud для обработки реагирования на инциденты. в частности, аутентификация пользователя используется для вызова API Google Docs и API Admin SDK.
В этом руководстве вы публикуете приложение внутри своего домена Workspace, поэтому допускается использовать информацию-заполнитель. Прежде чем публиковать приложение на внешних ресурсах, замените заполнитель реальной информацией на экране согласия.
В консоли Google Cloud перейдите в > > Брендинг .
МенюЕсли вы уже настроиливы можете настроить следующие параметры экрана согласия OAuth в разделах «Брендинг» , «Аудитория» и «Доступ к данным» . Если вы видите сообщение, в котором говорится еще не настроено , нажмите «Начать» :
- В разделе «Информация о приложении» в поле «Имя приложения» введите
Incident Management
. - В разделе «Электронная почта поддержки пользователей» выберите свой адрес электронной почты или соответствующую группу Google.
- Нажмите Далее .
- В разделе «Аудитория» выберите «Внутренняя» . Если вы не можете выбрать «Внутренний» , выберите «Внешний» .
- Нажмите Далее .
- В разделе «Контактная информация» введите адрес электронной почты , по которому вы сможете получать уведомления о любых изменениях в вашем проекте.
- Нажмите Далее .
- В разделе «Готово » ознакомьтесь с Политикой пользовательских данных служб Google API и, если вы согласны, выберите Я согласен с Политикой пользовательских данных служб Google API: Политика пользовательских данных .
- Нажмите Продолжить .
- Нажмите Создать .
- Если в качестве типа пользователя вы выбрали Внешний , добавьте тестовых пользователей:
- Нажмите Аудитория .
- В разделе «Тестовые пользователи» нажмите «Добавить пользователей» .
- Введите свой адрес электронной почты и адрес других авторизованных тестовых пользователей, затем нажмите « Сохранить» .
- В разделе «Информация о приложении» в поле «Имя приложения» введите
Нажмите «Доступ к данным» > «Добавить или удалить области» . Появится панель со списком областей действия для каждого API, который вы включили в своем проекте Google Cloud.
В разделе «Добавление областей вручную» вставьте следующие области:
-
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
-
Нажмите «Добавить в таблицу» .
Нажмите Обновить .
После выбора областей, необходимых вашему приложению, на странице «Доступ к данным» нажмите «Сохранить ».
Настройка аутентификации и авторизации приложения
Аутентификация приложения используется для вызова API Google Chat.
Создайте сервисную учетную запись в консоли Google Cloud.
Чтобы создать учетную запись службы, выполните следующие действия:
Консоль Google Cloud
- В консоли Google Cloud выберите > IAM и администрирование > Учетные записи служб .
- Нажмите Создать учетную запись службы .
- Заполните данные учетной записи службы, затем нажмите «Создать и продолжить» .
- Необязательно: назначьте роли своему сервисному аккаунту, чтобы предоставить доступ к ресурсам вашего проекта Google Cloud. Дополнительные сведения см. в разделе Предоставление, изменение и отзыв доступа к ресурсам .
- Нажмите Продолжить .
- Необязательно: укажите пользователей или группы, которые могут управлять этой учетной записью службы и выполнять действия с ней. Дополнительные сведения см. в разделе Управление олицетворением учетной записи службы .
- Нажмите Готово . Запишите адрес электронной почты для учетной записи службы.
интерфейс командной строки gcloud
- Создайте учетную запись службы:
gcloud iam service-accounts create
SERVICE_ACCOUNT_NAME
\ --display-name="SERVICE_ACCOUNT_NAME
" - Необязательно: назначьте роли своему сервисному аккаунту, чтобы предоставить доступ к ресурсам вашего проекта Google Cloud. Дополнительные сведения см. в разделе Предоставление, изменение и отзыв доступа к ресурсам .
Учетная запись службы отображается на странице учетной записи службы. Затем создайте закрытый ключ для учетной записи службы.
Создать закрытый ключ
Чтобы создать и загрузить закрытый ключ для учетной записи службы, выполните следующие действия:
- В консоли Google Cloud выберите > IAM и администрирование > Учетные записи служб .
- Выберите свою учетную запись службы.
- Нажмите «Ключи» > «Добавить ключ» > «Создать новый ключ» .
- Выберите JSON , затем нажмите «Создать» .
Ваша новая пара открытого/закрытого ключей генерируется и загружается на ваш компьютер в виде нового файла. Сохраните загруженный файл JSON как
credentials.json
в своем рабочем каталоге. Этот файл является единственной копией этого ключа. Информацию о том, как безопасно хранить ключ, см. в разделе Управление ключами учетной записи службы . - Нажмите Закрыть .
Дополнительную информацию об учетных записях служб см. в учетных записях служб в документации Google Cloud IAM.
Создайте клиент OAuth, совместимый с Google Workspace Marketplace.
Чтобы создать клиент OAuth, совместимый с Google Workspace Marketplace, выполните следующие действия:
В консоли Google Cloud выберите > IAM и администрирование > Учетные записи служб .
Щелкните учетную запись службы, которую вы создали для своего приложения Chat.
Нажмите «Дополнительные настройки» .
Нажмите Создать клиент OAuth, совместимый с Google Workspace Marketplace .
Нажмите Продолжить .
Появится сообщение с подтверждением о том, что клиент OAuth, совместимый с Google Workspace Marketplace, создан.
Создайте и разверните приложение чата
В следующем разделе вы скопируете и обновите весь проект Apps Script, содержащий весь необходимый код приложения для вашего приложения Chat, поэтому нет необходимости копировать и вставлять каждый файл.
Некоторые функции включают подчеркивания в конце своих имен, например, processSlashCommand_()
из ChatApp.gs
. Подчеркивание скрывает функцию с веб-страницы инициализации инцидента, когда она открыта в браузере. Дополнительные сведения см. в разделе Частные функции .
Apps Script поддерживает два типа файлов: сценарии .gs
и файлы .html
. Чтобы обеспечить эту поддержку, клиентский JavaScript приложения включается в теги <script />
, а его CSS — в теги <style />
внутри HTML-файла.
При желании вы можете просмотреть весь проект на GitHub.
Вот обзор каждого файла:
-
Consts.gs
Определяет константы, на которые ссылаются другие файлы кода, включая идентификатор вашего облачного проекта, идентификатор местоположения Vertex AI, учетные данные приложения для учетной записи службы и идентификатор команды с косой чертой для закрытия инцидента.
Посмотреть код
Consts.gs
-
ChatApp.gs
Обрабатывает события взаимодействия в чате, включая сообщения, щелчки карточек, команды с косой чертой и диалоговые окна. Отвечает на косую черту
/closeIncident
, открывая диалоговое окно для сбора сведений о разрешении инцидента. Читает сообщения в чат-группе, вызывая методspaces.messages.list
в Chat API. Получает идентификаторы пользователей с помощью службы каталогов Admin SDK в Apps Script.Посмотреть код
ChatApp.gs
-
ChatSpaceCreator.gs
Получает данные формы, которые пользователи вводят на веб-странице инициализации инцидента, и использует их для настройки пространства чата, создавая и заполняя его, а затем публикует сообщение об инциденте.
Посмотреть код
ChatSpaceCreator.gs
-
DocsApi.gs
Вызывает API Документов Google для создания документа Документов Google на Google Диске пользователя и записывает в документ сводку информации об инциденте, созданную в
VertexAiApi.gs
.Посмотреть код
DocsApi.gs
-
VertexAiApi.gs
Обобщает разговор в чате с помощью Vertex AI API. Это резюме публикуется в специально созданном документе в
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 и связать его с проектом Cloud:
- Нажмите следующую кнопку, чтобы открыть проект « Реагировать на инциденты с помощью сценария приложений Google Chat» .
Открыть проект - Нажмите Обзор .
- На странице обзора нажмите
Сделайте копию .
Назовите свою копию проекта Apps Script:
Нажмите «Копия ответа на инциденты в Google Chat» .
В названии проекта введите
Incident Management Chat app
.Нажмите «Переименовать» .
В своей копии проекта Apps Script перейдите в файл
Consts.gs
и заменитеYOUR_PROJECT_ID
на идентификатор вашего облачного проекта.
Установите облачный проект проекта Apps Script.
- В проекте Apps Script нажмите
Настройки проекта .
- В разделе «Проект Google Cloud Platform (GCP)» нажмите «Изменить проект» .
- В поле «Номер проекта GCP» вставьте номер вашего облачного проекта.
- Нажмите Установить проект . Проект Cloud и проект Apps Script теперь связаны.
Создание развертывания скрипта приложений
Теперь, когда весь код готов, разверните проект Apps Script. Идентификатор развертывания используется при настройке приложения Chat в Google Cloud.
В Apps Script откройте проект приложения реагирования на инциденты.
Нажмите «Развертывание» > «Новое развертывание» .
Если надстройка и веб-приложение еще не выбраны, рядом с пунктом «Выбрать тип» щелкните «Типы развертывания».
и выберите Надстройка и веб-приложение .
В поле «Описание» введите описание этой версии, например
Complete version of incident management app
.В разделе «Выполнить от имени» выберите «Пользователь, имеющий доступ к веб-приложению».
В разделе «У кого есть доступ » выберите «Любой в вашей организации Workspace» , где «ваша организация Workspace» — это название вашей организации Google Workspace.
Нажмите «Развернуть» . Apps Script сообщает об успешном развертывании и предоставляет идентификатор развертывания и URL-адрес веб-страницы инициализации инцидента.
Запишите URL-адрес веб-приложения , чтобы посетить его позже, когда начнете инцидент. Скопируйте идентификатор развертывания . Вы используете этот идентификатор при настройке приложения Chat в консоли Google Cloud.
Нажмите Готово .
Настройте приложение Chat в консоли Google Cloud.
В этом разделе показано, как настроить API Google Chat в консоли Google Cloud, используя информацию о вашем приложении Chat, включая идентификатор развертывания, которое вы только что создали из проекта Apps Script.
В консоли Google Cloud нажмите Меню > Google Workspace > Библиотека продуктов > Google Chat API > Управление > Конфигурация .
Другие продуктыВ поле «Имя приложения» введите
Incident Management
.В URL-адресе аватара введите
https://developers.google.com/chat/images/quickstart-app-avatar.png
.В поле «Описание» введите
Responds to incidents.
.Установите переключатель «Включить интерактивные функции» во включенное положение.
В разделе «Функциональность» выберите «Получать сообщения 1:1» , «Присоединяйтесь к группам и групповым беседам» .
В разделе «Настройки подключения» выберите «Скрипт приложений» .
В поле «Идентификатор развертывания» вставьте идентификатор развертывания Apps Script, который вы скопировали ранее из развертывания проекта Apps Script.
Зарегистрируйте косую черту , которую использует полностью реализованное приложение Chat:
В разделе «Команды» нажмите «Добавить команду» .
В поле «Идентификатор команды» введите
1
.В поле «Описание» введите
Closes the incident being discussed in the space.
В разделе «Тип команды» выберите «Слэш-команда» .
В имени команды Slash введите
/closeIncident
.Выбрать Открывает диалоговое окно .
Нажмите Готово . Команда косой черты зарегистрирована и внесена в список.
В разделе «Видимость» выберите «Сделать это приложение чата доступным для определенных людей и групп в вашем домене рабочей области» и введите свой адрес электронной почты.
В разделе «Журналы» выберите «Записывать ошибки в журнал» .
Нажмите Сохранить . Появится сообщение о сохраненной конфигурации, означающее, что приложение готово к тестированию.
Получить одобрение администратора
Чтобы получить одобрение администратора, вам необходимо настроить приложение Chat в SDK Google Workspace Marketplace.
Настройте приложение Chat в SDK Google Workspace Marketplace.
Чтобы настроить приложение Chat в SDK Google Workspace Marketplace, выполните следующие действия:
В консоли Google Cloud выберите Меню > Включенные API и службы > Google Workspace Marketplace SDK > Конфигурация приложения .
API и службыЗаполните страницу конфигурации приложения. Способ настройки приложения чата зависит от целевой аудитории и других факторов. Информацию о заполнении страницы конфигурации приложения см. в разделе Настройка приложения в SDK Google Workspace Marketplace . Для целей данного руководства введите следующую информацию:
- В разделе «Видимость приложения» выберите «Частное» .
- В разделе «Параметры установки» выберите «Установка с правами администратора» .
- В разделе «Интеграция приложений» выберите «Приложение чата» .
- В разделе «Области OAuth» введите следующие области:
-
https://www.googleapis.com/auth/chat.app.spaces
-
https://www.googleapis.com/auth/chat.app.memberships
-
- В разделе «Информация о разработчике» введите свое имя разработчика , URL-адрес веб-сайта разработчика и адрес электронной почты разработчика .
- Нажмите Сохранить черновик .
После настройки приложения обновите список магазинов:
- В консоли Google Cloud выберите Меню > API и службы > Включенные API и службы > Google Workspace Marketplace SDK > Список магазинов .
- В разделе «Сведения о приложении» выберите «Веб-разработка» в качестве категории.
- В графических ресурсах загрузите значки приложений в запрошенных форматах.
- В разделе «Скриншоты» загрузите скриншот приложения.
- В разделе «Ссылки на поддержку» укажите URL-адрес условий обслуживания, URL-адрес конфиденциальности и URL-адрес поддержки.
- В разделе «Распространение» выберите регионы, в которых это приложение будет доступно.
- Нажмите «Опубликовать» .
Получить одобрение администратора
Теперь, когда ваш сервисный аккаунт настроен на получение одобрения администратора, получите его у администратора Google Workspace, который сможет предоставить одобрение, выполнив действия, описанные в разделе Настройка авторизации для приложений чата .
Протестируйте приложение Чат
Чтобы протестировать приложение Chat для управления инцидентами, инициируйте инцидент с веб-страницы и убедитесь, что приложение Chat работает должным образом:
Перейдите по 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 и публикует ретроспективный документ.
Чтобы завершить реагирование на инцидент и начать процесс разрешения, в области чата введите
/closeIncident
. Откроется диалоговое окно управления инцидентами.В поле «Закрыть инцидент» введите описание разрешения инцидента, например
Test complete
.Нажмите «Закрыть инцидент» .
Приложение «Управление инцидентами» перечисляет сообщения в пространстве, суммирует их с помощью Vertex AI, вставляет сводку в документ Google Docs и публикует документ в пространстве.
Очистить
Чтобы избежать списания средств с вашей учетной записи Google Cloud за ресурсы, используемые в этом руководстве, мы рекомендуем вам удалить проект Cloud.
- В консоли Google Cloud перейдите на страницу «Управление ресурсами» . Нажмите Меню > Управление ресурсами . IAM и администрирование
- В списке проектов выберите проект, который хотите удалить, и нажмите «Удалить .
- В диалоговом окне введите идентификатор проекта и нажмите «Завершить работу» , чтобы удалить проект.
Связанные темы
- Отвечайте на вопросы, основанные на разговорах в чате, с помощью приложения Gemini AI Chat.
- Управляйте проектами с помощью Google Chat, Vertex AI и Firestore.
- Реагируйте на инциденты с помощью Google Chat, Vertex AI и Apps Script (аутентификация пользователей)
- Приложение реагирования на инциденты выполняет аутентификацию с использованием учетных данных пользователя для вызова API и сервисов Google Cloud, таких как Chat API и Vertex AI API. Это означает, что пользователь, инициализирующий инцидент, должен иметь доступ к этим сервисам. Чтобы сделать приложение более надежным, рассмотрите возможность вызова Vertex AI API с учетной записью службы вместо учетных данных пользователя, вызывающего косую черту
/closeIncident
. Сведения о настройке учетной записи службы для Vertex AI API см. в разделе Использование пользовательской учетной записи службы .
В этом руководстве используются области авторизации, начинающиеся с https://www.googleapis.com/auth/chat.app.*
, которые доступны как часть предварительной версии для разработчиков. Ваше приложение Chat должно получить единоразовое одобрение администратора .
В этом руководстве показано, как создать приложение Google Chat, которое реагирует на инциденты в режиме реального времени. Реагируя на инцидент, приложение создает и заполняет пространство чата, облегчает разрешение инцидента с помощью сообщений, косых команд и диалогов, а также использует искусственный интеллект для обобщения ответа на инцидент в документе Google Docs.
Инцидент – это событие, для разрешения которого требуется немедленное внимание группы людей. Примеры инцидентов включают в себя:
- На платформе управления взаимоотношениями с клиентами (CRM) создается срочный случай, требующий совместной работы группы обслуживания над решением.
- Система отключается, оповещая группу инженеров по надежности объекта (SRE), чтобы они могли вместе работать над ее возобновлением.
- Происходит землетрясение высокой магнитуды, и спасателям необходимо координировать свои действия.
В рамках данного руководства оповещение об инциденте запускается, когда кто-то сообщает об инциденте нажатием кнопки на веб-странице. Веб-страница имитирует инцидент, предлагая пользователям ввести основную информацию об инциденте: название, описание и адреса электронной почты ответивших.
Посмотрите приложение Chat для управления инцидентами в действии:
Рисунок 1. Веб-сайт, на котором можно сообщить об инциденте. Рисунок 2. Уведомление о создании пространства чата по инциденту. Рисунок 3. Реагирование на инцидент. Пространство чата. Рисунок 4. Разрешение инцидента с помощью команды косой черты. Рисунок 5. Диалоговое окно разрешения инцидента. Рисунок 6. Документ Google Docs по разрешению инцидентов, доступный в пространстве. Рисунок 7. Документ Google Docs со сводкой по разрешению инцидентов с использованием ИИ.
Предварительные условия
Если вам необходимо включить какие-либо из этих предварительных условий для вашей организации, попросите администратора Google Workspace включить их:
- Аккаунт Google Workspace для бизнеса или предприятия с доступом к Google Chat .
- Чтобы включить каталог (обмен контактами) для 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-запросов к Chat API с использованием службы расширенного чата Apps Script приложение Google Chat для ответа на инцидент создает пространство чата для инцидентов, заполняет его членами команды и отправляет сообщение в это пространство.
Члены команды обсуждают инцидент в чате.
Член команды вызывает косую черту, чтобы сообщить о разрешении инцидента.
HTTP-вызов API Chat с использованием расширенной службы Chat Apps Script выводит список всех сообщений пространства Chat.
Vertex AI получает перечисленные сообщения и генерирует сводку.
Служба Apps Script
DocumentApp
создает документ Docs и добавляет в него резюме Vertex AI.Приложение Google Chat для ответа на инцидент вызывает Chat API, чтобы отправить сообщение со ссылкой на сводный документ Документов.
Подготовьте окружающую среду
В этом разделе показано, как создать и настроить проект Google Cloud для приложения Chat.
Создайте проект Google Cloud
Консоль Google Cloud
- В консоли Google Cloud выберите > IAM и администрирование > Создать проект .
- В поле «Имя проекта» введите описательное имя вашего проекта.
Необязательно: Чтобы изменить идентификатор проекта , нажмите «Изменить» . Идентификатор проекта нельзя изменить после его создания, поэтому выберите идентификатор, который соответствует вашим потребностям на протяжении всего срока действия проекта.
- В поле «Местоположение» нажмите «Обзор» , чтобы отобразить возможные местоположения для вашего проекта. Затем нажмите «Выбрать» .
- Нажмите Создать . Консоль Google Cloud перейдет на страницу панели инструментов, и ваш проект будет создан в течение нескольких минут.
интерфейс командной строки gcloud
В одной из следующих сред разработки получите доступ к Google Cloud CLI ( gcloud
):
- Cloud Shell : чтобы использовать онлайн-терминал с уже настроенным интерфейсом командной строки gcloud, активируйте Cloud Shell.
Активировать Cloud Shell - Локальная оболочка : чтобы использовать локальную среду разработки, установите и инициализируйте интерфейс командной строки gcloud.
Чтобы создать облачный проект, используйте командуgcloud projects create
: Замените PROJECT_ID , установив идентификатор для проекта, который вы хотите создать.gcloud projects create PROJECT_ID
Включить биллинг для облачного проекта
Google Cloud Console
- В консоли Cloud Google отправляйтесь на биллинг . Нажмите «Меню > «Биллинг» > «Мои проекты» .
- В избранной организации выберите организацию, связанную с вашим Google Cloud Project.
- В строке проекта откройте меню Actions ( ), нажмите «Изменить Биллинг» и выберите учетную запись Cloud Billing.
- Нажмите «Установить учетную запись» .
Gcloud Cli
- Чтобы перечислить доступные счеты счетов, запустите:
gcloud billing accounts list
- Свяжите биллинговую учетную запись с помощью Google Cloud Project:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
Замените следующее:
-
PROJECT_ID
- это идентификатор проекта для облачного проекта, для которого вы хотите включить выставление счетов. -
BILLING_ACCOUNT_ID
- это идентификатор биллинговой учетной записи для ссылки с Google Cloud Project.
-
Включить API
Google Cloud Console
В Cloud Console Google включите API Google Chat, API Google Docs, Admin SDK API, Google Workspace SDK и API Vertex AI.
Убедитесь, что вы включите API в правильном облачном проекте, затем нажмите Далее .
Убедитесь, что вы включите правильные API, затем нажмите « Включить» .
Gcloud Cli
При необходимости установите текущий облачный проект на тот, который вы создали с помощью команды
gcloud config set project
:gcloud config set project PROJECT_ID
Замените PROJECT_ID на идентификатор проекта созданного вами облачного проекта.
Включите API Google Chat API, Google Docs API, Admin SDK API, Google Workspace Marketplace SDK и API Vertex API с
gcloud services enable
:gcloud services enable chat.googleapis.com docs.googleapis.com admin.googleapis.com aiplatform.googleapis.com appsmarket-component.googleapis.com
Настройка аутентификации и авторизации
Приложение Chat обращается к Google Chat API, используя учетные данные приложения Chat. Приложение получает доступ к API API Admin SDK и Google DOCS с учетными данными пользователя.
Настройка аутентификации и авторизации пользователя
Аутентификация и авторизация позволяют ресурсам доступа к приложению в чате в Google Workspace и Google Cloud обрабатывать ответ инцидента. В частности, аутентификация пользователя используется для вызова API Google Docs и ADM SDK API.
В этом уроке вы публикуете приложение внутри своего домена рабочей области, поэтому приемлемо использовать информацию заполнителя. Перед публикацией приложения замените информацию заполнителя реальной информацией на экране согласия.
В консоли Cloud Google перейдите в > > Брендинг .
менюЕсли вы уже настроили, вы можете настроить следующие настройки экрана согласия OAuth в брендинге , аудитории и доступе к данным . Если вы видите сообщение, в котором говорится Еще не настроен , нажмите «Начни» :
- В разделе «Информация о приложении» , в названии приложения , тип
Incident Management
. - В электронной почте пользователя выберите свой адрес электронной почты или подходящую группу Google.
- Нажмите Далее .
- Под аудиторией выберите внутренний . Если вы не можете выбрать Internal , выберите внешний .
- Нажмите Далее .
- В соответствии с контактной информацией введите адрес электронной почты , где вы можете быть уведомлены о любых изменениях в вашем проекте.
- Нажмите Далее .
- В соответствии с финишем просмотрите политику пользовательских данных Google API Services , и если вы согласны, выберите «Я согласен с службами Google API: Политика пользовательских данных» .
- Нажмите «Продолжить» .
- Нажмите «Создать» .
- Если вы выбрали внешний для типа пользователя, добавьте тестовые пользователи:
- Нажмите на аудиторию .
- Под тестируемыми пользователями нажмите «Добавить пользователей» .
- Введите свой адрес электронной почты и любых других авторизованных тестовых пользователей, затем нажмите « Сохранить» .
- В разделе «Информация о приложении» , в названии приложения , тип
Нажмите Доступ к данным > Добавить или удалить области . Панель появляется со списком областей применения для каждого API, который вы включили в своем Google Cloud Project.
Под вручную добавить область , вставьте следующие прицелы:
-
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
-
Нажмите «Добавить в таблицу» .
Нажмите обновление .
После выбора областей, требуемых вашим приложением, на странице доступа к данным нажмите «Сохранить» .
Настройка аутентификации и авторизации приложения
Аутентификация приложения используется для вызова API Google Chat.
Создать учетную запись службы в Cloud Console Google
Чтобы создать учетную запись службы, выполните следующие действия:
Google Cloud Console
- В Cloud Console Google перейдите в > IAM & Admin > Сервисные учетные записи . меню
- Нажмите «Создать учетную запись службы» .
- Заполните сведения об учетной записи службы, затем нажмите «Создать и продолжить» .
- Необязательно: назначьте роли вашей учетной записи службы, чтобы предоставить доступ к ресурсам вашего Google Cloud Project. Для получения более подробной информации обратитесь к предоставлению, изменению и отмене доступа к ресурсам .
- Нажмите «Продолжить» .
- Необязательно: введите пользователей или группы, которые могут управлять и выполнять действия с этой учетной записью службы. Для получения более подробной информации обратитесь к управлению подражанием учетной записи услуги .
- Нажмите «Готово» . Запишите адрес электронной почты для учетной записи службы.
Gcloud Cli
- Создайте учетную запись службы:
gcloud iam service-accounts create
SERVICE_ACCOUNT_NAME
\ --display-name="SERVICE_ACCOUNT_NAME
" - Необязательно: назначьте роли вашей учетной записи службы, чтобы предоставить доступ к ресурсам вашего Google Cloud Project. Для получения более подробной информации обратитесь к предоставлению, изменению и отмене доступа к ресурсам .
Сервисная учетная запись появляется на странице учетной записи службы. Далее создайте закрытый ключ для учетной записи службы.
Создать личный ключ
Чтобы создать и загрузить закрытый ключ для учетной записи службы, выполните следующие действия:
- В Cloud Console Google перейдите в > IAM & Admin > Сервисные учетные записи . меню
- Выберите свою учетную запись службы.
- Щелкните клавиши > Добавить клавишу > Создать новый ключ .
- Выберите JSON , затем нажмите «Создать» .
Ваша новая пара публичных/частных ключей генерируется и загружается на вашу машину в качестве нового файла. Сохраните загруженный файл json в качестве
credentials.json
. Этот файл является единственной копией этого ключа. Для получения информации о том, как надежно хранить ключ, см. Управление ключами учетной записи службы . - Нажмите «Закрыть» .
Для получения дополнительной информации о учетных записях услуг см. В документации Google Cloud IAM.
Создайте клиент OAuth, совместимый с рынком Google Workspace.
Чтобы создать клиент OAuth, совместимый с клиентом Google Workspace, выполните следующие действия:
В Cloud Console Google перейдите в > IAM & Admin > Сервисные учетные записи .
менюНажмите на созданную вами учетную запись службы для приложения чата.
Нажмите расширенные настройки .
Нажмите «Создать Google Workspace», совместимый с клиентом OAuth .
Нажмите «Продолжить» .
Появляется подтверждающее сообщение, в котором говорится, что клиент OAuth, совместимый с рынком Google, был создан.
Создать и развернуть приложение чата
В следующем разделе вы копируете и обновляете целый проект сценария приложений, который содержит весь необходимый код приложения для вашего приложения чата, поэтому нет необходимости копировать и вставить каждый файл.
Некоторые функции включают в себя недостатки в конце их имен, такие как processSlashCommand_()
от ChatApp.gs
. Подчеркивание скрывает функцию на веб -странице инициализации инцидента, когда она открыта в браузере. Для получения дополнительной информации см. Частные функции .
Сценарий приложений поддерживает два типа файлов: .gs
сценарии и файлов .html
. Чтобы соблюдать эту поддержку, JavaScript приложения включен в теги <script />
, а его CSS включен в теги <style />
внутри HTML-файла.
При желании вы можете просмотреть весь проект на GitHub.
Вот обзор каждого файла:
-
Consts.gs
Определяет констант, на которые ссылаются другие файлы кода, включая ваш идентификатор облачного проекта, идентификатор местоположения Vertex AI, учетные данные приложения для учетной записи службы и идентификатор команды SLASH для закрытия инцидента.
Просмотреть
Consts.gs
код-
ChatApp.gs
Обработает события взаимодействия в чате, включая сообщения, клики карты, команды SLASH и диалоги. Отвечает на команду Slash
/closeIncident
, открыв диалог для сбора деталей разрешения инцидентов. Считает сообщения в пространстве, вызывая методspaces.messages.list
в API чата. Получает идентификаторы пользователей, используя службу каталогов Admin SDK в скрипте приложений.Просмотреть код
ChatApp.gs
-
ChatSpaceCreator.gs
Получает пользователи данных формы ввода на веб -странице инициализации инцидентов и использует ее для настройки пространства чата, создавая и заполняя его, а затем публикует сообщение об инциденте.
Просмотреть код
ChatSpaceCreator.gs
-
DocsApi.gs
Вызывает API Google Docs, чтобы создать документ Google Docs в Google Drive пользователя и записывает краткую информацию о информации об инциденте, созданную в
VertexAiApi.gs
, в документ.Посмотреть код
DocsApi.gs
-
VertexAiApi.gs
Суммирует разговор в пространстве чата, используя API 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
код
Найдите свой облачный номер проекта и идентификатор
В консоли Cloud Google перейдите в свой облачный проект.
Нажмите «Настройки и утилиты» > Настройки проекта .
Обратите внимание на значения в номере проекта и поля идентификатора проекта . Вы используете их в следующих разделах.
Создать проект сценария приложений
Чтобы создать проект сценария приложений и подключить его с вашим облачным проектом:
- Нажмите следующую кнопку, чтобы открыть проект « Ответить на инциденты» с помощью проекта сценария приложений Google Chat .
Откройте проект - Нажмите обзор .
- На странице обзора нажмите
Сделать копию .
Назовите свою копию проекта сценария приложений:
Нажмите на копию ответа на инциденты с Google Chat .
В названии проекта тип
Incident Management Chat app
.Нажмите «Переименовать» .
В вашей копии проекта сценария приложений перейдите в файл
Consts.gs
и заменитеYOUR_PROJECT_ID
на идентификатор вашего облачного проекта.
Установите облачный проект Project Script Project
- В проекте сценария приложений нажмите
Настройки проекта .
- В рамках проекта Google Cloud Platform (GCP) нажмите «Изменить проект» .
- В номере проекта GCP вставьте номер проекта вашего облачного проекта.
- Нажмите SET Project . Проект облачного проекта и скрипта приложений теперь подключены.
Создать развертывание сценария приложений
Теперь, когда весь код на месте, разверните проект сценария приложений. Вы используете идентификатор развертывания при настройке приложения чата в Google Cloud.
В скрипте приложений откройте проект приложения для ответа на инцидент.
Нажмите «Развертывание» > «Новое развертывание» .
Если дополнение и веб-приложение еще не выбрано, рядом с выберите «Тип » нажмите Типы развертывания
и выберите дополнение и веб-приложение .
В описании введите описание для этой версии, например
Complete version of incident management app
.В Exepute AS выберите пользователя, доступ к которому доступ к веб -приложению
В том, кто имеет доступ , выберите любого в вашей организации рабочей области , где «ваша организация рабочей области» является названием вашей организации Google Workspace.
Нажмите Deploy . Сценарий приложений сообщает об успешном развертывании и предоставляет идентификатор развертывания и URL -адрес веб -страницы инициализации инцидента.
Запишите URL -адрес веб -приложения для посещения позже, когда вы начнете инцидент. Скопируйте идентификатор развертывания . Вы используете этот идентификатор при настройке приложения чата в Google Cloud Console.
Нажмите «Готово» .
Настройте приложение чата в консоли Google Cloud Console
В этом разделе показано, как настроить API Google Chat на консоли Google Cloud с информацией о вашем приложении для чата, включая идентификатор только что созданного вы из проекта сценария приложений.
В консоли Cloud Google нажмите « « Больше продуктов» > «Google Workspace» > «Библиотека продуктов» > «Google Chat Api» > « Управление » .
>В названии приложения тип
Incident Management
.В URL Avatar введите
https://developers.google.com/chat/images/quickstart-app-avatar.png
.В описании тип
Responds to incidents.
.Нажмите на включение интерактивных функций, переключающихся в положение ON.
В рамках функциональности выберите «Получить сообщения» 1: 1 , присоединиться к пространствам и групповым разговорам .
В настройках подключения выберите скрипт приложений .
В идентификаторе развертывания вставьте идентификатор развертывания сценария приложений, который вы скопировали ранее из развертывания проекта приложений.
Зарегистрируйте команду Slash , которую использует полностью реализованное приложение Chat:
В разделе команды нажмите «Добавить команду» .
В идентификаторе команды тип
1
.В описании тип
Closes the incident being discussed in the space.
Под типом команды выберите команду Slash .
В названии команды Slash , Type
/closeIncident
.Выберите «Открывает диалог» .
Нажмите «Готово» . Команда SLASH зарегистрирована и перечислена.
В соответствии с видимостью выберите это приложение для чата доступным для конкретных людей и групп в вашем домене рабочей области и введите свой адрес электронной почты.
Под журналами выберите ошибки журнала в журнале .
Нажмите Сохранить . Появится сохраненная конфигурация, то есть приложение готово к тестированию.
Получить утверждение администратора
Чтобы получить утверждение администратора, вы должны настроить приложение Chat на рынке Google Workspace SDK.
Настройка приложения чата в Google Workspace Marketplace SDK
Чтобы настроить приложение чата в Google Workspace Marketplace SDK, выполните следующие действия:
В Cloud Console Google перейдите в > «API & Services» > «API & Services»> «API & Services» > «Google Workspace Marketplace SDK > Конфигурация приложения» .
«Меню »Заполните страницу конфигурации приложения. То, как вы настраиваете приложение для чата, зависит от того, кто является вашей предполагаемой аудиторией, и других факторов. Для заполнения страницы конфигурации приложения см. Настройте приложение на рынке Google Workspace SDK . Для целей настоящего Руководства введите следующую информацию:
- Под видимостью приложения выберите Private .
- В условиях установки выберите Admin Install .
- В разделе «Интеграции приложений» выберите приложение чата .
- В рамках OAuth Scopes введите следующие прицелы:
-
https://www.googleapis.com/auth/chat.app.spaces
-
https://www.googleapis.com/auth/chat.app.memberships
-
- В разделе «Информация о разработчике» введите имя своего разработчика , URL -адрес веб -сайта разработчика и электронную почту разработчика .
- Нажмите «Сохранить черновик» .
После настройки приложения обновите список магазинов:
- В Cloud Console Google перейдите в меню > API и услуги > включенные API & Services > Google Workspace Marketplace SDK > Список магазинов .
- В данных приложения выберите веб -разработку в качестве категории.
- В графических активах загружайте значки приложений в запрошенных форматах.
- На скриншотах загрузите скриншот приложения.
- В ссылках на поддержку заполняйте Указы URL -адреса обслуживания, URL -адрес конфиденциальности и URL -адрес поддержки.
- В распределении выберите регионы, где будет доступно это приложение.
- Нажмите Publish .
Получить одобрение администратора
Теперь, когда ваша учетная запись сервиса настроена на получение утверждения администратора, получите его от администратора Workspace Google, который может предоставить одобрение, выполнив шаги по настройке авторизации для приложений для чата .
Проверьте приложение чата
Чтобы проверить приложение по управлению инцидентами, инициируйте инцидент с веб -страницы и убедитесь, что приложение чата работает как ожидалось:
Перейдите в приложение для развертывания приложений приложения.
Когда скрипт приложений требует разрешения на доступ к вашим данным, нажмите «Разрешения на просмотр» , войдите в систему с соответствующей учетной записью Google в вашем домене Google Workspace и нажмите «Разрешить» .
Откроется веб -страница инициализации инцидента. Введите тестовую информацию:
- В названии инцидента введите
The First Incident
. - При желании, в респондентах инцидентов , введите адреса электронной почты ваших коллег -респондентов. Они должны быть пользователями с учетной записью чата Google в вашей организации Google Workspace или создание пространства. Не вводите свой собственный адрес электронной почты, потому что он включен автоматически.
- В начальном сообщении введите
Testing the incident management Chat app.
- В названии инцидента введите
Нажмите «Создать пространство чата» . Появляется
creating space
сообщение.После того, как пространство создано,
Space created!
Сообщение появляется. Нажмите Open Space , которое открывает пространство в чате на новой вкладке.При желании вы и другие респонденты инцидента можете отправлять сообщения в пространстве. Приложение суммирует эти сообщения с использованием вершины AI и делится ретроспективным документом.
Чтобы закончить ответ инцидента и начать процесс разрешения, в пространстве чата, тип
/closeIncident
. Откроется диалог управления инцидентами.В тесном инциденте введите описание для разрешения инцидентов, например,
Test complete
.Нажмите «Закрыть инцидент» .
В приложении по управлению инцидентами перечислены сообщения в пространстве, суммирует их с помощью AI Vertex, внедряет резюме в документ Google Docs и делится документом в пространстве.
Очистить
Чтобы избежать зачисления в вашу учетную запись Google Cloud за ресурсы, используемые в этом уроке, мы рекомендуем вам удалить облачный проект.
- В консоли Cloud Google перейдите на страницу управления ресурсами . Нажмите Меню > IAM & Admin > Управление ресурсами .
- В списке проектов выберите проект, который вы хотите удалить, а затем нажмите Delete .
- В диалоговом окне введите идентификатор проекта, а затем нажмите «Выключить», чтобы удалить проект.
Связанные темы
- Ответьте на вопросы, основанные на разговорах в чате с приложением для чата Gemini AI
- Управление проектами с Google Chat, Vertex AI и Firestore
- Ответьте на инциденты с Google Chat, Vertex AI и Script Apps (аутентификация пользователя)
- Приложение ответа на инцидент аутентифицируется с учетными данными пользователя для вызова API и вызовом Google Cloud Services, таких как API Chat и API Vertex AI. Это означает, что пользователь, инициализирующий инцидент, должен иметь доступ к этим услугам. Чтобы сделать приложение более надежным, рассмотрите возможность вызов API Vertex AI с учетной записью AS AS вместо учетных данных пользователя пользователя, вызывающего команду Slash
/closeIncident
. Для настройки учетной записи службы для API Vertex AI, см .
В этом учебном пособии используются области авторизации, которые начинаются с https://www.googleapis.com/auth/chat.app.*
, которые доступны как часть предварительного просмотра разработчика, ваше приложение для чата должно получить одноразовое одобрение администратора .
В этом уроке показано, как сделать приложение Google Chat, которое отвечает на инциденты в режиме реального времени. Отвечая на инцидент, приложение создает и заполняет пространство в чате, облегчает разрешение инцидентов с сообщениями, командами SLASH и диалогов, и использует ИИ, чтобы суммировать ответ инцидента в документе Google Docs.
Инцидент - это событие, которое требует немедленного внимания команды людей для решения. Примеры инцидентов включают:
- Чувствительный к во времени случай создается на платформе управления взаимоотношениями с клиентами (CRM), которая требует от команды службы сотрудничать в разрешении.
- Система остается в автономном режиме, предупреждая группу инженеров по надежности сайта (SRES), чтобы они могли работать вместе, чтобы вернуть ее в Интернете.
- Высоко высокого землетрясения, и аварийные работники должны координировать свой ответ.
Для целей этого учебника предупреждение о инциденте начинается, когда кто -то сообщает об инциденте с нажатием кнопки с веб -страницы. Веб -страница имитирует инцидент, попросив пользователей ввести базовую информацию об инцидентах: заголовок, описание и адреса электронной почты респондентов.
Смотрите приложение чата управления инцидентами в действии:
Рисунок 1. На сайте, где кто -то может сообщить об инциденте. Рисунок 2. Уведомление о том, что инцидентное пространство чата создается. Рисунок 3. Пространство чата в чате инцидента. Рисунок 4. Разрешение инцидента с помощью команды Slash. Рисунок 5. Диалоговое окно разрешения инцидентов. Рисунок 6. Разрешение инцидентов документ Google Docs, разделенный в космосе. Рисунок 7. Документ Google Docs Resolution Retude Docs.
Предварительные условия
Если вам нужно какие -либо из этих предпосылок, включенных для вашей организации, попросите ваш администратор Workspace Google, чтобы включить их:
- Бизнес или корпоративная учетная запись Google Workspace с доступом к Google Chat .
- Чтобы включить каталог (обмен контактами) для Google Workspace. Приложение инцидента использует каталог для поиска контактной информации респондентов, например, имя и адрес электронной почты. Респонденты инцидентов должны быть пользователями с учетной записью Google Chat в вашей организации Google Workspace.
Цели
- Создайте приложение чата, которое отвечает на инциденты.
- Помогите пользователям реагировать на инциденты, выполняя следующие действия:
- Создание пространств реагирования на инцидент.
- Размещение сообщений, обобщающих инциденты и ответы.
- Поддержка сотрудничества с интерактивными функциями приложения чата.
- Суммируйте разговоры и резолюции с помощью вершины AI.
Архитектура
На следующей диаграмме показана архитектура Google Workspace и Google Cloud Resources, используемые в приложении Google Chat Google.
Архитектура показывает, как приложение Google Chat в Google обрабатывает инцидент и разрешение.
Пользователь начинает инцидент с внешнего веб -сайта, размещенного в скрипте приложений.
Веб -сайт отправляет асинхронный HTTP -запрос в приложение Google Chat, также размещенное в скрипте приложений.
Ответ инцидента Google Chat Приложение обрабатывает запрос:
Сервис SDK Script Script Apps получает информацию о членах команды, такую как идентификатор пользователя и адрес электронной почты.
Благодаря набору HTTP -запросов на API в чате с использованием Apps Script Script Advanced Chat Service, приложение Google Chat в Google создает пространство чата инцидента, заполняет его членами команды и отправляет сообщение в пространство.
Члены команды обсуждают инцидент в пространстве чата.
Член команды вызывает команду SLASH, чтобы сигнализировать о разрешении на инцидент.
Вызов HTTP для чата с использованием Apps Script Script Script Advanced Chat Service перечисляет все сообщения в чате.
Vertex AI получает перечисленные сообщения и генерирует резюме.
Служба сценария приложений
DocumentApp
создает документ DOCS и добавляет резюме Vertex AI в документ.Ответ инцидента в приложении Google Chat вызывает API Chat, чтобы отправить сообщение об обмене ссылкой в документ «Сводные документы».
Подготовьте окружающую среду
В этом разделе показано, как создать и настроить Google Cloud Project для приложения Chat.
Создать Google Cloud Project
Google Cloud Console
- В Cloud Console Google перейдите в > IAM & Admin > Создайте проект . меню
- В поле «Имя проекта» введите описательное имя для вашего проекта.
Необязательно: Чтобы отредактировать идентификатор проекта , нажмите «Редактировать» . Идентификатор проекта не может быть изменен после создания проекта, поэтому выберите идентификатор, который отвечает вашим потребностям для жизни проекта.
- В поле «Расположение» нажмите «Обзор» , чтобы отобразить потенциальные местоположения для вашего проекта. Затем нажмите «Выбрать» .
- Нажмите «Создать» . Cloud Console Google перемещается на страницу приборной панели, и ваш проект создается в течение нескольких минут.
Gcloud Cli
В одной из следующих средств разработки обратитесь к Google Cloud CLI ( gcloud
):
- Cloud Shell : Чтобы использовать онлайн -терминал с уже настроенным GCLOUD CLI, активируйте облачную оболочку.
Активируйте облачную оболочку - Локальная оболочка : чтобы использовать местную среду разработки, установить и инициализировать Gcloud CLI.
Чтобы создать облачный проект, используйте командуgcloud projects create
: Замените PROJECT_ID , установив идентификатор для проекта, который вы хотите создать.gcloud projects create PROJECT_ID
Включить биллинг для облачного проекта
Google Cloud Console
- В консоли Cloud Google отправляйтесь на биллинг . Нажмите «Меню > «Биллинг» > «Мои проекты» .
- В избранной организации выберите организацию, связанную с вашим Google Cloud Project.
- В строке проекта откройте меню Actions ( ), нажмите «Изменить Биллинг» и выберите учетную запись Cloud Billing.
- Нажмите «Установить учетную запись» .
Gcloud Cli
- Чтобы перечислить доступные счеты счетов, запустите:
gcloud billing accounts list
- Свяжите биллинговую учетную запись с помощью Google Cloud Project:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
Замените следующее:
-
PROJECT_ID
- это идентификатор проекта для облачного проекта, для которого вы хотите включить выставление счетов. -
BILLING_ACCOUNT_ID
- это идентификатор биллинговой учетной записи для ссылки с Google Cloud Project.
-
Включить API
Google Cloud Console
В Cloud Console Google включите API Google Chat, API Google Docs, Admin SDK API, Google Workspace SDK и API Vertex AI.
Убедитесь, что вы включите API в правильном облачном проекте, затем нажмите Далее .
Убедитесь, что вы включите правильные API, затем нажмите « Включить» .
Gcloud Cli
При необходимости установите текущий облачный проект на тот, который вы создали с помощью команды
gcloud config set project
:gcloud config set project PROJECT_ID
Замените PROJECT_ID на идентификатор проекта созданного вами облачного проекта.
Включите API Google Chat API, Google Docs API, Admin SDK API, Google Workspace Marketplace SDK и API Vertex API с
gcloud services enable
:gcloud services enable chat.googleapis.com docs.googleapis.com admin.googleapis.com aiplatform.googleapis.com appsmarket-component.googleapis.com
Настройка аутентификации и авторизации
Приложение Chat обращается к Google Chat API, используя учетные данные приложения Chat. Приложение получает доступ к API API Admin SDK и Google DOCS с учетными данными пользователя.
Настройка аутентификации и авторизации пользователя
Аутентификация и авторизация позволяют ресурсам доступа к приложению в чате в Google Workspace и Google Cloud обрабатывать ответ инцидента. В частности, аутентификация пользователя используется для вызова API Google Docs и ADM SDK API.
В этом уроке вы публикуете приложение внутри своего домена рабочей области, поэтому приемлемо использовать информацию заполнителя. Перед публикацией приложения замените информацию заполнителя реальной информацией на экране согласия.
В консоли Cloud Google перейдите в > > Брендинг .
менюЕсли вы уже настроили, вы можете настроить следующие настройки экрана согласия OAuth в брендинге , аудитории и доступе к данным . Если вы видите сообщение, в котором говорится Еще не настроен , нажмите «Начни» :
- В разделе «Информация о приложении» , в названии приложения , тип
Incident Management
. - В электронной почте пользователя выберите свой адрес электронной почты или подходящую группу Google.
- Нажмите Далее .
- Под аудиторией выберите внутренний . Если вы не можете выбрать Internal , выберите внешний .
- Нажмите Далее .
- В соответствии с контактной информацией введите адрес электронной почты , где вы можете быть уведомлены о любых изменениях в вашем проекте.
- Нажмите Далее .
- В соответствии с финишем просмотрите политику пользовательских данных Google API Services , и если вы согласны, выберите «Я согласен с службами Google API: Политика пользовательских данных» .
- Нажмите «Продолжить» .
- Нажмите «Создать» .
- Если вы выбрали внешний для типа пользователя, добавьте тестовые пользователи:
- Нажмите на аудиторию .
- Под тестируемыми пользователями нажмите «Добавить пользователей» .
- Введите свой адрес электронной почты и любых других авторизованных тестовых пользователей, затем нажмите « Сохранить» .
- В разделе «Информация о приложении» , в названии приложения , тип
Нажмите Доступ к данным > Добавить или удалить области . Панель появляется со списком областей применения для каждого API, который вы включили в своем Google Cloud Project.
Под вручную добавить область , вставьте следующие прицелы:
-
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
-
Нажмите «Добавить в таблицу» .
Нажмите обновление .
После выбора областей, требуемых вашим приложением, на странице доступа к данным нажмите «Сохранить» .
Настройка аутентификации и авторизации приложения
Аутентификация приложения используется для вызова API Google Chat.
Создать учетную запись службы в Cloud Console Google
Чтобы создать учетную запись службы, выполните следующие действия:
Google Cloud Console
- В Cloud Console Google перейдите в > IAM & Admin > Сервисные учетные записи . меню
- Нажмите «Создать учетную запись службы» .
- Заполните сведения об учетной записи службы, затем нажмите «Создать и продолжить» .
- Необязательно: назначьте роли вашей учетной записи службы, чтобы предоставить доступ к ресурсам вашего Google Cloud Project. Для получения более подробной информации обратитесь к предоставлению, изменению и отмене доступа к ресурсам .
- Нажмите «Продолжить» .
- Необязательно: введите пользователей или группы, которые могут управлять и выполнять действия с этой учетной записью службы. Для получения более подробной информации обратитесь к управлению подражанием учетной записи услуги .
- Нажмите «Готово» . Запишите адрес электронной почты для учетной записи службы.
Gcloud Cli
- Создайте учетную запись службы:
gcloud iam service-accounts create
SERVICE_ACCOUNT_NAME
\ --display-name="SERVICE_ACCOUNT_NAME
" - Необязательно: назначьте роли вашей учетной записи службы, чтобы предоставить доступ к ресурсам вашего Google Cloud Project. Для получения более подробной информации обратитесь к предоставлению, изменению и отмене доступа к ресурсам .
Сервисная учетная запись появляется на странице учетной записи службы. Далее создайте закрытый ключ для учетной записи службы.
Создать личный ключ
Чтобы создать и загрузить закрытый ключ для учетной записи службы, выполните следующие действия:
- В Cloud Console Google перейдите в > IAM & Admin > Сервисные учетные записи . меню
- Выберите свою учетную запись службы.
- Щелкните клавиши > Добавить клавишу > Создать новый ключ .
- Выберите JSON , затем нажмите «Создать» .
Your new public/private key pair is generated and downloaded to your machine as a new file. Save the downloaded JSON file as
credentials.json
in your working directory. This file is the only copy of this key. For information about how to store your key securely, see Managing service account keys . - Click Close .
For more information about service accounts, see service accounts in the Google Cloud IAM documentation.
Create a Google Workspace Marketplace-compatible OAuth client
To create a Google Workspace Marketplace-compatible OAuth client, follow these steps:
In the Google Cloud console, go to Menu > IAM & Admin > Service Accounts .
Click the service account you created for your Chat app.
Click Advanced settings .
Click Create Google Workspace Marketplace-compatible OAuth client .
Click Continue .
A confirmation message appears that says a Google Workspace Marketplace-compatible OAuth client has been created.
Create and deploy the Chat app
In the following section, you copy and update an entire Apps Script project that contains all the required application code for your Chat app, so there's no need to copy and paste each file.
Some functions include underscores at the end of their names, like processSlashCommand_()
from ChatApp.gs
. The underscore hides the function from the incident initialization web page when it's open in a browser. For more information, see Private functions .
Apps Script supports two file types, .gs
scripts and .html
files. To abide by this support, the app's client-side JavaScript is included inside <script />
tags and its CSS is included inside <style />
tags inside an HTML file.
Optionally, you can view the entire project on GitHub.
Here's an overview of each file:
-
Consts.gs
Defines constants referenced by other code files, including your Cloud project ID, Vertex AI location ID, app credentials for the service account and the slash command ID for closing an incident.
View
Consts.gs
code-
ChatApp.gs
Handles Chat interaction events, including messages, card clicks, slash commands, and dialogs. Responds to the
/closeIncident
slash command by opening a dialog to gather incident resolution details. Reads messages in the space by calling thespaces.messages.list
method in the Chat API. Gets user IDs using the Admin SDK Directory service in Apps Script.View
ChatApp.gs
code-
ChatSpaceCreator.gs
Receives form data users enter on the incident initialization web page, and uses it to set up a Chat space by creating and populating it, and then posts a message about the incident.
View
ChatSpaceCreator.gs
code-
DocsApi.gs
Calls the Google Docs API to create a Google Docs document in a user's Google Drive and writes a summary of the incident information, created in
VertexAiApi.gs
, to the document.View
DocsApi.gs
code-
VertexAiApi.gs
Summarizes the conversation in the Chat space using Vertex AI API. This summary is posted in a specially-created document in
DocsAPI.gs
.View
VertexAiApi.gs
code-
WebController.gs
Serves the incident initialization website.
View
WebController.gs
code-
Index.html
The HTML comprising the incident initialization website.
View
Index.html
code-
JavaScript.html
Handles form behavior including submits, errors, and clears, for the incident initialization website. It's included into
Index.html
by the custominclude
function inWebController.gs
.View
JavaScript.html
code-
Stylesheet.html
The CSS for the incident initialization website. It's included into
Index.html
by the custominclude
function inWebController.gs
.View
Stylesheet.html
code
Find your Cloud project number and ID
In the Google Cloud console, go to your Cloud project.
Click Settings and Utilities > Project settings .
Note the values in the Project number and Project ID fields. You use them in the following sections.
Create the Apps Script project
To create an Apps Script project and connect it with your Cloud project:
- Click the following button to open the Respond to incidents with Google Chat Apps Script project.
Open the project - Click Overview .
- On the overview page, click
Make a copy .
Name your copy of the Apps Script project:
Click Copy of Respond to incidents with Google Chat .
In Project title , type
Incident Management Chat app
.Click Rename .
In your copy of the Apps Script project, go to the
Consts.gs
file and replaceYOUR_PROJECT_ID
with the ID of your Cloud project.
Set the Apps Script project's Cloud project
- In your Apps Script project, click
Project Settings .
- Under Google Cloud Platform (GCP) Project , click Change project .
- In GCP project number , paste the project number of your Cloud project.
- Click Set project . The Cloud project and Apps Script project are now connected.
Create an Apps Script deployment
Now that all the code is in place, deploy the Apps Script project. You use the deployment ID when you configure the Chat app in the Google Cloud.
In Apps Script, open the incident response app's project.
Click Deploy > New deployment .
If Add-on and Web app aren't already selected, next to Select type , click deployment types
and select Add-on and Web app .
In Description , enter a description for this version, like
Complete version of incident management app
.In Execute as , select User accessing the web app
In Who has access , select Anyone within your Workspace organization , where "your Workspace organization" is the name of your Google Workspace organization.
Click Deploy . Apps Script reports successful deployment and provides a deployment ID and a URL for the incident initialization web page.
Make note of the Web app URL to visit later when you start an incident. Copy the Deployment ID . You use this ID while configuring the Chat app in Google Cloud console.
Click Done .
Configure the Chat app in the Google Cloud console
This section shows how to configure the Google Chat API in the Google Cloud console with information about your Chat app, including the ID of the deployment that you just created from your Apps Script project.
In the Google Cloud console, click Menu > More products > Google Workspace > Product Library > Google Chat API > Manage > Configuration .
In App name , type
Incident Management
.In Avatar URL , type
https://developers.google.com/chat/images/quickstart-app-avatar.png
.In Description , type
Responds to incidents.
.Click the Enable Interactive features toggle to the on position.
Under Functionality , select Receive 1:1 messages , Join spaces and group conversations .
Under Connection settings , select Apps Script .
In Deployment ID , paste the Apps Script Deployment ID that you copied earlier from the Apps Script project deployment.
Register a slash command that the fully implemented Chat app uses:
Under Commands , click Add a command .
In Command ID , type
1
.In Description , type
Closes the incident being discussed in the space.
Under Command type , select Slash command .
In Slash command name , type
/closeIncident
.Select Opens a dialog .
Click Done . The slash command is registered and listed.
Under Visibility , select Make this Chat app available to specific people and groups in Your Workspace Domain and enter your email address.
Under Logs , select Log errors to Logging .
Click Save . A configuration saved message appears, meaning the app is ready to test.
Receive administrator approval
To receive administrator approval, you must configure the Chat app in the Google Workspace Marketplace SDK.
Configure the Chat app in the Google Workspace Marketplace SDK
To configure the Chat app in the Google Workspace Marketplace SDK, follow these steps:
In the Google Cloud console, go to go to Menu > APIs & Services > Enabled APIs & services > Google Workspace Marketplace SDK > App Configuration .
Complete the App Configuration page. How you configure your Chat app depends on who your intended audience is and other factors. For help completing the app configuration page, see Configure your app in the Google Workspace Marketplace SDK . For the purposes of this guide, enter the following information:
- Under App visibility , select Private .
- Under Installation settings , select Admin install .
- Under App integrations , select Chat app .
- Under OAuth scopes , enter the following scopes:
-
https://www.googleapis.com/auth/chat.app.spaces
-
https://www.googleapis.com/auth/chat.app.memberships
-
- Under Developer information , enter your Developer name , Developer website URL , and Developer email .
- Click Save draft .
After configuring the app, update the store listing:
- In the Google Cloud console, go to go to Menu > APIs & Services > Enabled APIs & services > Google Workspace Marketplace SDK > Store Listing .
- In App details , select Web Development as a Category.
- In Graphic Assets , upload applications icons in requested formats.
- In Screenshots , upload a screenshot of the application.
- In Support Links , populate a Terms of Service URL, Privacy URL and Support URL.
- In Distribution , Select the regions where this application will be available.
- Click Publish .
Get administrator approval
Now that your service account is configured to receive administrator approval, obtain it from a Google Workspace administrator who can grant approval by following the steps in Set up authorization for Chat apps .
Test the Chat app
To test the incident management Chat app, initiate an incident from the web page and verify that the Chat app works as expected:
Go to the Apps Script deployment web app URL.
When Apps Script asks permission to access your data, click Review permissions , sign in with an appropriate Google Account in your Google Workspace domain, and click Allow .
The incident initialization web page opens. Enter test information:
- In Incident title , type
The First Incident
. - Optionally, in Incident responders , enter the email addresses of your fellow incident responders. They must be users with a Google Chat account in your Google Workspace organization or space creation fails. Don't enter your own email address because it's included automatically.
- In Initial message , type
Testing the incident management Chat app.
- In Incident title , type
Click Create Chat Space . A
creating space
message appears.After the space is created, a
Space created!
message appears. Click Open space , which opens the space in Chat in a new tab.Optionally, you and the other incident responders can send messages in the space. The app summarizes these messages using Vertex AI and shares a retrospective document.
To end the incident response and begin the resolution process, in the Chat space, type
/closeIncident
. An incident management dialog opens.In Close incident , enter a description for the incident resolution, like
Test complete
.Click Close Incident .
The Incident Management app lists the messages in the space, summarizes them with Vertex AI, pastes the summary in a Google Docs document, and shares the document in the space.
Очистить
To avoid incurring charges to your Google Cloud account for the resources used in this tutorial, we recommend that you delete the Cloud project.
- In the Google Cloud console, go to the Manage resources page. Click Menu > IAM & Admin > Manage Resources .
- In the project list, select the project you want to delete and then click Delete .
- In the dialog, type the project ID and then click Shut down to delete the project.
Related topics
- Answer questions based on Chat conversations with a Gemini AI Chat app
- Manage projects with Google Chat, Vertex AI, and Firestore
- Respond to incidents with Google Chat, Vertex AI, and Apps Script (User Authentication)
- The incident response app authenticates with user credentials to call APIs and invoke Google Cloud services, like the Chat API and Vertex AI API. This means that the user initializing an incident must have access to these services. To make the app more robust, consider calling the Vertex AI API with as service account instead of the user credentials of the user invoking the
/closeIncident
slash command. For help configuring a service account for the Vertex AI API, see Use a custom service account .
This tutorial uses authorization scopes that begins with https://www.googleapis.com/auth/chat.app.*
, which are available as part of a Developer Preview, your Chat app must get a one-time administrator approval .
This tutorial shows how to make a Google Chat app that responds to incidents in real time. When responding to an incident, the app creates and populates a Chat space, facilitates incident resolution with messages, slash commands, and dialogs, and uses AI to summarize the incident response in a Google Docs document.
An incident is an event that requires the immediate attention of a team of people to resolve. Examples of incidents include:
- A time-sensitive case is created in a Customer Relationship Management (CRM) platform, requiring a service team to collaborate on a resolution.
- A system goes offline, alerting a group of site reliability engineers (SREs) so that they can work together to bring it back online.
- A high magnitude earthquake occurs, and emergency workers need to coordinate their response.
For the purposes of this tutorial, the incident alert starts when someone reports the incident with a button click from a web page. The web page simulates an incident by asking users to enter basic incident information: title, description, and email addresses of the responders.
See the incident management Chat app in action:
Figure 1. The website where someone can report an incident. Figure 2. Notification that the incident Chat space is created. Figure 3. The incident response Chat space. Figure 4. Resolving the incident with a slash command. Figure 5. Incident resolution dialog. Figure 6. Incident resolution Google Docs document shared in space. Figure 7. The AI summary incident resolution Google Docs document.
Предварительные условия
If you need any of these prerequisites turned on for your organization, ask your Google Workspace administrator to turn them on:
- A Business or Enterprise Google Workspace account with access to Google Chat .
- To have Directory (contact sharing) turned on for Google Workspace. The incident app uses the directory to look up the incident responders' contact info, like name and email address. Incident responders must be users with a Google Chat account in your Google Workspace organization.
Цели
- Build a Chat app that responds to incidents.
- Help users respond to incidents by doing the following:
- Creating incident response spaces.
- Posting messages summarizing incidents and responses.
- Supporting collaboration with interactive Chat app features.
- Summarize conversations and resolutions with Vertex AI.
Архитектура
The following diagram shows the architecture of the Google Workspace and Google Cloud resources used by the incident response Google Chat app.
The architecture shows how the incident response Google Chat app processes an incident and resolution.
A user starts an incident from an external website hosted on Apps Script.
The website sends an asynchronous HTTP request to the Google Chat app, also hosted on Apps Script.
The incident response Google Chat app processes the request:
The Apps Script Admin SDK service gets team member information, like user ID and email address.
With a set of HTTP requests to Chat API using the Apps Script Advanced Chat service, the incident response Google Chat app creates an incident Chat space, populates it with team members, and sends a message to the space.
Team members discuss the incident in the Chat space.
A team member invokes a slash command to signal a resolution to the incident.
An HTTP call to Chat API using the Apps Script Advanced Chat service lists all the Chat space's messages.
Vertex AI receives the listed messages and generates a summary.
The Apps Script
DocumentApp
service creates a Docs document and adds Vertex AI's summary to the document.The incident response Google Chat app calls Chat API to send a message sharing a link to the summary Docs document.
Prepare the environment
This section shows how to create and configure a Google Cloud project for the Chat app.
Create a Google Cloud project
Google Cloud console
- In the Google Cloud console, go to Menu > IAM & Admin > Create a Project .
- In the Project Name field, enter a descriptive name for your project.
Optional: To edit the Project ID , click Edit . The project ID can't be changed after the project is created, so choose an ID that meets your needs for the lifetime of the project.
- In the Location field, click Browse to display potential locations for your project. Then, click Select .
- Click Create . The Google Cloud console navigates to the Dashboard page and your project is created within a few minutes.
gcloud CLI
In one of the following development environments, access the Google Cloud CLI ( gcloud
):
- Cloud Shell : To use an online terminal with the gcloud CLI already set up, activate Cloud Shell.
Activate Cloud Shell - Local Shell : To use a local development environment, install and initialize the gcloud CLI.
To create a Cloud project, use thegcloud projects create
command: Replace PROJECT_ID by setting the ID for the project you want to create.gcloud projects create PROJECT_ID
Enable billing for the Cloud project
Google Cloud console
- In the Google Cloud console, go to Billing . Click Menu > Billing > My Projects .
- In Select an organization , choose the organization associated with your Google Cloud project.
- In the project row, open the Actions menu ( ), click Change billing , and choose the Cloud Billing account.
- Click Set account .
gcloud CLI
- To list available billing accounts, run:
gcloud billing accounts list
- Link a billing account with a Google Cloud project:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
Replace the following:
-
PROJECT_ID
is the Project ID for the Cloud project for which you want to enable billing. -
BILLING_ACCOUNT_ID
is the billing account ID to link with the Google Cloud project.
-
Enable the APIs
Google Cloud console
In the Google Cloud console, enable the Google Chat API, the Google Docs API, the Admin SDK API, the Google Workspace Marketplace SDK, and the Vertex AI API.
Confirm that you're enabling the APIs in the correct Cloud project, then click Next .
Confirm that you're enabling the correct APIs, then click Enable .
gcloud CLI
If necessary, set the current Cloud project to the one you created with the
gcloud config set project
command:gcloud config set project PROJECT_ID
Replace PROJECT_ID with the Project ID of the Cloud project you created.
Enable the Google Chat API, Google Docs API, Admin SDK API, Google Workspace Marketplace SDK, and Vertex AI API with the
gcloud services enable
command:gcloud services enable chat.googleapis.com docs.googleapis.com admin.googleapis.com aiplatform.googleapis.com appsmarket-component.googleapis.com
Set up authentication and authorization
The Chat app accesses Google Chat API using the Chat app's credentials. The app accesses the Admin SDK API and Google Docs API with user credentials.
Set up user authentication and authorization
Authentication and authorization lets the Chat app access resources in Google Workspace and Google Cloud to process an incident response. specifically, user authentication is used to call Google Docs API and Admin SDK API.
In this tutorial, you publish the app internally to your Workspace domain, so it's acceptable to use placeholder information. Before publishing the app externally, replace placeholder information with real information in the consent screen.
In the Google Cloud console, go to Menu > > Branding .
If you have already configured the, you can configure the following OAuth Consent Screen settings in Branding , Audience , and Data Access . If you see a message that says not configured yet , click Get Started :
- Under App Information , in App name , type
Incident Management
. - In User support email , select your email address or an appropriate Google group.
- Нажмите Далее .
- Under Audience , select Internal . If you can't select Internal , select External .
- Нажмите Далее .
- Under Contact Information , enter an Email address where you can be notified about any changes to your project.
- Нажмите Далее .
- Under Finish , review the Google API Services User Data Policy and if you agree, select I agree to the Google API Services: User Data Policy .
- Click Continue .
- Click Create .
- If you selected External for user type, add test users:
- Click Audience .
- Under Test users , click Add users .
- Enter your email address and any other authorized test users, then click Save .
- Under App Information , in App name , type
Click Data Access > Add or Remove Scopes . A panel appears with a list of scopes for each API that you've enabled in your Google Cloud project.
Under Manually add scopes , paste the following scopes:
-
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
-
Click Add to Table .
Click Update .
After selecting the scopes required by your app, on the Data Access page, click Save .
Set up app authentication and authorization
App Authentication is used to call Google Chat API.
Create a service account in Google Cloud console
To create a service account, follow these steps:
Google Cloud console
- In the Google Cloud console, go to Menu > IAM & Admin > Service Accounts .
- Click Create service account .
- Fill in the service account details, then click Create and continue .
- Optional: Assign roles to your service account to grant access to your Google Cloud project's resources. For more details, refer to Granting, changing, and revoking access to resources .
- Click Continue .
- Optional: Enter users or groups that can manage and perform actions with this service account. For more details, refer to Managing service account impersonation .
- Click Done . Make a note of the email address for the service account.
gcloud CLI
- Create the service account:
gcloud iam service-accounts create
SERVICE_ACCOUNT_NAME
\ --display-name="SERVICE_ACCOUNT_NAME
" - Optional: Assign roles to your service account to grant access to your Google Cloud project's resources. For more details, refer to Granting, changing, and revoking access to resources .
The service account appears on the service account page. Next, create a private key for the service account.
Create a private key
To create and download a private key for the service account, follow these steps:
- In the Google Cloud console, go to Menu > IAM & Admin > Service Accounts .
- Select your service account.
- Click Keys > Add key > Create new key .
- Select JSON , then click Create .
Your new public/private key pair is generated and downloaded to your machine as a new file. Save the downloaded JSON file as
credentials.json
in your working directory. This file is the only copy of this key. For information about how to store your key securely, see Managing service account keys . - Click Close .
For more information about service accounts, see service accounts in the Google Cloud IAM documentation.
Create a Google Workspace Marketplace-compatible OAuth client
To create a Google Workspace Marketplace-compatible OAuth client, follow these steps:
In the Google Cloud console, go to Menu > IAM & Admin > Service Accounts .
Click the service account you created for your Chat app.
Click Advanced settings .
Click Create Google Workspace Marketplace-compatible OAuth client .
Click Continue .
A confirmation message appears that says a Google Workspace Marketplace-compatible OAuth client has been created.
Create and deploy the Chat app
In the following section, you copy and update an entire Apps Script project that contains all the required application code for your Chat app, so there's no need to copy and paste each file.
Some functions include underscores at the end of their names, like processSlashCommand_()
from ChatApp.gs
. The underscore hides the function from the incident initialization web page when it's open in a browser. For more information, see Private functions .
Apps Script supports two file types, .gs
scripts and .html
files. To abide by this support, the app's client-side JavaScript is included inside <script />
tags and its CSS is included inside <style />
tags inside an HTML file.
Optionally, you can view the entire project on GitHub.
Here's an overview of each file:
-
Consts.gs
Defines constants referenced by other code files, including your Cloud project ID, Vertex AI location ID, app credentials for the service account and the slash command ID for closing an incident.
View
Consts.gs
code-
ChatApp.gs
Handles Chat interaction events, including messages, card clicks, slash commands, and dialogs. Responds to the
/closeIncident
slash command by opening a dialog to gather incident resolution details. Reads messages in the space by calling thespaces.messages.list
method in the Chat API. Gets user IDs using the Admin SDK Directory service in Apps Script.View
ChatApp.gs
code-
ChatSpaceCreator.gs
Receives form data users enter on the incident initialization web page, and uses it to set up a Chat space by creating and populating it, and then posts a message about the incident.
View
ChatSpaceCreator.gs
code-
DocsApi.gs
Calls the Google Docs API to create a Google Docs document in a user's Google Drive and writes a summary of the incident information, created in
VertexAiApi.gs
, to the document.View
DocsApi.gs
code-
VertexAiApi.gs
Summarizes the conversation in the Chat space using Vertex AI API. This summary is posted in a specially-created document in
DocsAPI.gs
.View
VertexAiApi.gs
code-
WebController.gs
Serves the incident initialization website.
View
WebController.gs
code-
Index.html
The HTML comprising the incident initialization website.
View
Index.html
code-
JavaScript.html
Handles form behavior including submits, errors, and clears, for the incident initialization website. It's included into
Index.html
by the custominclude
function inWebController.gs
.View
JavaScript.html
code-
Stylesheet.html
The CSS for the incident initialization website. It's included into
Index.html
by the custominclude
function inWebController.gs
.View
Stylesheet.html
code
Find your Cloud project number and ID
In the Google Cloud console, go to your Cloud project.
Click Settings and Utilities > Project settings .
Note the values in the Project number and Project ID fields. You use them in the following sections.
Create the Apps Script project
To create an Apps Script project and connect it with your Cloud project:
- Click the following button to open the Respond to incidents with Google Chat Apps Script project.
Open the project - Click Overview .
- On the overview page, click
Make a copy .
Name your copy of the Apps Script project:
Click Copy of Respond to incidents with Google Chat .
In Project title , type
Incident Management Chat app
.Click Rename .
In your copy of the Apps Script project, go to the
Consts.gs
file and replaceYOUR_PROJECT_ID
with the ID of your Cloud project.
Set the Apps Script project's Cloud project
- In your Apps Script project, click
Project Settings .
- Under Google Cloud Platform (GCP) Project , click Change project .
- In GCP project number , paste the project number of your Cloud project.
- Click Set project . The Cloud project and Apps Script project are now connected.
Create an Apps Script deployment
Now that all the code is in place, deploy the Apps Script project. You use the deployment ID when you configure the Chat app in the Google Cloud.
In Apps Script, open the incident response app's project.
Click Deploy > New deployment .
If Add-on and Web app aren't already selected, next to Select type , click deployment types
and select Add-on and Web app .
In Description , enter a description for this version, like
Complete version of incident management app
.In Execute as , select User accessing the web app
In Who has access , select Anyone within your Workspace organization , where "your Workspace organization" is the name of your Google Workspace organization.
Click Deploy . Apps Script reports successful deployment and provides a deployment ID and a URL for the incident initialization web page.
Make note of the Web app URL to visit later when you start an incident. Copy the Deployment ID . You use this ID while configuring the Chat app in Google Cloud console.
Click Done .
Configure the Chat app in the Google Cloud console
This section shows how to configure the Google Chat API in the Google Cloud console with information about your Chat app, including the ID of the deployment that you just created from your Apps Script project.
In the Google Cloud console, click Menu > More products > Google Workspace > Product Library > Google Chat API > Manage > Configuration .
In App name , type
Incident Management
.In Avatar URL , type
https://developers.google.com/chat/images/quickstart-app-avatar.png
.In Description , type
Responds to incidents.
.Click the Enable Interactive features toggle to the on position.
Under Functionality , select Receive 1:1 messages , Join spaces and group conversations .
Under Connection settings , select Apps Script .
In Deployment ID , paste the Apps Script Deployment ID that you copied earlier from the Apps Script project deployment.
Register a slash command that the fully implemented Chat app uses:
Under Commands , click Add a command .
In Command ID , type
1
.In Description , type
Closes the incident being discussed in the space.
Under Command type , select Slash command .
In Slash command name , type
/closeIncident
.Select Opens a dialog .
Click Done . The slash command is registered and listed.
Under Visibility , select Make this Chat app available to specific people and groups in Your Workspace Domain and enter your email address.
Under Logs , select Log errors to Logging .
Click Save . A configuration saved message appears, meaning the app is ready to test.
Receive administrator approval
To receive administrator approval, you must configure the Chat app in the Google Workspace Marketplace SDK.
Configure the Chat app in the Google Workspace Marketplace SDK
To configure the Chat app in the Google Workspace Marketplace SDK, follow these steps:
In the Google Cloud console, go to go to Menu > APIs & Services > Enabled APIs & services > Google Workspace Marketplace SDK > App Configuration .
Complete the App Configuration page. How you configure your Chat app depends on who your intended audience is and other factors. For help completing the app configuration page, see Configure your app in the Google Workspace Marketplace SDK . For the purposes of this guide, enter the following information:
- Under App visibility , select Private .
- Under Installation settings , select Admin install .
- Under App integrations , select Chat app .
- Under OAuth scopes , enter the following scopes:
-
https://www.googleapis.com/auth/chat.app.spaces
-
https://www.googleapis.com/auth/chat.app.memberships
-
- Under Developer information , enter your Developer name , Developer website URL , and Developer email .
- Click Save draft .
After configuring the app, update the store listing:
- In the Google Cloud console, go to go to Menu > APIs & Services > Enabled APIs & services > Google Workspace Marketplace SDK > Store Listing .
- In App details , select Web Development as a Category.
- In Graphic Assets , upload applications icons in requested formats.
- In Screenshots , upload a screenshot of the application.
- In Support Links , populate a Terms of Service URL, Privacy URL and Support URL.
- In Distribution , Select the regions where this application will be available.
- Click Publish .
Get administrator approval
Now that your service account is configured to receive administrator approval, obtain it from a Google Workspace administrator who can grant approval by following the steps in Set up authorization for Chat apps .
Test the Chat app
To test the incident management Chat app, initiate an incident from the web page and verify that the Chat app works as expected:
Go to the Apps Script deployment web app URL.
When Apps Script asks permission to access your data, click Review permissions , sign in with an appropriate Google Account in your Google Workspace domain, and click Allow .
The incident initialization web page opens. Enter test information:
- In Incident title , type
The First Incident
. - Optionally, in Incident responders , enter the email addresses of your fellow incident responders. They must be users with a Google Chat account in your Google Workspace organization or space creation fails. Don't enter your own email address because it's included automatically.
- In Initial message , type
Testing the incident management Chat app.
- In Incident title , type
Click Create Chat Space . A
creating space
message appears.After the space is created, a
Space created!
message appears. Click Open space , which opens the space in Chat in a new tab.Optionally, you and the other incident responders can send messages in the space. The app summarizes these messages using Vertex AI and shares a retrospective document.
To end the incident response and begin the resolution process, in the Chat space, type
/closeIncident
. An incident management dialog opens.In Close incident , enter a description for the incident resolution, like
Test complete
.Click Close Incident .
The Incident Management app lists the messages in the space, summarizes them with Vertex AI, pastes the summary in a Google Docs document, and shares the document in the space.
Очистить
To avoid incurring charges to your Google Cloud account for the resources used in this tutorial, we recommend that you delete the Cloud project.
- In the Google Cloud console, go to the Manage resources page. Click Menu > IAM & Admin > Manage Resources .
- In the project list, select the project you want to delete and then click Delete .
- In the dialog, type the project ID and then click Shut down to delete the project.
Related topics
- Answer questions based on Chat conversations with a Gemini AI Chat app
- Manage projects with Google Chat, Vertex AI, and Firestore
- Respond to incidents with Google Chat, Vertex AI, and Apps Script (User Authentication)
- The incident response app authenticates with user credentials to call APIs and invoke Google Cloud services, like the Chat API and Vertex AI API. This means that the user initializing an incident must have access to these services. To make the app more robust, consider calling the Vertex AI API with as service account instead of the user credentials of the user invoking the
/closeIncident
slash command. For help configuring a service account for the Vertex AI API, see Use a custom service account .