Dialogflow Google Chat 整合

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

  • Google Chat。提供具備前端使用者介面的訊息平台,可用於一對一對話和聊天室。透過 Google Chat,您可以建立包含圖示、圖片、按鈕、文字輸入欄位或 Google 地圖等應用程式的資訊卡,進而強化使用者介面。
  • Dialogflow。提供自然語言理解平台,可用於自動對話和動態回應。透過 Dialogflow,您可以解讀並滿足使用者意圖,例如安排預約或處理購買交易。

雖然您也可以使用 Google Chat 滿足使用者要求,但 Dialogflow 可讓使用者透過一般對話表達需求。

運作方式

建構支援 Dialogflow 的 Google 聊天應用程式後,您可以將應用程式提供給下列對象:

  • 一般大眾。獲授權的 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 即時通訊介面設定服務專員。

設定 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 即時通訊」,然後點選「設定機器人詳細資料」。系統會顯示 Google Cloud Google Chat API 的控制台頁面,您可以在其中設定應用程式自介圖像等應用程式參數

使用 Google Cloud 控制台設定 Google Chat

如要使用 Google Cloud 控制台整合 Google Chat,請按照下列步驟操作:

  1. 選取 Dialogflow 專案。

    前往專案選取器

  2. 按一下「」。

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

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

  5. 按一下「啟用」

  6. 按一下 [設定] 標籤。

  7. 設定應用程式。

  8. 在「顯示設定」窗格中,選取可存取應用程式的使用者:

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

測試

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

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

直接與應用程式進行即時通訊

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

從聊天室叫用應用程式

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

疑難排解

錯誤 解決方案
Dialogflow ES 主控台 >「整合」頁面不會顯示 Google Chat 選項。 請嘗試重新整理頁面:在左側選單中,依序按一下「Intents」和「Integrations」
Google Chat 未將您的應用程式列為可用應用程式。 請確認 Google Workspace 管理員為您新增 Google Workspace 帳戶,並允許使用者安裝 Chat 應用程式。接著,請確認你已啟動 Chat 應用程式,如「設定 Google Chat」一文所述。

複合式回應訊息

這項整合功能可將部分豐富回應訊息轉譯為 Google Chat 訊息格式

文字回覆

文字回應會以簡訊的形式傳送至 Google Chat。使用這種格式時,只要將文字包在特定 (輕型) Markdown 符號中,即可將文字設為粗體或斜體。

文字訊息回應在視覺上與 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 格式。

以下是使用資訊卡 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,請參閱下列資源: