iT邦幫忙

2025 iThome 鐵人賽

DAY 13
0
AI & Data

為你自己學 n8n系列 第 13

[為你自己學 n8n] 第 13 天,LINE 機器人誕生記!

  • 分享至 

  • xImage
  •  

Yes

影片連結:https://www.youtube.com/watch?v=kipvvh_0wZg
YouTube 頻道:https://www.youtube.com/c/kaochenlong

這一集我們要在 n8n 串接一個可以說是台灣奇蹟的軟體,LINE。

為什麼選擇 LINE?

你想想看,幾乎每個台灣人手上的手機都會安裝 LINE 這款軟體。雖然就技術面來說,它的聊天功能也許不是特別厲害的東西,但是因為你的親朋好友、長輩,甚至小朋友都有裝這個軟體,所以變成在台灣有蠻多店家跟消費者之間的溝通,都是用 LINE 在做行銷宣傳的。

這就是為什麼我們要學會怎麼樣在 n8n 裡面去串接 LINE 的通知。

重要提醒:LINE Notify 停止服務

首先我們來看一下,當我們打開 n8n 的新工作流,然後搜尋 LINE 的時候,你會看到這裡有個節點,看起來非常美好,好像只要取得 credential 就可以用了。

但是你仔細看這邊有一行小字:「2025 年 4 月 1 號開始之後 end of service」,也就是不再支援了。所以如果要用的話,我們得走另外一條路,就是使用 Messaging API。

也許是因為這個部門或這個工具,或這個 LINE 通知沒有賺錢的關係吧,不管怎麼樣,我們就不能用它了。

完整串接步驟詳解

我已經把整個串接的過程放在網址:

https://5xcmp.us/n8n-line

這個過程會跟我們當時在串接 Google OAuth 類似,大概也會有幾個步驟要做,但是應該沒有前面那個 Google OAuth 那麼複雜。

第一步:申請 LINE Official Account(OA 帳號)

首先我們要先處理一個 OA 帳號,這個 OA 不是黑色,是 Official Account,也就是官方帳號。

  1. 前往 LINE 官方帳號管理介面
  2. 使用你的 LINE 帳號登錄(可以用 Email 或行動條碼)
  3. 登錄後,在左邊選單選擇「建立」
  4. 建立 LINE 的官方帳號

在建立過程中,需要填一些資料:

  • 帳號名稱(用你自己喜歡的名字,不要跟我一樣)
  • 選擇行業類別(例如:公眾人物、模特等)

完成後會進入 LINE Official Account Manager,這就是 OA 的管理員介面。

第二步:設定聊天功能

進到管理介面後,有一件很重要的事情要做:

  1. 在上面選單的地方,選擇「聊天」
  2. 點選「前往回應設定的頁面」
  3. 重要:在中間這一塊,把「聊天」功能勾起來

如果你這個沒有勾的話,到時候你這隻機器人或 LINE chatbot 就沒有辦法跟你聊天了。

第三步:啟用 Message API

  1. 在左邊選單找到「Message API」
  2. 點開後,要把它啟用
  3. 需要填一些資料,你可以選擇現成的服務提供者,或建立一個新的
  4. 隱私權政策和服務條款可以後面再來處理(教學階段可以先跳過)
  5. 確定後會開啟設定

第四步:設定 Webhook URL

這裡是很重要的設定,我們要告訴 LINE,當有人發訊息給我們的機器人時,要把這個訊息發到哪裡去。

但在填寫這個網址之前,我們需要先到 n8n 建立一個 webhook。

第五步:在 n8n 建立 Webhook

  1. 開啟新的工作流,幫它取個名字(例如:LINE 串接)
  2. 不要選手動觸發,要選擇「webhook」
  3. 設定 webhook 參數:
    • HTTP Method 選擇「POST」(這是 LINE Message API 的要求)
    • Path 可以自己決定,例如:line-chatbot-9527
  4. 這個 webhook 會產生兩種網址:test 和 production
  5. 開發階段我們先使用 test 的網址

把 webhook 的 test 網址複製起來,回到 LINE 的 OA 管理介面,貼到「Webhook URL」的欄位中,然後儲存。

第六步:到 LINE Developer Console

接下來我們要到另外一個後台 LINE Developer Console(這是給開發者看的東西)。

  1. 登入 LINE Developer Console
  2. 在左手邊選擇你剛才建立的服務提供者
  3. 切換到「Message API」頁籤

第七步:驗證 Webhook

在 Message API 頁面:

  1. 找到「Webhook」區域,往下拉有一個「Verify」按鈕
  2. 在驗證之前,記得先到 n8n 把 webhook 打開(點選「Listen」)
  3. 回到 LINE Developer Console,點擊「Verify」
  4. 如果成功,代表網址是對的

重要:這個地方有一個很重要的設定,就是 Webhook 要打勾。如果沒有勾的話,到時候你在 LINE 裡面發訊息,Message API 不會再把資料打到你的 n8n 來,你會發現訊息發了,但你的 n8n 都收不到任何資料。

第八步:產生 Channel Access Token

在同一個頁面,拉到最下面:

  1. 找到「Channel access token」區域
  2. 點選「Issue」產生一個 long-lived token
  3. 把這個 token 複製起來保存(如果需要更換,可以點選「Reissue」)

第九步:在 n8n 建立 HTTP Request 節點

現在我們要讓機器人能夠回應訊息:

  1. 在 webhook 後面新增一個「HTTP Request」節點
  2. 設定為 POST 方法
  3. URL 設定為:https://api.line.me/v2/bot/message/reply
  4. 在 Headers 中新增:
    • Authorization: Bearer {你的token}
    • Content-Type: application/json

第十步:設定回應內容

在 HTTP Request 的 Body 中,我們要設定回應的格式:

{
    "replyToken":"{{ $json.body.events[0].replyToken }}",
    "messages":[
        {
            "type":"text",
            "text":"{{ $json.body.events[0].message.text }}"
        }
    ]
}

這個設定會讓機器人成為一個 echo bot,也就是你說什麼,它就回什麼。

測試你的聊天機器人

  1. 先在 n8n 啟動 webhook(點選「Listen」)
  2. 用手機加入你建立的 LINE Official Account
  3. 發送訊息測試
  4. 如果設定正確,機器人應該會回應相同的訊息

記住,測試階段的 webhook 每次使用完就會停掉,所以每次測試前都要重新啟動。等到你整個做完之後,把它改成正式版本就不會停了。

整個流程總結

讓我們來整理一下整個流程:

  1. 用戶發送訊息:在 LINE 的對話框中發送訊息
  2. LINE Message API 接收:訊息透過 Message API 處理
  3. Webhook 通知:Message API 透過 POST 請求把訊息打到你的 n8n
  4. n8n 處理:你的 n8n 需要準備一個 webhook 節點來接收資料
  5. 處理邏輯:在中間這一塊可以做各種處理(目前我們只做簡單的 echo)
  6. 回應訊息:透過 HTTP Request 把處理結果打回 Message API
  7. 顯示回應:Message API 再把訊息顯示在 LINE 的對話框中

重要提醒

  1. Webhook 設定:記得在 LINE Developer Console 把 Webhook 功能打勾
  2. 測試與正式環境:開發時用 test URL,上線時要改成 production URL
  3. Token 安全:Channel Access Token 要妥善保管,如果外流可以重新產生
  4. 回應限制:雖然我們不能主動發通知給使用者(那要另外收費),但回應是不用收費的

下一步擴展

目前我們只做到了 echo 機器人,但在處理邏輯這一塊,你可以:

  • 加入 AI Agent 來做智慧回應
  • 連接資料庫查詢客服資料
  • 整合其他 API 來提供更多服務
  • 加入條件判斷來做不同的回應

這整個串接過程其實是 n8n 會紅起來的重要原因之一。想像一下,如果你能把 LINE 聊天機器人跟 AI、資料庫、各種 API 都串接起來,那就能做出非常強大的自動化客服系統了。

我們這一集就先介紹到這裡。下一集我們會跟大家介紹 AI Agent,因為中間這個處理的部分才是重點。目前我們的機器人只能做 echo 回話,你說什麼我說什麼,這樣不好玩。但如果說你想做一些複雜的對話設計,那中間這一塊就是重點了。


上一篇
[為你自己學 n8n] 第 12 天,試算表變聰明了:學會自己更新狀態!
系列文
為你自己學 n8n13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言