Dialogflow と Google Chat の統合

Dialogflow を Google Chat と統合することで、両方のサービスの機能を活用できます。

  • Google Chat。1 対 1 の会話やチャット スペース用のフロントエンド ユーザー インターフェースを備えたメッセージング プラットフォームを提供します。Google Chat では、アイコン、画像、ボタン、テキスト入力フィールド、Google マップなどのアプリを組み込んだカードを作成して、ユーザー インターフェースを強化できます。
  • Dialogflow。自動会話と動的レスポンスのための自然言語理解プラットフォームを提供します。Dialogflow を使用すると、ユーザーのインテント(予約のスケジュール設定や購入の処理など)を解釈し、処理できます。

Google Chat を使用してユーザーからのリクエストを処理することもできますが、Dialogflow ではユーザーは通常の会話でリクエストを伝えます。

仕組み

Dialogflow 対応の Google Chat アプリを作成すると、次の対象がアプリを使用できるように設定可能です。

  • 一般大衆。ライセンス取得済みの Google Workspace ユーザーは、Google Workspace Marketplace からアプリをダウンロードできます。
  • Google Workspace ドメイン。Google Workspace 管理者は、ユーザーが Google Chat に追加できるアプリを指定できます。
  • アプリ テスター。アプリのテスト中は、アプリへのアクセスを制限できます。

Google Chat では、ユーザーがアプリと直接会話したり、スペース内からアプリを呼び出したりできます。この場合、次のようになります。

  1. ユーザーが Chat アプリにメッセージを送信します。
  2. Google Chat が JSON リクエストを Chat アプリに送信します。アプリは Cloud Functions でホストできます。
  3. Chat アプリは JSON リクエストを受信し、解析します。この解析中に、Chat アプリは Dialogflow を呼び出します。
  4. Chat アプリは、ユーザーの自然言語のメッセージ テキストを含むリクエストを Dialogflow に送信します。
  5. Dialogflow がユーザーのテキストを解釈し、Chat アプリにレスポンスを送信します。
  6. Chat アプリは Dialogflow のレスポンスを解析し、JSON レスポンスを Google Chat に送信します。
  7. Google Chat は Chat アプリの JSON レスポンスを受信し、テキスト メッセージやカード メッセージ、ダイアログ メッセージの形式で UI にレスポンスを表示します。
  8. Google Chat は、このレスポンスをそのまま共有するか、カードベースの UI を使用してリッチ レスポンスを表示します。

このページでは、Dialogflow を Google Chat と統合して、チャットのリッチ レスポンスを構成する方法について説明します。

制限事項

Google Chat 統合では、Dialogflow エージェントはデフォルトのエージェント言語のみを使用できます。

始める前に

ライセンスが付与された Google Workspace ユーザーのみが Google Chat アプリを使用できます。Google Workspace 管理者は次の操作を行う必要があります。

Dialogflow エージェントをビルドする

まだ Dialogflow エージェントを作成していないもの、エージェントの Google Chat との連携について確認する必要がある場合は、こちらのクイックスタートに沿って簡単なエージェントを作成します。ただし、エージェントを削除しないでください。次に、Google Chat インターフェースを使用してエージェントを設定します。

Google Chat を設定する

Google Chat で Dialogflow エージェントを設定するには、次のいずれかを使用します。

Dialogflow コンソールを使用して Google Chat を設定する

Dialogflow コンソールを使用して Google Chat を統合するには、以下の手順に沿って操作します。

  1. Dialogflow ES コンソールに移動します。
  2. 左側のメニューで、Dialogflow プロジェクトを選択します。
  3. [Integrations] をクリックします。
  4. [Google Chat] をクリックします。Google Chat が選択メニューに表示されない場合は、トラブルシューティングをご覧ください。
  5. アプリにアクセスできるユーザーを選択します。
  6. (省略可)エージェントを実行する環境を選択します。
  7. [開始] をクリックします。

選択したユーザーが Google Chat アプリを使用できるようになりました。

アプリを構成するには、[Google Chat] をもう一度クリックして、[bot の詳細を構成] をクリックします。 これは、Google Chat API の Google Cloud コンソール ページに表示されます。ここで、アプリのアバターなどのアプリのパラメータを構成できます。

Google Cloud コンソールを使用して Google Chat を設定する

Google Cloud コンソールを使用して Google Chat を統合するには、次の手順に沿って操作します。

  1. Dialogflow プロジェクトを選択します。

    プロジェクト セレクタに移動

  2. [] をクリックします。

  3. [API とサービス]、[ライブラリ] の順にクリックします。

  4. [Google Chat API] を検索してクリックします。

  5. [有効にする] をクリックします。

  6. [構成] タブをクリックします。

  7. アプリを構成します。

  8. [公開設定] ペインで、アプリにアクセスできるユーザーを選択します。

    • アプリ テスター。[特定のユーザーにこのチャットの利用を許可する] を選択し、ユーザーのメールアドレスを入力します。
    • Google Workspace の一般公開ドメインまたはエンタープライズ ドメイン。アプリを公開します
  9. [Save] をクリックします。選択したユーザーが Google Chat アプリを利用できるようになりました。

テスト

Chat アプリをテストする前に、Google Chat を設定するの説明に沿って、アプリを起動していることを確認してください。

アプリをテストするには、次のいずれかの方法を使用します。

アプリと直接チャットする

  1. Google Chatを開きます。
  2. [Chat] ペインで [+] をクリックし、[アプリを検索] を選択します。
  3. アプリを検索して選択します。Google Chat にアプリが表示されていない場合は、トラブルシューティングをご覧ください。
  4. [チャット] をクリックします。
  5. チャットの入力フィールドに、アプリをテストする自然言語フレーズを入力します。

スペースからアプリを呼び出す

  1. Google Chatを開きます。
  2. [スペース] ペインで [+] をクリックし、[スペースを作成する] を選択します。
  3. スペース名として「Test」と入力します。
  4. [Create(作成)] をクリックします。
  5. チャット エントリの項目に「@」と入力し、名前を予測入力するアプリを選択します。
  6. 予測入力されたアプリ名の後に、アプリをテストする自然言語フレーズを入力します。

トラブルシューティング

エラー 解決策
[Dialogflow ES コンソール] > [統合] ページに、Google Chat がオプションとして表示されません。 ページを更新してみてください。左側のメニューで [インテント] をクリックし、[統合] をクリックします。
アプリが Google Chat に利用可能として表示されていない。 Google Workspace 管理者が Google Workspace アカウントを追加し、ユーザーに Chat アプリのインストールを許可していることを確認します。次に、Google Chat を設定するの説明に従って、Chat アプリを起動していることを確認します。

リッチ レスポンス メッセージ

この統合により、一部のリッチ レスポンス メッセージGoogle Chat のメッセージ タイプに変換されます。

テキストのレスポンス

テキスト レスポンステキスト メッセージとして Google Chat に送信されます。このフォーマットでは、テキストを特定の(マークダウン ライト)記号で囲むことにより、太字や斜体にできます。

テキスト メッセージのレスポンスは、Dialogflow コンソールのデフォルトのテキスト レスポンスと同じように表示されます。ただし、未加工の API レスポンスは少し異なります。 また、プラットフォーム構成を GOOGLE_HANGOUTS に設定して、複数の統合用のエージェントを作成する際に役立てることもできます。

"fulfillmentMessages": [
{
   "text": {
   "text": [
        "This is a test."
   ]
},
  "platform": "GOOGLE_HANGOUTS"
},

カード

カード形式のレスポンスは、カード メッセージとして Google Chat に送信されます。

画像

画像レスポンスは、Google Chat 画像ウィジェットとして Google Chat に送信されます。

カスタム ペイロード

他の種類の Google Chat メッセージを送信するには、カスタム ペイロードを使用します。

Google Chat のカスタム ペイロードを使用すると、より高度なカードを作成できます。1 つのカードは 1 つ以上のセクションを持つことができます。各セクションにはヘッダーを含めることができます。Google Chat メッセージ形式カードのリファレンス ガイドを参照して、これで作成できる組み合わせのいくつかを確認できます。ただし、カスタム ペイロードを使用する場合は、JSON 形式を指定する必要があります。

次に、Card v1 形式を使用したカスタム ペイロードの例を示します。

{
  "hangouts": {
    "header": {
      "title": "Pizza Delivery Customer Support",
      "subtitle": "pizzadelivery@example.com",
      "imageUrl": "https://goo.gl/aeDtrS"
    },
    "sections": [{
      "widgets": [{
        "keyValue": {
          "icon": "TRAIN",
          "topLabel": "Order No.",
          "content": "12345"
        }
      },
      {
        "keyValue": {
          "topLabel": "Status",
          "content": "In Delivery"
        }
      }]
    },
    {
      "header": "Location",
      "widgets": [{
        "image": {
          "imageUrl": "https://dummyimage.com/600x400/000/fff"
        }
      }]
    },
    {
      "header": "Buttons - I could leave the header out",
      "widgets": [{
        "buttons": [{
          "textButton": {
            "text": "OPEN ORDER",
            "onClick": {
              "openLink": {
                "url": "https://example.com/orders/..."
              }
            }
          }
        }]
      }]
    }]
  }
}

Chat アプリを停止する

Google Chat アプリを利用不可にするには、次のいずれかを使用します。

Dialogflow コンソールを使用して Chat アプリを停止する

  1. Dialogflow ES コンソールに移動します。
  2. 左側のメニューで、Dialogflow プロジェクトを選択します。
  3. [Integrations] をクリックします。
  4. [Google Chat] をクリックします。Google Chat が選択メニューに表示されない場合は、トラブルシューティングをご覧ください。
  5. [Stop] をクリックします。

Google Cloud コンソールを使用して Chat アプリを停止する

  1. Google Cloud コンソールで Dialogflow プロジェクトを選択します。

    プロジェクト セレクタに移動

  2. [] をクリックします。

  3. [API とサービス]、[ライブラリ] の順にクリックします。

  4. [Google Chat API] を検索してクリックします。

  5. [管理] をクリックします。

  6. [構成] タブをクリックします。

  7. [アプリのステータス] フィールドで [無効] を選択します。

詳細情報

Google Chat の使用について詳しくは、以下をご覧ください。