自媒體管理系統 3.1 章 - 關鍵字回覆:把留言變成你的客戶名單

自媒體管理系統 3.1 章 - 關鍵字回覆:把留言變成你的客戶名單

FB, IG, Threads 與 YouTube 的關鍵字自動回覆、防呆檢查、表單收集、自動寄送信件與 CRM 串接。

📋 文章目錄

前情提要

如果你一路跟著我的腳步,在上一章中我們已經完成了 多平台自動排程發文助理

但發文只是漏斗的第一步,接下來還有很多工作需要處理。

今天這一篇,我們要把這套系統升級,為你裝上「社群互動助理」。
我們要讓系統自動偵測每一篇貼文、短影音 (Shorts, Reels)、甚至長影片(Youtube)下的留言。
一旦出現我們設定的「關鍵字」,它就會自動回覆並發送私訊,把你準備好的表單或資料遞給對方。

當對方填完表單後,系統不僅會把資料自動建檔到我們的 Notion CRM,還會直接利用 Brevo 自動寄送 Email,把大禮包或資源交到對方手中。

這篇文章,就來分享這套系統是怎麼運作的,以及每個工作流又該怎麼設定。

開始前的重要提醒

這套「社群互動助理」是建立在我們原本的內容生產線上。
如果你還沒有看過並且實作 多平台自動排程發文助理
請務必 先回去完成那一章的設定,並複製該章節的 Notion 範例資料庫。

因為回覆系統必須依賴該 Notion 資料庫裡的特定欄位才能順利讀取並執行動態回覆。
如果你跳過前置作業,這個助理將會無法運作!


我的系統核心邏輯:如何打造一個不睡覺的互動助理?

這套系統的運作方式很簡單。你在 Notion 發文的時候,就可以一併把「這篇貼文要觸發的關鍵字」、「要回覆的留言內容」、以及「Email 的主旨與內容」通通設定好。

只要有人留言,這套串聯起各大社群平台、表單、CRM 與 Email 系統的機器就會開始運作:

  1. 偵測關鍵字:掃描留言內容是否命中你設定的字眼。
  2. 追蹤檢查:如果是 IG, Threads 或 FB,系統會去「看一眼」這個留言的人有沒有追蹤你。有追蹤就給表單,沒追蹤就請對方先追蹤。
  3. 發送私訊/表單:根據 Notion 裡的設定,看是要直接丟網址給他,還是請他填寫一份自訂的問卷表單。
  4. 回傳資料入庫:當粉絲填完表單,資料會直接更新到 Notion 的 CRM 資料庫。
  5. 自動寄信交貨:系統自動透過 Brevo 寄出一封 Email,裡面裝著你答應要給他的資源。

Part 1:你的 Notion 指揮中心設定

再說一次,Notion 是這整套系統的大腦。
在你的「貼文資料庫」裡,有幾個欄位是專門用來控制這套回覆系統的:

  • Keyword:你想讓機器人偵測的字詞(例如:AI、自動化、+1)。
  • Reply Text:對方留言後,你要在留言區或私訊回覆他的話(例如:「感謝留言!填完以下表單我就會把資料發送到你電郵嚕 + 表單網址」)。
  • Without Form
    • 有打勾:代表這只是一個簡單的索取。系統不會發送表單,它只會純粹回覆 Reply Text 裡的文字或連結。
    • 沒打勾:這代表你想收集名單。系統會暫停直接給資源,而是發送專屬的 Information Form 表單。
  • Email Title:粉絲填完表單後收到的 Email 主旨。
  • Email Content:粉絲收到的 Email 內文(你可以用 HTML 語法來排版,並把最重要的資源下載連結放在這裡)。

把這些設定好,後面的苦工,互動助理會幫你處理好,
再也不能煩惱 4 個平台都要處理留言的問題,
就是當你把 Reels 利用多平台發佈助理到 IG,FB,Threads 及 Youtube 變成 Shorts 的之後,
這套系統就能幫你處理所有平台的留言了。


Part 2:拆解各個獨立工作流 (Workflow)

因為這是一套牽連甚廣的系統,我把它拆分成了多個獨立的工作流,讓你可以針對不同的平台去部署。
接下來,我會帶你把這些工作流拆開來看,告訴你裡面的節點 (Node) 是怎麼設定的。

💡 節點顏色圖例說明:

🟢 需要你手動改動/輸入參數的節點

🔴 系統已經寫好,不需要去動它的節點


工作流一:Threads Reply Webhook

節點設定詳解:

  1. Threads Webhook (Access) 🟢:用來驗證 Meta Webhook,Path 可以自訂名稱(例如我設為 dou-threads)。
  2. My Key? 🟢:對比密碼,確認是否是你本人使用。在 {{ $json.query['hub.verify_token'] }} 下方填入你的自訂密碼並記住,稍後我們會到 Meta Developer 填上這組密碼。
  3. Respond to Webhook 🔴:回傳節點,告訴 Meta「我收到了」。
  4. Threads Webhook 🟢:這是負責監聽 Meta 傳來訊號的大門,一有人留言就會觸發。Path 必須跟 Threads Webhook (Access) 節點設定的一模一樣。
  5. Remove Duplicate 🔴:防洗版機制!這是為了避免重複回覆同一個粉絲。如果系統發現有重複的留言,就會直接停止流程。
  6. Setting 🟢:
    • memberNumber: 你的成員編號 (就是用來區分不同社交媒體帳號的編號)
    • platform: 填入這是哪一個平台 (這裡是寫 Threads)。
    • webhook_information_form: 系統會根據這個連結去觸發表單(打開「工作流六」,把那邊 Information Form 節點的 Production URL 貼進來)。
    • owner_username: 系統會用這個帳號名稱去檢查對方是否追蹤你(例如我的 threads 為:charlsondou)。
    • Cookie 大法 (⚠️ Threads 必須填入四組):
      • ig_ds_user_id: 請用你的帳號登入電腦版 IG,按 F12 打開開發者工具。找到 Application -> Cookies -> https://www.instagram.com,然後找到名稱為 ds_user_id 的值。
      • ig_sessionid: 位置同上,找到名稱為 sessionid 的值。
      • th_ds_user_id: 接著去電腦版 Threads 頁面,同樣打開 Application -> Cookies -> https://www.threads.com/,找到 ds_user_id 的值。
      • th_sessionid: 位置同上,找到 sessionid 的值。
  7. Get Threads Token 🔴:會根據剛剛 Setting 裡面的設定,去抓取對應帳號的 Threads Token。
  8. Myself? 🔴:防呆機制。因為「你自己發的留言」,Meta 也會傳進來,所以要判斷並過濾掉自己的留言。
  9. Get Data 🔴:去 Notion 查出你有哪些貼文是有設定關鍵字的。
  10. Get API Key 🔴:根據 Setting 節點中的 memberNumber 去抓取我伺服器的 API Key。
  11. Reply 🔴:把資料傳給我的伺服器。我的伺服器會幫你處理「追蹤檢查」、「私訊回覆」與「表單連結的發送」。
  12. IF 🔴:如果 Reply 伺服器發現你的 Cookies 已經過期,或是不確定對方有沒有追蹤自己,就會觸發 IF 節點。
  13. Send a Message 🟢:警報器!發電郵告訴你 Cookies 已過期,記得去更新 (請在節點裡的 To 填入你的電郵信箱)。
  14. Schedule 🔴:每天定時發動一次的清理機制。
  15. Clean Data 🔴:把 Remove Duplicates 節點存下來的記憶快取清掉 (我有資料潔癖)。

如何到 Meta Developer 設定 Webhook:

進到 Meta Developer Console,打開你的 App (之前在發文助理教學中建立好的那個)。
在左側選單找到 使用案例 -> 存取 Threads API -> Threads 專用 Webhooks。

在 Moderate 點擊 Edit Subscription。

  • 回呼網址:填入 Threads Webhook (Access) 節點的 Production URL。
  • 驗證權杖:填入剛剛在 My Key? 節點中設定的密碼。
  • 雙向 TLS:選「否」。

💡 小撇步:按「驗證並儲存」之前,請務必確認你的 n8n 工作流已經按下 Active 啟動了! 不然 Meta 測試連結時會找不到人。

meta developers threads webhook


工作流二:Threads Reply (Cron) 漏接補救班

Threads 目前是流量成長最快的地方,但它的 Webhook 偶爾會漏接。
人家明明留言了,Meta 卻裝死不通知我們的 n8n。

所以我寫了這支第二防線(Cron Job)。

節點設定詳解:

  1. Threads Comment 🔴:設定每 1 小時啟動一次。
  2. Setting 🟢:
    • memberNumber: 你的成員編號。
    • platformThreads
    • webhook_information_form: 一樣貼上「工作流六」那個表單生成器的 Webhook Production URL。
  3. Get Threads Token 🔴:去抓取 Threads Token。
  4. Get Data 🔴:查出 Notion 裡有設定關鍵字的貼文。
  5. Loop Over Items 🔴:把留言一個一個拿去比對,看有沒有符合關鍵字。
  6. Get API Key 🔴:抓取我伺服器的 API Key。
  7. Reply 🔴:我的伺服器會處理回覆留言與發送表單連結。

💡 注意:這支 Cron 補救工作流不會做「追蹤檢查」。為了避免資源浪費與過度複雜,它會直接看 Notion 裡 Without Form 的設定,直接把資源丟給對方,確保沒人被漏掉。


工作流三:Instagram Reply Webhook

節點設定詳解:

  1. IG Webhook (Access) 🟢:驗證 Meta Webhook 用,Path 可自訂(例如我設為 dou-ig-comment)。
  2. My Key? 🟢:{{ $json.query['hub.verify_token'] }} 下方填入自訂密碼。
  3. Respond to Webhook 🔴:回傳給 Meta。
  4. IG Comment 🟢:監聽大門,一有人留言就會觸發。Path 必須跟 IG Webhook (Access) 設的一樣。
  5. Setting 🟢:
    • memberNumberplatform (寫 Instagram), webhook_information_form 設定與前面相同。
    • owner_username: 你的 IG 帳號名稱,用來檢查對方是否追蹤你。
    • ig_ds_user_id & ig_sessionid: 跟 Threads 那邊教的一樣,按 F12 去找 Cookies 的值貼上。
  6. Get IG Token 🔴:抓取對應帳號的 IG Token。
  7. Myself? 🔴:過濾掉自己發的留言。
  8. Get Data 🔴:從 Notion 抓取關鍵字名單。
  9. Get API Key 🔴:抓取我伺服器的 API Key。
  10. Reply 🔴:把追蹤檢查與私訊的髒活交給伺服器處理。
  11. IF 🔴: Cookie 失效防線。
  12. Send a Message 🟢:填入你的 Email,Cookie 過期時會發警報給你。

如何到 Meta Developer 設定 Webhook:

進到 Meta Developer Console,進去你的 Instagram 專用 App。
左側點擊 Instagram -> 含有 Instagram 登入的 API 設定 -> 產生存取權杖 -> 打開 Webhook 訂閱。

(註:這裡可能要先產生權杖才能打得開訂閱按鈕,但這個權杖對我們這段流程其實沒什麼用,我以前影片教的放法有點小誤區,等一下會教你正確的。)

打開 Webhook 訂閱之後,去 設定 Webhooks -> 回呼網址 -> 貼上 IG Webhook (Access) 節點的 Production URL。
驗證權杖 -> 貼上 My Key? 節點的密碼。
按「驗證並儲存」(一樣,請先啟動 n8n 工作流)。

Webhook 訂閱欄位管理:
出現清單後,只選擇把 comments 的訂閱打開就好。

meta devlopers instagram webhook

💡 正確獲取 Token 的方法:

接著去左手邊的 Messenger -> Instagram 設定 -> 粉絲專頁 -> 產生權杖(如果沒有粉專,請先建一個)。
這支產生出來的 Token,才是我們要放在 n8n Data Table 的 Comment_DM_Token 欄位裡面的東西!請手動把它覆蓋更新。

meta developers instagram dm token


工作流四:Facebook Reply Webhook

節點設定詳解:

  1. FB Webhook (Access) 🟢:驗證 Meta Webhook 用,Path 可自訂(例如我設為 dou-fb-comment)。
  2. My Key? 🟢:{{ $json.query['hub.verify_token'] }} 下方填入自訂密碼。
  3. Respond to Webhook 🔴:回傳節點。
  4. FB Comment 🟢:監聽大門。Path 必須跟 FB Webhook (Access) 設的一樣。
  5. Setting 🟢:大同小異,但有三個地方要特別注意!
    • owner_id: 系統會用這個 ID 去檢查對方是否追蹤你。這個 ID 跟 IG/Threads 的英文字母帳號不一樣,我們要到自己的 FB 粉專,然後看網址列 https://www.facebook.com/profile.php?id= 後面的那一串數字,就是這個 ID!
    • fb_ds_user_id: 登入 FB 後按 F12 看 Cookies,找到名稱為 c_user 的值貼進來。
    • fb_sessionid: 找到名稱為 xs 的值貼進來。
  6. Get FB Token 🔴:抓取 FB Token。
  7. Myself of Like? 🔴:防呆機制。這顆比 IG 的更囉嗦,因為 Meta 除了留言,連「有人按讚」、「自己刪文」等奇奇怪怪的動作都會傳進來,所以得過濾掉。
  8. Get Data 🔴:回 Notion 抓關鍵字名單。
  9. Get API Key 🔴:抓我伺服器的 API Key。
  10. Reply 🔴:伺服器接棒處理流程。
  11. IF 🔴: Cookie 失效防線。
  12. Send a Message 🟢:填寫你的警報 Email。

💡 小撇步 (超重要!):最好開一個新的「小號」,然後把粉專的權限也授權給這個小號。在抓 Cookie 時,利用小號的 Cookies 給 Setting 節點。因為以我的經驗,Facebook 非常喜歡登出並強制更新本尊帳號的 Cookies;而用小號的 Cookie,會穩定很多!

如何到 Meta Developer 設定 Webhook:

進到 Meta Developer Console,去 Instagram 專用的那個 App。
左側選 Messenger -> Messenger API 設定 -> 設定 Webhooks -> 回呼網址 -> 貼上 FB Webhook (Access) 節點的 Production URL。
驗證權杖 -> 貼上密碼。驗證並儲存。

Webhook 訂閱欄位管理:
只選擇把 feed 和 messages 這兩項的訂閱打開。
接著到下方的 產生存取權杖 -> 在你的粉專那列點擊「產生權杖」 -> 把這串 Token 貼到 n8n Data Table 的 Comment_DM_Token 欄位裡(記得要確認對應的 Platform 是 Facebook 以及你的帳號)。

meta developers facebook webhook


工作流五:YouTube Reply (長影音與 Shorts)

節點設定詳解:

  1. Youtube Comment 🔴:設定每 5 分鐘主動去掃描一次。
  2. Setting 🟢:
    • memberNumber: 你的成員編號。
    • platform: 填入 Youtube
    • webhook_information_form: 一樣貼上 Information Form 的 Webhook Production URL。
  3. Get Data 🔴:去 Notion 比對這篇影片的 Keyword
  4. Loop Over Items 🔴:把留言一個個拉出來比對關鍵字。
  5. Get API Key 🔴:抓我伺服器的 API Key。
  6. Reply 🟢:我的伺服器會直接在 YT 留言區底部回覆,並附上表單連結或純文字。
    • 重要:這裡的節點需要你在 OAuth2 API Credential 選擇 Google 的 Credential(直接選你之前在 Youtube 發佈子工作流設定好的那個 Credential 就可以了)。

⚠️ 為什麼 YouTube 版本不檢查有沒有訂閱?
雖然 YT 有提供 API 可以查對方有沒有 Subscribe 自己,但也允許使用者「把訂閱名單設為不公開」。當對方隱藏名單時,API 回傳的空白 JSON 格式,跟「沒有 Subscribe 自己」的 JSON 一模一樣。因為無法有效判斷對方是真的沒訂閱,還是單純隱私設定不公開,為了不冤枉粉絲,目前我們只能妥協:只要關鍵字對了,就直接在留言區回覆表單連結。


工作流六:Information Form (製作問卷)

這是當 Notion 的 Without Form 沒打勾時,負責產生動態問卷的中繼站。
當粉絲想要你的資源,系統會生成一個專屬他的問卷頁面。總共可以自訂高達 10 條問題。

節點設定詳解:

  1. Infomation Form 🟢:這是一個 Webhook,用來自訂 Path(例如我設為 infomation-form)。這也就是上面所有工作流裡都要填入的 webhook_information_form 網址來源!
  2. Setting 🟢:
    • memberNumber: 你的成員編號。
    • webhook_form_receiver: 這是「資料歸途」的網址。請把下方那支「工作流七」裡的 Form Receiver Production URL 貼進來。
    • question_1 到 question_10: 這裡就是自訂你的表單要問什麼問題!(如果某個問題是必填的,請在題目名稱的「前後打出星號」,例如 * 名字 **)
  3. HTML 🔴:負責將所有的設定吐成漂漂亮亮的 HTML 表單網頁給粉絲填。
  4. Respond to Webhook 🔴:回應節點。

工作流七:Form Receiver & Email 寄送 (資料歸檔)

當粉絲老實地填完那 1-10 個問題並按下送出後,資料就會打向這支名叫 Form Receiver 的工作流。

節點設定詳解:

  1. Form Receiver 🟢:這是一個 Webhook,用來自訂 Path(例如 form-receiver)。
  2. Post ID Filter 🔴:根據表單傳過來的 Post ID,跑去 Notion 查他當初到底是留言了哪一篇文章的關鍵字。
  3. Send Email 🟢:利用 Brevo 把資源 Email 傳給對方。
    • 請把節點裡的 Sender 改成你自己的 Email 地址。
    • 👉 (等一下會教你怎麼拿 Brevo 的 API Key)。
  4. Get Data (CRM) 🔴:找出我們存在 Notion 裡的 CRM Database 準備寫入資料。
  5. Existed? 🔴:利用填寫的 Email 來查核,判斷這位粉絲是不是我們資料庫裡的新名單。
  6. 最後面的節點會依據邏輯,自動執行「更新舊名單」或「新增一筆新名單」到 Notion CRM 裡面。

✉️ Brevo API 申請教學

先去 Brevo 官網 註冊登入 -> 進入後台右上角找到 Setting -> SMTP & API -> API Keys & MCP -> 點擊 Generate a new API Key。
把這串很長的鑰匙複製起來,回到 n8n 的 Send Email 節點,新增一個 Credential 貼上去就可以了!

get brevo api


全自動運轉的社群互動助理

完成這一切後,你的業務運作將會變成這樣:

  1. Notion 寫好文章,設定關鍵字 送優惠,並把準備在 Email 發出的優惠連結填好。
  2. 系統日間幫你自動把貼文發佈到 Youtube, Instagram, Facebook 及 Threads。
  3. 你正在忙店的業務之時,有人在貼文下面留言了。
  4. 系統自動確認他有追蹤你,瞬間私訊回覆他,並附上表單連結。
  5. 對方填完問卷送出,名單自動進入你 Notion 的 CRM 建檔。
  6. Brevo 自動發出一封精美的信,把優惠連結送到他的信箱。
  7. 你起床打開 Notion,已經有 10 個準客戶名單在那等著你聯絡與分析了。

你不用一直刷新螢幕看有沒有人留言,也不用怕漏信得罪粉絲。

下一步,我正在思考如何幫這個 CRM 加上更多追蹤與再行銷的功能。如果有什麼特別想要的功能,記得在群裡告訴我!

🎁 資源下載區

整個「社群互動助理」的工作流與設定檔都在這裡,請依照你的平台需求下載匯入。


👉 加入自動化社群

如果你對這套系統感興趣,或者在嘗試搭建的過程中遇到問題,
歡迎加入我的 Discord 社群,有任何卡關的地方,都可以直接在群裡找我。

👉 立即加入自動化討論群組

付費會員會有一個專屬的私人頻道,
你可以在那裡直接告訴我你在自動化過程中遇到的痛點。
如果這是一個大家都有的需求,我會親自開發解決方案,並把它整合進系統裡。
讓我們一起把它變得更強大。