Slack、Discord 與 Microsoft Teams

透過規則將 Google 表單回應發布到 Slack、Discord 或 Microsoft Teams 頻道

除了電子郵件,規則也可以將每筆回應發布到聊天頻道。在 + 新增規則 下選擇 Slack、Discord 或 Microsoft Teams,貼上頻道的 Webhook 網址,再用合併標籤撰寫貼文的文字。

發布到 Slack、Discord 和 Microsoft Teams 目前為 Beta 版。若貼文看起來有誤或沒有送達,請聯絡我們。

一條規則,一個管道

每條規則都透過一個管道寄送,在 + 新增規則 下選擇:

  • 電子郵件從您的 Google 帳戶寄出(預設,且在提交時免費)
  • Slack、Discord、Microsoft Teams 將訊息發布到一個頻道
  • Webhook 將已簽署的 JSON 傳送到您自己的端點;參閱 Webhook

若要將同一筆回應同時以電子郵件寄出並發布到 Slack,請建立兩條規則。對第一條使用 建立副本,再對副本使用 變更寄送管道…。每條規則各自保有自己的訊息與條件。

建立聊天規則

  1. 點擊 + 新增規則 並選擇 Slack、Discord 或 Microsoft Teams(或選擇範本 每筆回應都發布到 Slack)
  2. 時機:保留 每筆回應,或選擇 僅在核准後 / 遭到拒絕時 並設定審核者。加入 僅當 條件,只發布符合的回應,例如「部門 等於 營運」發布到 #facilities
  3. 傳送至:貼上頻道的 Webhook 網址
  4. 訊息:單一文字區塊,以純文字訊息發布。系統已預先填入預設內容;請自行編輯,並使用 標記 選單加入合併標籤。編輯器的工具列只提供該管道能顯示的格式:Slack 為粗體、斜體與刪除線;Discord 再加上底線;Teams 為粗體與斜體。連結與項目符號清單會保留;標題、表格與圖片會轉為純文字
  5. 點擊 建立規則

取得 Webhook 網址

每條聊天規則都需要來自聊天應用程式的「傳入 Webhook」網址。網址對應一個頻道;請為每個要發布的頻道各建立一個。

Slack

  1. 在 Slack 開啟頻道並選擇 Integrations(或在應用程式目錄搜尋 Incoming WebHooks)
  2. 為頻道新增傳入 Webhook 並複製網址(https://hooks.slack.com/services/...)

Discord

  1. 開啟頻道設定(齒輪圖示)
  2. 前往 Integrations,接著 Webhooks,然後 New Webhook
  3. 點擊 Copy Webhook URL(https://discord.com/api/webhooks/...)

Microsoft Teams

Teams 使用 Workflows 應用程式來處理傳入 Webhook:

  1. 在頻道旁點擊 更多選項 (...),然後 Workflows
  2. 選擇範本 Post to a channel when a webhook request is received(也可能列為 Send webhook alerts to a channel)
  3. 儲存工作流程並複製它提供的網址(結尾為 powerplatform.com/powerautomate/...)

Microsoft 的指南:Create an Incoming Webhook with Workflows。舊版的「Microsoft 365 Connectors」Webhook 正被 Microsoft 淘汰;請使用 Workflows。

編輯器會檢查網址是否屬於所選的應用程式,因此 Discord 網址無法儲存在 Slack 規則上。

已儲存的網址

儲存後,網址會加密儲存,且在清單與規則的 傳送至 步驟中只以遮罩形式顯示(hooks.slack.com/.../x7Qa)。點擊 取代 可貼上新的網址。

規則建立後,規則 傳送至 步驟中的 傳送測試 會將範例訊息(使用佔位答案)發布到該網址,讓您確認頻道能收到。結果會顯示應用程式回傳的 HTTP 狀態碼,例如「測試已送達(HTTP 200)」。

寄送時機

聊天規則預設在每筆回應時發布。它也可以改為僅在核准後或遭到拒絕時發布,並設定自己的審核者。參閱寄送時機。

審核與聊天

聊天規則可以自帶審核步驟。將 寄送時機 設為 僅在核准後 並選擇審核者:它只會在審核者核准後才發布。審核者本身也可以是頻道:Approve 與 Reject 按鈕會發布在那裡,結果也會發布回去。參閱審核。

當頻道停止運作時

  • 若聊天應用程式回應 404 或 410(Webhook 已被刪除),規則會被暫停,您會收到一封相關的電子郵件。編輯規則、在 取代 下貼上新網址,規則就會恢復
  • 其他錯誤(逾時、5xx)會重試一次,然後記錄下來。不會暫停任何內容
  • 紀錄頁面會顯示每則貼文以及應用程式回傳的 HTTP 狀態碼,因此失效的頻道很容易發現

注意事項

  • 貼文是由 Skyfield 的伺服器傳送,而非您的 Google 帳戶,因此不會計入您的 Gmail 寄送上限
  • 答案以純文字發布:填答者無法在您的頻道中 ping @everyone 或觸發格式
  • 過長的回應會依應用程式的上限截斷(Discord 約 2,000 字元,Slack 約 3,000 字元)
  • 聊天規則需要有效授權。免費試用也算。試用期結束而未升級時會暫停;提交時的電子郵件會繼續寄送。參閱寄送與傳送上限