Google Chat アプリを作成する

Google Chat アプリは、Google Apps Script、独自の技術スタック、AppSheet を使用して構築できます。

基本的な Chat アプリを作成するには、次のクイックスタートをご覧ください。

インタラクティブな Google Chat アプリを作成する

ほとんどの Google Chat アプリでは、ユーザーが直接メッセージを送信したり、アプリを操作したりできます。 インタラクティブな Google Chat アプリを使用すると、次のことが可能になります。

  • スラッシュ コマンドにテキスト メッセージまたはカード メッセージで応答する。
  • ダイアログを開いて、ユーザーがフォームデータの入力などの複数のステップを完了できるようにします。
  • 有益な情報を含むカードを追加して、ユーザーが会話から直接アクションを起こせるようにすることで、リンクをプレビューします。

ユーザーとやり取りするには、Chat アプリがインタラクション イベントを受信して応答できる必要があります。インタラクティブなチャットアプリを作成するには、Google Chat アプリの操作イベントを受信して応答するをご覧ください。

アプリによるユーザーデータへのアクセス

有用な方法で動作するには、アプリが呼び出されたときに、誰が、どのようなコンテキストで、どのように呼び出し元に対処するかを知る必要があります。この基本的な ID データ以外のデータにアクセスするには、認証によってアプリにアクセス権を付与する必要があります。

  • デフォルトでは、アプリは、アプリを起動したユーザー、またはアプリを呼び出す同じメッセージで名前リンクが付けられたユーザーの基本的な ID のみを読み取れます。この情報には、ユーザーの表示名、ユーザー ID、メールアドレス、アバター画像が含まれます。
  • リンク プレビューを使用しているアプリでは、アプリの構成済みの URL パターンに一致する URL をメッセージに追加できます。
  • ユーザーに拡張機能を提供するためにアプリが他のデータにアクセスする必要がある場合は、そのデータにアクセスできるように認証を設定します。ユーザーデータにアクセスする場合、アプリはユーザーにアクセス権を要求するように求め、ユーザーはアクセス権を付与する必要があります。詳細については、Chat アプリを他のサービスやツールに接続するをご覧ください。

ユーザーからの独立性

Chat アプリは特定のユーザーに関連付けられていません。ドメイン内のユーザーは誰でも、アプリをスペースに追加したり、スペースを削除したりできます。スペースにアプリを追加すると、ドメイン内の誰でも名前リンクを付けられるようになります。ドメイン外の外部ユーザーはアプリにアクセスできません。

アプリのユースケース

Chat などの会話型プラットフォームにアプリを追加すると、ユーザーはコンテキストを変更することなく、質問をしたり、コマンドを発行したりできます。バックエンドでは、アプリが他のシステムへの仲介として機能し、システムにアクセスできます。

統合された認知エクスペリエンスを維持しながら、幅広いリソースとツールへのアクセスを提供するこの機能により、次のような多くのタイプのアプリケーションに優れたフレームワークを提供できます。

  • ワークフロー管理
  • セットアップと構成
  • 注文の生成
  • 検索
  • データ収集

Chat スペース内でアプリにリクエストする操作の例を以下に示します。

  • 情報の検索 - アプリは、ユーザーが入力した構造化クエリまたはフリーテキストクエリに基づいて情報を取得できます。
  • ファイル チケット - アプリは、ユーザーから提供された情報を使用して、インシデント レポートやその他のアーティファクトを生成できます。
  • 取り組みの調整 - アプリを使用すると、「チームメモリ」の提供やリソースのスケジューリングなど、チームメンバー間のやり取りを改善できます。

Google Chat API

Chat API には、アプリを Chat スペースと DM に統合するためのいくつかの方法が用意されていますが、アプリロジックを実装する特定の方法を提供または指示するものではありません。シンプルなコマンドドリブン アプリを作成することも、任意の種類の言語処理や AI サービス、モジュールを使用することもできます。これは、次のようなさまざまなプラットフォームで行えます。

  • Apps Script
  • Google Cloud
  • クラウドまたはオンプレミスの HTTP サーバー

詳細については、アプリ実装アーキテクチャをご覧ください。

標準機能

Chat でアプリを構成するときは、以下で構成される ID を指定する必要があります。

  • アプリ名
  • アプリのアバター画像
  • アプリ デベロッパーの ID

また、ユーザーがアプリの使用を開始する際に役立つヘルプコマンドまたは同等のツールも提供する必要があります。

ダイレクト メッセージ(DM)内のアプリ

ダイレクト メッセージに応答するようにアプリを設定できます。これにより、1 人のユーザーが関与する 1 対 1 の会話インターフェースが提供されます。

Chat スペースのアプリ

Chat スペースにアプリを追加すると、スペースに表示される特定のコンテンツに応答できるようになります。たとえば、「@altostrat」で始まるメッセージが altostrat アプリに渡され、そのレスポンスがスペースに表示されることを指定できます。次のシーケンス図に、アプリの動作の概要を示します。

Chat スペース内の Google Chat アプリのシーケンス。

Chat は、次のいずれかのタイプのエンドポイントを介してアプリと通信します。

  • HTTP(ウェブサービス)エンドポイントは、さまざまなスタイルのインタラクションに対応できます。
  • Cloud Pub/Sub エンドポイントを使用すると、実装がファイアウォールの内側にある場合でも、Chat からのメッセージをリレーするトピックにアプリでサブスクライブできます。

Chat をアプリに接続するさまざまな方法については、エンドポイントの種類をご覧ください。

Chat の chatbot

chatbot(略して「bot」)は、人間のインタラクションをある程度模倣して人々とやり取りするコンピュータ プログラムです。操作は、単純なキーワード ドリブンのクエリから、自然言語処理と AI 技術を使用した複雑な会話システムまで、複雑さはさまざまです。この会話形式の人間とコンピュータのインタラクションは、さまざまな種類の便利なアプリのフレームワークとして機能します。

初期の chatbot には Eliza(1964 年)や Julia(1994 年)のような学術的好奇心が含まれていましたが、今ではカスタマー サポート、Google アシスタントなどの仮想アシスタントなど、さまざまな役割でインターネット上で機能しています。

Google Chat アプリは chatbot と呼ばれることもあります。アプリ名に「bot」を含めると、サービスを表す楽しい名前になります。Chat アプリは完全に機能するウェブ アプリケーションとサービスであるため、Chat アプリは「単なる bot」以上のものと考えることをおすすめします。