回電核驗:就一筆暫停的付款傳簡訊、打電話給投資人,並拿回一份帶簽章的答覆

你的付款系統暫停了一筆可疑付款。Omni Octo 傳簡訊給投資人,打電話問對方是否提出過這筆申請,再把一份格式固定、帶簽章的結果傳回你的系統。只要不是明確的肯定回答,接下來怎麼處理仍由人來決定。只需對 Octo 說一則訊息就能建成。

更新於

一家虛構的共同基金公司暫停了一筆 $20,000 的贖回。Octo 在一次對話裡建好 AI 智慧體、對話洞察和工作流程,智慧體傳簡訊給投資人並打電話,一份格式固定、帶簽章的結果隨後傳回。

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(一家共同基金公司)建一條回電核驗專線。當我們的付款系統把案件傳給你時,先傳一則提醒簡訊給投資人,然後打電話。先按姓名確認對方是投資人本人,把申請內容讀一遍,問對方是否提出過這筆申請。如果是,今天付款;如果不是、不確定,或想找真人,就暫停付款,並告知反詐騙專員會在一小時內回電。然後把結果傳回我們的付款系統。

詳細說明

  1. 一個工作流程。 觸發器:一個 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…"}
  2. 先傳簡訊,再打電話,用我們的免付費電話號碼。簡訊:「Saltmarsh Funds:我們現在用這個號碼打電話給你,關於一筆 {amount} 的贖回申請,編號 {case_id}。我們絕不會向你索取密碼。」等通話結束(上限 10 分鐘),並在通話中帶上案件編號。即使案件編號相同,每個案件也必須打一通新電話。兩個步驟都開啟勿擾時段。
  3. 智慧體: 開場問候保持中性,不帶任何姓名。第一個問題:「請問是 {investor_name} 嗎?」如果不是,道歉,不透露任何資訊,結束通話。如果是,讀出金額、基金、銀行帳戶末碼,以及銀行資訊被更改的日期,然後問「請問這筆申請是您本人提出的嗎?」告知參考編號,道別,並由你自己結束通話。絕不索取密碼、帳號或社會安全號碼。不提供理財建議。
  4. 對話洞察加在智慧體上,只包含這幾項:case_id(文字)、outcome(released 或 held)、request_recognized(yes、no 或 unsure)、hold_reason(none、not_recognized、wants_specialist 或 no_answer)、summary。
  5. 通話之後,在同一個工作流程裡: 向 https://payments.saltmarsh.example/hooks/octo 傳一個帶簽章的 POST,包含這些內容和通話狀態。如果電話沒有接通或被跳過,就傳送 outcome: "held" 和 hold_reason: "no_answer"。
  6. 在整合上核准這個位址,驗證,讓工作流程保持未啟用,並把它的 webhook 位址給我。

Octo 會根據這一則訊息建好智慧體、對話洞察和工作流程。它可能會問你時區,或者問通話時段以外的電話該怎麼處理。

Octo 在建立、核准或開啟任何東西之前,都會先停下來問你。 請逐張讀完卡片並確認,包括核准位址卡片。這張卡片是工作流程被允許向你的系統傳送內容的唯一途徑。

Saltmarsh 核驗專線的智慧體頁面,系統提示詞展開著,露出寫明絕不索取密碼的幾行。
Octo 建好的智慧體,以及它遵循的話術。每一行你都能閱讀和編輯。

第 3 步:讓你的系統指向它

Octo 會把 webhook 位址給你。你也可以在工作流程的總覽分頁裡,在 Webhook 端點卡片上找到它,旁邊有複製按鈕和一個狀態:

  • 就緒:已上線,簽章密鑰已儲存
  • 未啟用:還沒有開啟,所以你的系統傳來的訊息會被拒絕
  • 設定未完成:還缺少某些東西

把你的付款系統設定好,讓它把每個暫停的案件用 POST 傳到這個位址,並用第 1 步的密鑰簽章。然後對 Octo 說「啟用它」。

第 4 步:用你自己的手機測試

傳一個帶上你自己號碼的測試案件,接聽電話,並把投資人可能給出的每一種回答都試一遍:

你說智慧體應該說你的系統應該收到
「是的,是我本人提出的」今天會付款,並告知參考編號released、yes、none
「不,我沒有提出這筆申請」已暫停,反詐騙專員會在一小時內回電held、no、not_recognized
「我可以和真人說話嗎?」同樣的暫停說明held、wants_specialist
讓電話轉入語音信箱不提案件的任何內容held、no_answer

結果會在通話結束、分析完成後幾秒鐘送達。

要在通話時段以外測試?不要關閉勿擾時段。請 Octo 對你自己的號碼把工作流程執行一次。那一次執行只能打電話給你,設定也維持原樣。那次執行裡簡訊仍然會被跳過,所以請在通話時段內測試簡訊。

如果哪裡看起來不對,請 Octo 給你看最近一次執行並解釋。各個步驟及其結果,也在工作流程的執行紀錄裡。

Callback verification 工作流程的總覽分頁:webhook 位址,然後是四個方框:webhook 接收、傳送簡訊、撥打電話、傳送帶簽章的 webhook。
一個工作流程。打電話這一步會等到通話結束並完成分析,所以帶簽章的 webhook 帶著答覆。

本指南和影片裡的控制台

我們做了一個小型營運控制台,用來展示從付款團隊的座位上看是什麼樣子。它取代的是你自己的系統:Saltmarsh Funds 是虛構的,案件和人物也都是虛構的。你自己的介面可以是任何能傳送 POST 並驗證簽章的東西。

虛構的 Saltmarsh Funds 付款介面:一個付款異常佇列,案件 SF-20931 已暫停,要求回電的規定,以及一個「電話核驗」按鈕。
通話之前的案件。操作員按下「電話核驗」,也可以由你的系統在標記出一筆付款的那一刻自動啟動工作流程。

按下這個按鈕,只是把案件傳到工作流程的 webhook 位址。你的付款系統可以在標記出付款後自己傳送同樣的案件,不需要任何人按任何東西。

案件會帶著下面三種結果之一回來。這三種情況下,控制台都是先驗證簽章,再讀取任何內容。

投資人沒有提出這筆申請。 付款繼續暫停,案件交給反詐騙團隊。

案件 SF-20931 標記為「暫停 · 反詐騙審核」,各項內容為 outcome held、request_recognized no、hold_reason not_recognized,以及「簽章已驗證」。
否:暫停,附帶原因,以及給反詐騙專員看的一行摘要。

投資人確認了。 你的系統可以放行這筆付款。

案件 SF-20931 標記為「已放行」,各項內容為 outcome released、request_recognized yes、hold_reason none,以及「簽章已驗證」。
是:已放行,說實話的人不會被耽誤。

沒有人接聽。 轉入語音信箱算作無人接聽,所以錢留在原處。

案件 SF-20931 標記為「暫停 · 無人接聽」,各項內容為 outcome held、hold_reason no_answer,以及「簽章已驗證」。
無人接聽:暫停,原因是 no_answer。留言裡沒有透露案件的任何內容。

傳回來的是什麼

結果不是通話紀錄。它是你命名的那幾項內容,加上簽章:

{
  "case_id": "SF-20931",
  "outcome": "held",
  "request_recognized": "no",
  "hold_reason": "not_recognized",
  "summary": "投資人沒有提出這筆申請,也沒有更改銀行帳戶。已告知反詐騙專員會在一小時內回電。",
  "status": "completed"
}

先驗證簽章,再讀取其他任何內容。然後,除了 outcome: "released",其他一律按暫停處理,包括缺少內容的情況,以及結果根本沒有送達的情況。執行失敗的工作流程應當讓錢留在原處。

編輯器中的 Callback result 對話洞察,顯示 case_id 和 outcome 兩項,以及 outcome 允許的值 released 和 held。
Octo 設定好的對話洞察。你可以在這裡編輯這幾項,也可以請 Octo 來改。

這幾項內容就是對話洞察,所以在通話本身上也能看到。在對話裡打開這通電話,就能在完整的通話紀錄旁邊找到對話洞察。你的反詐騙專員回電之前,讀的就是它。

對話中的這通電話:完整的通話紀錄,旁邊是帶有五項內容的對話洞察卡片。
完整的對話,加上同樣的五項內容,供回電的專員閱讀。

讓人始終參與其中

有三個環節會有人參與:

  • 上線之前。 沒有經過某個人確認的卡片,Octo 不會建任何東西,也不會開啟任何東西。
  • 每一通不是明確肯定回答的電話之後。 你的系統把暫停的案件轉給反詐騙團隊。投資人已被告知專員會回電,所以必須有人來打這通電話。
  • 放行之前(如果你希望)。 請 Octo 在通話之後加一個審批步驟。工作流程會在這裡等待,指定的審批人在工作流程的執行頁面上回答核准或拒絕。金額較大時,多花這一分鐘是值得的。

你也可以透過描述變更來修改工作流程。例如:「贖回被暫停時,同時寄一封電子郵件給反詐騙小組,寫明案件編號、原因和摘要。」

它做不到什麼

  • 它不是身分驗證。 智慧體只會問對方是不是案件上寫的那個人,並相信對方的回答。讓它成為回電的,是你打的是檔案裡的號碼,所以不要撥打隨申請一起送來的號碼。
  • 答覆在通話之後送達,而不是通話期間。 通話結束並完成分析之前,你的系統什麼都收不到。
  • 通話時段仍然適用。 預設情況下,兩個步驟都遵守通話時段:投資人所在國家每個時區的上午 9 點到晚上 8 點,對美國和加拿大來說,冬季相當於太平洋時間上午 9 點到下午 4 點。在這個時段以外,該步驟會被跳過而不是延後,所以案件會以 no_answer 回來。
  • 轉入語音信箱算作無人接聽, 並以 no_answer 回來。智慧體不應該在留言裡留下案件詳情。
  • 這些內容是 AI 對一次對話的解讀。 通常是對的,也可能出錯。這就是為什麼不是明確肯定回答的一律暫停,也是審批步驟存在的原因。
  • 智慧體的話術只是一條指令。 「絕不索取密碼」是你告訴智慧體、並在自己的通話中測試的內容,而不是技術上的限制。
  • 對簡訊的回覆,會交給接聽該號碼的那個智慧體。 上線之前請確認這一點。請 Octo 把回覆轉給核驗智慧體或某個人,否則投資人的一句「真的是你們嗎?」可能會落到你的通用客服智慧體手裡。