Dialogflow Google Chat 整合

將 Dialogflow 與 Google Chat 整合後,您就能同時運用這兩項服務的功能:

  • Google Chat。提供通訊平台,並透過前端使用者介面進行一對一對話和聊天室。透過 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 會直接分享這項回覆,或使用以資訊卡為基礎的使用者介面呈現豐富的回覆。

本頁面說明如何整合 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. 按一下「Start」。

Google Chat 應用程式現已上線,並開放給您選取的對象使用。

如要設定應用程式,請再次點選「Google Chat」,然後點選「設定機器人詳細資料」。 系統會顯示 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. 在「顯示設定」窗格中,選取可存取應用程式的使用者:

    • 應用程式測試人員。選取「將這項即時通訊功能提供給特定使用者」,然後輸入對方的電子郵件地址。
    • 一般大眾或 Enterprise Google Workspace 網域。發布應用程式
  9. 按一下 [儲存]。您的 Google Chat 應用程式現已上線,並開放給您選取的對象使用。

測試

測試 Chat 應用程式前,請先啟動該應用程式,如「 設定 Google Chat」一文所述。

您可以透過下列任一方法測試應用程式:

直接與應用程式傳訊息

  1. 開啟 Google Chat
  2. 在「即時通訊」窗格中,按一下「+」並選取「尋找應用程式」
  3. 搜尋並選取您的應用程式。 如果 Google Chat 未列出您的應用程式,請參閱疑難排解
  4. 按一下「Chat」
  5. 在對話輸入欄位中,輸入自然語言詞組來測試應用程式。

從聊天室叫用應用程式

  1. 開啟 Google Chat
  2. 在「聊天室」窗格中,按一下「+」並選取「建立聊天室」
  3. 輸入聊天室名稱「測試」
  4. 點選「建立」
  5. 在對話輸入欄位中輸入 @,然後選取應用程式,系統會自動完成名稱。
  6. 在自動完成的應用程式名稱後,輸入自然語言片語來測試應用程式。

疑難排解

錯誤 解決方案
Dialogflow ES 控制台的「整合」頁面不會顯示 Google Chat 選項。 重新整理頁面:在左側選單中,依序點選「意圖」和「整合」
Google Chat 不會將您的應用程式列為可用。 請確認 Google Workspace 管理員已為您新增 Google Workspace 帳戶,並允許使用者安裝 Chat 應用程式。然後按照「設定 Google Chat」一文的說明啟動 Chat 應用程式。

複合式回應訊息

這項整合功能會將部分豐富的回覆訊息轉換為 Google Chat 訊息格式

文字回覆

文字回覆會以簡訊形式傳送至 Google Chat。 使用這項格式設定時,只要以特定 (Markdown Light) 符號括住文字,即可將文字設為粗體或斜體。

簡訊回覆在視覺上與 Dialogflow 主控台中的預設文字回覆相同。不過,原始 API 回應看起來會有些許不同。此外,這也會將平台設定設為 GOOGLE_HANGOUTS,在為多項整合服務建構代理程式時,這可能很有用。

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

資訊卡

資訊卡回覆會以資訊卡訊息的形式傳送至 Google Chat。

圖片

圖片回覆會以 Google Chat 圖片小工具的形式傳送至 Google Chat。

自訂酬載

如要傳送其他類型的 Google Chat 訊息,可以使用自訂酬載

Google Chat 自訂酬載可讓您建立更進階的資訊卡。一張資訊卡可以有一或多個區塊。每個區段都可以有標題。 如要查看可建立的組合,請參閱 Google Chat 訊息格式資訊卡參考指南。不過,使用自訂酬載時,您必須提供 JSON 格式。

以下是使用 Cards 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. 按一下「停止」

使用 Google Cloud 控制台停止 Chat 應用程式

  1. 在 Google Cloud 控制台中選取 Dialogflow 專案。

    前往專案選取器

  2. 按一下「」。

  3. 依序按一下「API 和服務」和「程式庫」

  4. 搜尋並點選「Google Chat API」

  5. 點選「管理」

  6. 點選「設定」分頁標籤。

  7. 在「應用程式狀態」欄位中,選取「已停用」

更多資訊

如要進一步瞭解如何使用 Google Chat,請參閱下列文章: