Google Chat インターフェースを構築する

このページでは、Google Chat を拡張する Google Workspace アドオンのユーザー インターフェース(UI)を作成する方法の概要について説明します。

Google Chat では、ユーザーに対してアドオンは Google Chat アプリとして表示されます。詳細については、Google Chat の拡張機能の概要をご覧ください。

Chat 用アプリのインターフェースを構築するには、次のアドオン コンポーネントを使用します。

  • トリガー: Google Chat ユーザーが Chat アプリを呼び出す方法(スペースへの追加、メッセージの送信など)。
  • イベント オブジェクト: Chat アプリがトリガーまたは UI 操作から受け取るデータ。
  • アクション: メッセージの送信やカードベースのユーザー インターフェースの返却など、Chat 用アプリがインタラクションに応答する方法。
Chat アプリが、スペースへの追加トリガーからイベント オブジェクトを受信する
図 1: ユーザーが Chat アプリをスペースに追加すると、Added to space トリガーがトリガーされ、イベント オブジェクトが送信されます。メッセージで返信するには、Chat アプリがイベント オブジェクトを処理し、メッセージを作成するアクションを返します。

Chat アプリは、次のインターフェースでカードを作成して表示できます。

  • メッセージ: テキスト、静的カードまたはインタラクティブ カード、ボタンを含めることができます。
  • ダイアログ: 新しいウィンドウで開くカードで、通常はユーザーに情報を送信するよう求めるメッセージが表示されます。
  • リンク プレビュー: 外部サービスに関する情報をプレビューするカードです。

トリガー

このセクションでは、Google Workspace アドオンが Chat で使用するトリガーについて説明します。

トリガーは、ユーザーが Chat UI を使用して Chat アプリを呼び出す特定の方法です(@ メンションやアプリコマンドなど)。

次の表に、Chat トリガー、説明、Chat アプリの一般的な応答方法を示します。

トリガー 説明 一般的な回答
スペースに追加

ユーザーが Chat アプリをスペースに追加するか、Google Workspace 管理者が組織内のユーザー向けのダイレクト メッセージ スペースに Chat アプリをインストールします。管理者がインストールする Chat アプリについては、Google Workspace 管理者向けヘルプドキュメントのドメイン内に Marketplace アプリをインストールするをご覧ください。

Chat アプリは、その機能とスペース内のユーザーがどのように操作できるかについて説明するオンボーディング メッセージを送信します。
メッセージ

ユーザーが次のいずれかの方法で、メッセージ内の Chat アプリを操作します。

  • Chat アプリでダイレクト メッセージ(DM)スペースにメッセージを送信します。
  • @は、任意の種類のスペースで Chat アプリの名前リンクを追加します。
  • リンク プレビューの URL パターンに一致するリンクを含むメッセージを送信します。
  • selectionInput ウィジェットの複数選択メニューにテキストを入力します。
Chat アプリは、メッセージの内容に基づいて応答します。たとえば、Chat アプリは、スラッシュ コマンド /about に、Chat アプリが実行できるタスクを説明するメッセージを返します。
スペースから削除

ユーザーがスペースから Chat アプリを削除した場合、または Google Workspace 管理者が組織内のユーザーの Chat アプリをアンインストールした場合。

管理者がインストールした Chat 用アプリは、ユーザーが削除することはできません。ユーザーが Chat アプリを以前にインストールしていた場合、Google Workspace 管理者がアンインストールを試みても、Chat アプリはインストールされたままになります。

Chat アプリは、スペース用に構成された受信通知(Webhook の削除など)を削除し、内部ストレージを消去します。チャットアプリはスペースのメンバーではなくなったため、このトリガーにメッセージで返信することはできません。
アプリ コマンド

ユーザーが Chat アプリのコマンドを使用します。

チャット アプリがコマンドに応答します。(例: メッセージで返信する、ダイアログを開く)。

他の Google Workspace アドオンとは異なり、これらのトリガーのコールバック関数は Google Chat API を使用して構成する必要があります。ガイダンスについては、Google Chat アプリを構成するをご覧ください。

トリガーに応答するには、次のガイドをご覧ください。

イベント オブジェクト

Chat アプリは、Chat トリガーがトリガーされたとき、または Chat ユーザーが Chat アプリの UI を操作したとき(ボタンのクリックなど)にイベント オブジェクトを受け取ります。イベント オブジェクトには、Chat アプリが UI への応答や更新に使用できるインタラクションに関するデータが含まれています。

イベント オブジェクトの処理については、次のガイドをご覧ください。

Chat やその他の Google Workspace アプリケーション内のアドオン イベント オブジェクトについては、イベント オブジェクトをご覧ください。

チャットの操作

このセクションでは、Chat アプリでアドオン アクションを使用してユーザー操作に応答する方法について説明します。

アドオン アクションで応答するには、Chat アプリが 30 秒以内に応答し、インタラクションが発生したスペースにレスポンスを投稿する必要があります。それ以外の場合、Chat アプリは認証を設定し、Google Chat API を呼び出して応答する必要があります。

チャットアプリは、さまざまな方法でインタラクションを処理して応答できます。多くの場合、Chat アプリはメッセージで返信します。チャットアプリは、データソースから情報を検索したり、イベント オブジェクトの情報を記録したりすることもできます。この処理動作は、基本的に Google Chat アプリを定義するものです。

ユーザー操作に応答するには、Chat アプリは対応するイベント オブジェクトを処理し、次のいずれかの JSON オブジェクトを返す必要があります。

チャットアプリのレスポンス 返品に必要な対応
メッセージを送信または更新する DataActions
ダイアログを開く、更新する、閉じる。 RenderActions
カードまたはダイアログから情報を収集するには、ユーザーがマルチ選択メニューに入力した内容に基づいて選択項目を提案します。 RenderActions
Chat ユーザーがスペースに送信したメッセージ内のリンクをプレビューできます。 DataActions

Google Chat API を使用して返信する

Chat アプリでは、アドオン アクションを返す代わりに、Google Chat API を使用してインタラクションに応答する必要がある場合があります。たとえば、Chat アプリは、次のいずれかを行うために Google Chat API を呼び出す必要があります。

  • 30 秒後にインタラクションに応答します。
  • 操作が行われたスペースの外でタスクを実行する。
  • アドオン アクションとして利用できないタスクを Chat で実行します。たとえば、ユーザーまたは Chat アプリがメンバーであるスペースを一覧表示したり、スペースにユーザーを追加したりできます。
  • Chat ユーザーに代わってタスクを実行します(ユーザー認証が必要です)。

Chat API の認証と呼び出しについては、Chat API の概要をご覧ください。