Saltmarsh Funds 是一家虛構的共同基金公司。一筆 $20,000 的贖回剛剛進來,收款的銀行帳戶是六天前才更改的。Saltmarsh 的規定是:這樣的付款要先暫停,直到有人按檔案裡的電話號碼打過電話給投資人。
今天,這通電話只是排隊等著的一張工單。本指南取代的是等待,而不是團隊:Omni Octo 先傳一則提醒簡訊給投資人,再打電話,只問一個問題,然後把答案以格式固定的內容傳回付款系統,付款系統可以直接據此處理。決定權仍在付款系統手裡,只要不是明確的肯定回答,就交給人。
你只需要對 Octo 描述就能建成:這一部分不用拖曳,也不需要技術能力。這樣的建置通常要花好幾天,Octo 大約十分鐘。把你自己的付款系統接上去、做測試通話,還要再花大約一個小時,而這一部分需要有權修改你系統的人。
最終得到什麼
一個工作流程,四個步驟:
| 步驟 | 發生什麼 |
|---|---|
| Webhook 接收 | 你的付款系統傳來案件:投資人、金額、基金、電話號碼 |
| 簡訊 | 投資人從你的號碼收到一則提醒,附有金額和一個參考編號 |
| 打電話並等待 | 你的 AI 智慧體打電話給對方。工作流程會等到通話結束並完成分析 |
| 送出帶簽章的結果 | 一則帶簽章的訊息傳回你的系統,裡面是格式固定的內容 |
Omni Octo 從不轉移資金。它沒有連接你的支付管道。它傳回的只是一個答覆。
開始之前:你需要準備什麼
- 一個既能傳簡訊又能打電話的號碼。 通常選免付費電話(toll-free)號碼。參見如何取得企業簡訊號碼。簡訊送出之前,這個號碼必須在 /phone-numbers 下顯示可傳送。
- 一個接收結果的地方。 也就是你的付款系統或營運系統上的一個位址,能接收 POST 並驗證簽章。
- 一個雙方共用的簽章密鑰。 Octo 不能保管密鑰,所以由你在下一步自己儲存。
第 1 步:儲存簽章密鑰
進入整合 → 新增整合,選擇 Webhook 簽章密鑰。取一個你認得出的名稱,例如 Saltmarsh payments system。貼上密鑰,在傳送方如何使用它下選擇為每個 Webhook 簽章(HMAC),然後按儲存。
在這個工作流程裡,同一個整合承擔兩項工作:驗證進來的案件,並為送出去的結果簽章。
你不需要手動新增系統的位址。下一步裡,Octo 會在一張由你核准的卡片上提出這個位址。
第 2 步:請 Octo 來建
和 Octo 開一個新對話,描述這項工作。下面第一段就是請求本身。其餘的詳細說明是為了讓 Octo 不必猜你的資料項名稱:
為 Saltmarsh Funds(一家共同基金公司)建一條回電核驗專線。當我們的付款系統把案件傳給你時,先傳一則提醒簡訊給投資人,然後打電話。先按姓名確認對方是投資人本人,把申請內容讀一遍,問對方是否提出過這筆申請。如果是,今天付款;如果不是、不確定,或想找真人,就暫停付款,並告知反詐騙專員會在一小時內回電。然後把結果傳回我們的付款系統。
詳細說明
- 一個工作流程。 觸發器:一個 webhook,用整合「Saltmarsh payments system」驗證
X-Signature-256。案件的格式如下:{"case_id":"SF-20931","investor_name":"Jordan Lee","fund":"Saltmarsh Growth Fund","amount":"$20,000","bank_last4":"7731","bank_changed_on":"October 27","phone":"+1…"}- 先傳簡訊,再打電話,用我們的免付費電話號碼。簡訊:「Saltmarsh Funds:我們現在用這個號碼打電話給你,關於一筆 {amount} 的贖回申請,編號 {case_id}。我們絕不會向你索取密碼。」等通話結束(上限 10 分鐘),並在通話中帶上案件編號。即使案件編號相同,每個案件也必須打一通新電話。兩個步驟都開啟勿擾時段。
- 智慧體: 開場問候保持中性,不帶任何姓名。第一個問題:「請問是 {investor_name} 嗎?」如果不是,道歉,不透露任何資訊,結束通話。如果是,讀出金額、基金、銀行帳戶末碼,以及銀行資訊被更改的日期,然後問「請問這筆申請是您本人提出的嗎?」告知參考編號,道別,並由你自己結束通話。絕不索取密碼、帳號或社會安全號碼。不提供理財建議。
- 對話洞察加在智慧體上,只包含這幾項:
case_id(文字)、outcome(released 或 held)、request_recognized(yes、no 或 unsure)、hold_reason(none、not_recognized、wants_specialist 或 no_answer)、summary。- 通話之後,在同一個工作流程裡: 向
https://payments.saltmarsh.example/hooks/octo傳一個帶簽章的 POST,包含這些內容和通話狀態。如果電話沒有接通或被跳過,就傳送outcome: "held"和hold_reason: "no_answer"。- 在整合上核准這個位址,驗證,讓工作流程保持未啟用,並把它的 webhook 位址給我。
Octo 會根據這一則訊息建好智慧體、對話洞察和工作流程。它可能會問你時區,或者問通話時段以外的電話該怎麼處理。
Octo 在建立、核准或開啟任何東西之前,都會先停下來問你。 請逐張讀完卡片並確認,包括核准位址卡片。這張卡片是工作流程被允許向你的系統傳送內容的唯一途徑。
第 3 步:讓你的系統指向它
Octo 會把 webhook 位址給你。你也可以在工作流程的總覽分頁裡,在 Webhook 端點卡片上找到它,旁邊有複製按鈕和一個狀態:
- 就緒:已上線,簽章密鑰已儲存
- 未啟用:還沒有開啟,所以你的系統傳來的訊息會被拒絕
- 設定未完成:還缺少某些東西
把你的付款系統設定好,讓它把每個暫停的案件用 POST 傳到這個位址,並用第 1 步的密鑰簽章。然後對 Octo 說「啟用它」。
第 4 步:用你自己的手機測試
傳一個帶上你自己號碼的測試案件,接聽電話,並把投資人可能給出的每一種回答都試一遍:
| 你說 | 智慧體應該說 | 你的系統應該收到 |
|---|---|---|
| 「是的,是我本人提出的」 | 今天會付款,並告知參考編號 | released、yes、none |
| 「不,我沒有提出這筆申請」 | 已暫停,反詐騙專員會在一小時內回電 | held、no、not_recognized |
| 「我可以和真人說話嗎?」 | 同樣的暫停說明 | held、wants_specialist |
| 讓電話轉入語音信箱 | 不提案件的任何內容 | held、no_answer |
結果會在通話結束、分析完成後幾秒鐘送達。
要在通話時段以外測試?不要關閉勿擾時段。請 Octo 對你自己的號碼把工作流程執行一次。那一次執行只能打電話給你,設定也維持原樣。那次執行裡簡訊仍然會被跳過,所以請在通話時段內測試簡訊。
如果哪裡看起來不對,請 Octo 給你看最近一次執行並解釋。各個步驟及其結果,也在工作流程的執行紀錄裡。
本指南和影片裡的控制台
我們做了一個小型營運控制台,用來展示從付款團隊的座位上看是什麼樣子。它取代的是你自己的系統:Saltmarsh Funds 是虛構的,案件和人物也都是虛構的。你自己的介面可以是任何能傳送 POST 並驗證簽章的東西。
按下這個按鈕,只是把案件傳到工作流程的 webhook 位址。你的付款系統可以在標記出付款後自己傳送同樣的案件,不需要任何人按任何東西。
案件會帶著下面三種結果之一回來。這三種情況下,控制台都是先驗證簽章,再讀取任何內容。
投資人沒有提出這筆申請。 付款繼續暫停,案件交給反詐騙團隊。
投資人確認了。 你的系統可以放行這筆付款。
沒有人接聽。 轉入語音信箱算作無人接聽,所以錢留在原處。
傳回來的是什麼
結果不是通話紀錄。它是你命名的那幾項內容,加上簽章:
{
"case_id": "SF-20931",
"outcome": "held",
"request_recognized": "no",
"hold_reason": "not_recognized",
"summary": "投資人沒有提出這筆申請,也沒有更改銀行帳戶。已告知反詐騙專員會在一小時內回電。",
"status": "completed"
}
先驗證簽章,再讀取其他任何內容。然後,除了 outcome: "released",其他一律按暫停處理,包括缺少內容的情況,以及結果根本沒有送達的情況。執行失敗的工作流程應當讓錢留在原處。
這幾項內容就是對話洞察,所以在通話本身上也能看到。在對話裡打開這通電話,就能在完整的通話紀錄旁邊找到對話洞察。你的反詐騙專員回電之前,讀的就是它。
讓人始終參與其中
有三個環節會有人參與:
- 上線之前。 沒有經過某個人確認的卡片,Octo 不會建任何東西,也不會開啟任何東西。
- 每一通不是明確肯定回答的電話之後。 你的系統把暫停的案件轉給反詐騙團隊。投資人已被告知專員會回電,所以必須有人來打這通電話。
- 放行之前(如果你希望)。 請 Octo 在通話之後加一個審批步驟。工作流程會在這裡等待,指定的審批人在工作流程的執行頁面上回答核准或拒絕。金額較大時,多花這一分鐘是值得的。
你也可以透過描述變更來修改工作流程。例如:「贖回被暫停時,同時寄一封電子郵件給反詐騙小組,寫明案件編號、原因和摘要。」
它做不到什麼
- 它不是身分驗證。 智慧體只會問對方是不是案件上寫的那個人,並相信對方的回答。讓它成為回電的,是你打的是檔案裡的號碼,所以不要撥打隨申請一起送來的號碼。
- 答覆在通話之後送達,而不是通話期間。 通話結束並完成分析之前,你的系統什麼都收不到。
- 通話時段仍然適用。 預設情況下,兩個步驟都遵守通話時段:投資人所在國家每個時區的上午 9 點到晚上 8 點,對美國和加拿大來說,冬季相當於太平洋時間上午 9 點到下午 4 點。在這個時段以外,該步驟會被跳過而不是延後,所以案件會以
no_answer回來。 - 轉入語音信箱算作無人接聽, 並以
no_answer回來。智慧體不應該在留言裡留下案件詳情。 - 這些內容是 AI 對一次對話的解讀。 通常是對的,也可能出錯。這就是為什麼不是明確肯定回答的一律暫停,也是審批步驟存在的原因。
- 智慧體的話術只是一條指令。 「絕不索取密碼」是你告訴智慧體、並在自己的通話中測試的內容,而不是技術上的限制。
- 對簡訊的回覆,會交給接聽該號碼的那個智慧體。 上線之前請確認這一點。請 Octo 把回覆轉給核驗智慧體或某個人,否則投資人的一句「真的是你們嗎?」可能會落到你的通用客服智慧體手裡。