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 では、ユーザーがアプリと直接会話したり、スペース内からアプリを呼び出したりできます。この場合、次のようになります。
- ユーザーが Chat アプリにメッセージを送信します。
- Google Chat が JSON リクエストを Chat アプリに送信します。アプリは Cloud Functions でホストできます。
- Chat アプリは JSON リクエストを受信し、解析します。この解析中に、Chat アプリは Dialogflow を呼び出します。
- Chat アプリは、ユーザーの自然言語のメッセージ テキストを含むリクエストを Dialogflow に送信します。
- Dialogflow がユーザーのテキストを解釈し、Chat アプリにレスポンスを送信します。
- Chat アプリは Dialogflow のレスポンスを解析し、JSON レスポンスを Google Chat に送信します。
- Google Chat は Chat アプリの JSON レスポンスを受信し、テキスト メッセージやカード メッセージ、ダイアログ メッセージの形式で UI にレスポンスを表示します。
- 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 を統合するには、以下の手順に沿って操作します。
- Dialogflow ES コンソールに移動します。
- 左側のメニューで、Dialogflow プロジェクトを選択します。
- [Integrations] をクリックします。
- [Google Chat] をクリックします。Google Chat が選択メニューに表示されない場合は、トラブルシューティングをご覧ください。
- アプリにアクセスできるユーザーを選択します。
- (省略可)エージェントを実行する環境を選択します。
- [開始] をクリックします。
選択したユーザーが Google Chat アプリを使用できるようになりました。
アプリを構成するには、[Google Chat] をもう一度クリックして、[bot の詳細を構成] をクリックします。 これは、Google Chat API の Google Cloud コンソール ページに表示されます。ここで、アプリのアバターなどのアプリのパラメータを構成できます。
Google Cloud コンソールを使用して Google Chat を設定する
Google Cloud コンソールを使用して Google Chat を統合するには、次の手順に沿って操作します。
Dialogflow プロジェクトを選択します。
[menu] をクリックします。
[API とサービス]、[ライブラリ] の順にクリックします。
[Google Chat API] を検索してクリックします。
[有効にする] をクリックします。
[構成] タブをクリックします。
アプリを構成します。
[公開設定] ペインで、アプリにアクセスできるユーザーを選択します。
- アプリ テスター。[特定のユーザーにこのチャットの利用を許可する] を選択し、ユーザーのメールアドレスを入力します。
- Google Workspace の一般公開ドメインまたはエンタープライズ ドメイン。アプリを公開します。
[Save] をクリックします。選択したユーザーが Google Chat アプリを利用できるようになりました。
テスト
Chat アプリをテストする前に、Google Chat を設定するの説明に沿って、アプリを起動していることを確認してください。
アプリをテストするには、次のいずれかの方法を使用します。
アプリと直接チャットする
- Google Chatを開きます。
- [Chat] ペインで [+] をクリックし、[アプリを検索] を選択します。
- アプリを検索して選択します。Google Chat にアプリが表示されていない場合は、トラブルシューティングをご覧ください。
- [チャット] をクリックします。
- チャットの入力フィールドに、アプリをテストする自然言語フレーズを入力します。
スペースからアプリを呼び出す
- Google Chatを開きます。
- [スペース] ペインで [+] をクリックし、[スペースを作成する] を選択します。
- スペース名として「Test」と入力します。
- [Create(作成)] をクリックします。
- チャット エントリの項目に「@」と入力し、名前を予測入力するアプリを選択します。
- 予測入力されたアプリ名の後に、アプリをテストする自然言語フレーズを入力します。
トラブルシューティング
エラー | 解決策 |
---|---|
[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 アプリを停止する
- Dialogflow ES コンソールに移動します。
- 左側のメニューで、Dialogflow プロジェクトを選択します。
- [Integrations] をクリックします。
- [Google Chat] をクリックします。Google Chat が選択メニューに表示されない場合は、トラブルシューティングをご覧ください。
- [Stop] をクリックします。
Google Cloud コンソールを使用して Chat アプリを停止する
Google Cloud コンソールで Dialogflow プロジェクトを選択します。
[menu] をクリックします。
[API とサービス]、[ライブラリ] の順にクリックします。
[Google Chat API] を検索してクリックします。
[管理] をクリックします。
[構成] タブをクリックします。
[アプリのステータス] フィールドで [無効] を選択します。
詳細情報
Google Chat の使用について詳しくは、以下をご覧ください。
- Google Chat デベロッパー向けドキュメント
- Chat 用アプリを作成する
- 動画: Dialogflow と Google Chat を統合する
- Codelab: Dialogflow と Google Chat の統合