Slack

Dialogflow Slack 整合可讓您輕鬆建立自己的 Slack 應用程式和機器人,並訓練 Slack 應用程式和機器人理解自然語言。

限制

這個整合作業僅支援預設的服務機器人語言

設定 Slack

如要為您的代理程式設定 Slack 整合,您必須符合以下條件:

建立 Slack 應用程式

  1. 前往 Slack Developer Console
  2. 輸入應用程式的名稱
  3. 選擇要與應用程式連結的團隊
  4. 按一下「Create App」按鈕

新增機器人使用者

  1. 按一下左側選單中的「OAuth & Permissions」
  2. 前往「範圍」部分,確認「Bot 權杖範圍」部分包含下列 OAuth 範圍:
  3. 按一下左選單中的「應用程式首頁」
  4. 啟用「Always Show My Bot as Online」,並視需要編輯「App Display Name」 (使用者會看到這個名稱)

在 Dialogflow 中啟用整合功能

在 Slack Developer Console 中,按一下左側選單中的「Basic Information」,然後向下捲動至「App Credentials」部分,然後記下「Client ID」(用戶端 ID)、「Client Secret」(用戶端密鑰) 和「Verification Token」(驗證憑證)

  1. 在 Dialogflow 的左側選單中,按一下 [Integrations] (整合)
  2. 按一下 [Slack] 圖塊
  3. 在下列欄位中輸入相關值:
    1. 用戶端 ID
    2. 用戶端密碼
    3. 驗證權杖
  4. 按一下「開始」

繼續設定 Slack

Slack 和 Dialogflow 現已設定完成,接著請啟用 OAuth、事件要求網址 (由 Dialogflow 提供) 和事件訂閱。

新增 OAuth 網址

  1. 從 Dialogflow 的 Slack 設定頁面複製 OAuth 網址
  1. 前往 Slack Developer Console,然後按一下左側選單中的 [OAuth & Permissions]
  2. 按一下 [Add a new Redirect URL] 按鈕,然後貼上 OAuth 網址
  3. 按一下「新增」
  4. 按一下「儲存網址」按鈕

新增事件要求網址並啟用事件訂閱

  1. 從 Dialogflow 的 Slack 設定頁面複製「事件要求網址」
  2. 前往 Slack Developer Console,然後按一下左側選單中的 [Event Subscriptions]
  3. 按一下切換按鈕來啟用事件,並在「Request URL」欄位中貼上事件訂閱網址

    經過一段時間後,要求網址欄位上方會顯示綠色的「Verified」(已驗證) 字樣。
  4. 在「Subscribe to Bot Events」下方,按一下「Add Bot User Event」按鈕

    畫面上會顯示文字欄位和事件清單。您可以在這個欄位中輸入字詞,搜尋要讓機器人回應的事件。以下是建議新增的事件清單:

    事件名稱 事件說明
    message.im 訊息已發佈至即時訊息管道
    message.groups 訊息已發佈至私人管道
    message.channels 訊息已發佈至某個管道
    im_created 已建立即時訊息。 在「代表使用者訂閱事件」部分下方,按一下「新增工作區事件」按鈕來新增 im_created 事件,然後按一下「儲存變更」

  5. 更新完這些設定後,請按一下頁面底部的「儲存變更」按鈕。

將 Slack 機器人新增至團隊

  1. 在 Slack Developer Console 中,按一下左側選單中的 [Manage Distribution]
  2. 在「Share Your App with Your Workplace」部分底下,按一下「Add to Slack」按鈕
  3. 在下一頁中,按一下「授權」按鈕,即可新增代理人

測試

您可以測試代理程式,而不建立公開 Slack 機器人,如要這樣做,請前往代理程式的「Integrations」頁面,然後點選「Slack」圖塊上的切換鈕。接著在彈出式視窗中,按一下「Test In Slack」按鈕。

系統會提示您登入 Slack。登入後,請前往執行個體並找出名為 @dialogflow-bot 的機器人使用者。您可以傳送即時訊息給代理程式來進行測試,或是將代理程式新增到執行個體中的管道。

事件

此整合會叫用下列事件

活動 說明
SLACK_WELCOME 使用者和您的 Slack 機器人開啟對話時,就會觸發這個事件。

複合式回應訊息

系統支援下列複合式回應訊息

圖片回應

支援的格式和大小:

  • gif
  • jpeg
  • png
  • bmp

資訊卡回覆

Slack 中的資訊卡沒有必填欄位,你可以使用任何元素組合。

系統支援含有網址和文字回傳的按鈕。含有網址的按鈕會顯示為超連結。

快速回覆

一鍵式 Slack 整合服務支援快速回覆功能,並對應至 Slack 互動式按鈕的文字版本。

自訂酬載回應

單鍵 Slack 整合功能中的格式文字

Slack 機器人可以傳送格式化文字,如以下範例所示:

{
  "slack": {
    "text": "This is an example of *bold*, _italic_, and `code`."
  }
}