跳至主要內容

客戶對話

三個平台,一條隊列

WhatsApp、Instagram、Messenger 各有各的 app、各有各的通知,也各有一個「剛好在看」的同事。把三者合成一條隊列是容易的一半。真正重要的另一半,是三個渠道各自跑著不同的時鐘——而一段沒有寫上名字的對話,人人都會假設有其他人在處理。

觸發
兩個
執行頻率
每條訊息
工具
5 件
需要 durable execution
不需要

流程

兩種 webhook 進來,一種行格式出去。分支只問一件事:這段對話寫上名字了沒有。

平台

WhatsApp 訊息

WhatsApp Cloud API

編排

統一格式

n8n · Make

資料

寫入隊列

Sheets · Airtable

平台

Instagram 或 Messenger 訊息

Instagram · Messenger API

編排

查負責人

n8n · Make

編排

尚未有人負責?

n8n IF

通知

指派並通知

Slack · WhatsApp

編排

維持原負責人

逐步拆解

  1. 01

    WhatsApp 訊息

    WhatsApp Cloud API

    Cloud API 的 webhook,帶住發送者的 WhatsApp id、profile 名稱和訊息內容。同一刻,這個渠道自己的 24 小時時鐘開始走。

  2. 02

    統一格式

    n8n · Make

    把每個渠道映射成同一種格式:誰、哪個渠道、說了什麼、按該渠道規則最遲幾時要回。期限要逐個渠道存,因為三者並不共用同一條。

  3. 03

    寫入隊列

    Sheets · Airtable

    一段對話一行,不是一條訊息一行。渠道、客戶、負責人、期限。這一行本身就是隊列,不需要再維持第二個儀表板跟它同步。

  4. 04

    Instagram 或 Messenger 訊息

    Instagram · Messenger API

    第二種 webhook 格式。兩者都經 Meta 平台送達,但視窗長度不同,對「誰可以先開口」的規定也不同。

  5. 05

    查負責人

    n8n · Make

    讀取這位客戶在這個渠道的隊列行,看看是否已經有人的名字在上面。

  6. 06

    尚未有人負責?

    n8n IF

    刻意只問一條。因為來了新訊息就重新指派一段進行中的對話,正是兩個同事對同一位客戶給出兩種答案的成因。

  7. 07

    指派並通知

    Slack · WhatsApp

    由當值表指派,並把對話連同該渠道的期限一併發給那位同事。沒有寫上名字的提示是通知,不是指派。

平台不容許的事

一條隊列不等於一套規則。每個渠道保留自己的視窗,而共用的那一行必須把差異存下來,不能取平均。

  • WhatsApp:「When a WhatsApp user messages you or calls you, a 24-hour timer called a customer service window starts」,對方再發訊息會重置,而且「when the window closes, you can only send pre-approved template messages」。

    WhatsApp Cloud API — Send messages
  • Messenger:「Businesses have up to 24 hours to respond to a user」;超出之後要用 message tag 對應特定已批准用途,而 Human Agent tag「allows businesses to manually respond to user messages within a 7-day period」。Messenger 的緩衝比 WhatsApp 長得多,但只限人手回覆。

    Messenger Platform — Policy overview
  • Instagram:「Your app has 24 hours to respond to any message sent from an Instagram user to your app user」;對方未先聯絡你就發不出訊息,而且「group messaging is not supported. An Instagram professional account can only converse with one customer per conversation.」

    Instagram Platform — Messaging API
  • Messenger 把「誰負責這段對話」當成平台概念:pass_thread_control 回呼「will occur when thread ownership for a user has been passed to your application」。

    Messenger Platform — messaging_handovers webhook
  • Instagram 也有自己的 Conversation Routing 控制。Meta 文件列出目前 thread owner、pass thread control,以及由 Handover Protocol 遷移到 Conversation Routing;所以 Instagram 的負責權也可以由平台支撐。

    Instagram Platform — Conversation Routing

什麼情況不值得做

以下三種情況,維護成本會高於漏訊息的代價。

  • 三個 app 都由同一個人回。為一個人而設的隊列,只是把他本來就知道的事抄一次,而且過時的速度比他忘記的速度更快。

  • 三個渠道服務的其實是不同生意——Instagram 做零售、WhatsApp 做批發、Messenger 做保養。合成一條線就是把性質不同的工作排在一起,兩邊互相排隊,而且沒有理由。

  • 你不會維持當值表。一段對話一個負責人是人手安排的決定,流程只負責記錄。沒有當值表,指派那一步只是隨機挑一個名字,然後叫它做問責。

延伸閱讀

聯絡我們

這些流程,你真正應該做哪一條?

我們每星期都在為香港的營運團隊跑這些流程。告訴我們哪個環節正在耗你的時間,我們會告訴你自動化划不划得來。

開始對談