LINE 節點清單與欄位 mapping

這份是搭配 11-line-echo-bot-webhook.json 一起使用的中文對照表。你在 n8n 裡匯入後,可以一邊看節點,一邊對照這份欄位表。

這份檔案在幫你解什麼問題

很多人匯入 workflow 之後,知道節點有接起來,卻不知道每個節點到底在拿什麼資料、吐出什麼資料。這份對照表的用途,就是把:

  • 節點用途
  • 核心欄位
  • expression 來源
  • 常見使用情境

一次整理清楚。

一、回聲機器人節點清單

1. Line Webhook

用途:

  • 接收 LINE 事件
  • 驗證 signature
  • 依事件類型分 output

這個範例使用哪個 output:

  • text

必填:

  • Path
  • Webhook credential,裡面放 Channel Secret

你在 LINE 後台要填的 webhook URL:

https://你的公開網域/webhook/line-echo-demo

二、第一個節點拿到的原始資料

收到文字訊息後,Line Webhooktext output 會有兩個關鍵欄位:

{
  "destination": "xxxx",
  "event": {
    "type": "message",
    "replyToken": "xxxx",
    "timestamp": 1710000000000,
    "source": {
      "type": "user",
      "userId": "Uxxxx"
    },
    "message": {
      "id": "1111111111",
      "type": "text",
      "text": "你好"
    }
  }
}

所以你真正常抓的是 event 裡面的值。

三、Normalize Text Event 欄位 mapping

這個節點的目的,是把 LINE 原始 payload 轉成比較好用的標準欄位。

新欄位Expression說明
eventType{{$json.event.type}}事件類型
replyToken{{$json.event.replyToken}}回覆這次事件用
receivedText`{{$json.event.message.text
userId`{{$json.event.source.userId
sourceType`{{$json.event.source.type
messageId`{{$json.event.message.id
receivedAt`{{$json.event.timestamp

為什麼要多這一步

因為你後面幾乎一定會做這些事:

  • 寫入 Google Sheets
  • 分類訊息
  • 交給 AI 摘要或判斷
  • 依 userId 查使用者資料

如果一開始不先正規化,後面每個節點都要一直寫很長的 expression。

四、Build Echo Message 節點

節點類型:

  • Line Message

Message Type:

  • Text

欄位:

欄位
Text={{'你剛剛說:' + $node["Normalize Text Event"].json.receivedText}}

輸出結果:

{
  "message": {
    "type": "text",
    "text": "你剛剛說:你好"
  }
}

注意:

  • 這個節點只負責組 message object
  • 它不會幫你送出
  • 它的輸出主要就是 message

五、Reply to LINE 節點

節點類型:

  • Line Messaging API

Operation:

  • Send Message

欄位 mapping:

欄位Expression用途
ReplyToken{{$node["Normalize Text Event"].json.replyToken}}對這次事件回覆
Message{{$json.message}}拿上一個節點組好的 message object

這裡有一個初學者常見誤會:

Reply to LINE 的輸入資料來自 Build Echo Message,所以 $json 只有 message。如果你想拿 replyToken,就不能直接寫 $json.replyToken,而要回頭抓:

{{$node["Normalize Text Event"].json.replyToken}}

這是因為 Line Message 節點本身不會保留前一個節點所有欄位。

六、Respond to Webhook 節點

用途:

  • 回傳 HTTP 200 給 LINE

在這個範例裡,回傳內容是:

{
  "ok": true,
  "message": "LINE webhook processed"
}

這個回傳不是給 LINE 使用者看的,而是給 LINE 平台看的 HTTP 回應。

七、常見欄位總表

你最常遇到的 LINE event 欄位

欄位位置代表什麼
replyTokenevent.replyToken回覆這次事件
userIdevent.source.userId使用者對象 ID
groupIdevent.source.groupId群組對象 ID
roomIdevent.source.roomIdroom 對象 ID
message.idevent.message.id取多媒體內容
message.typeevent.message.typetext/image/audio/video/location/sticker
message.textevent.message.text使用者文字內容
timestampevent.timestamp事件時間

八、常見場景對應哪個欄位

場景 1. 回覆當前訊息

你要用:

  • replyToken

場景 2. 排程主動推播

你要用:

  • userId
  • groupId
  • roomId

場景 3. 下載圖片或音訊

你要用:

  • message.id

場景 4. 記錄是誰送來的

你要用:

  • source.type
  • userId

九、這個套件目前比較適合怎麼用

最適合先拿來做:

  • 文字回覆 Bot
  • 關鍵字分流 Bot
  • LINE 通知出口
  • 基本圖片接收與後續處理

比較不建議一開始就重壓:

  • 複雜 Flex 編排
  • 音訊訊息發送
  • 高度正式商業流程且沒有備援方案

十、下一個你可以自己改的方向

如果你已經把回聲機器人跑通,下一步最值得改的是:

  1. IF,做關鍵字分流
  2. Get User Profile
  3. Google Sheets 記錄對話
  4. OpenAI 做自動摘要或分類

對應教材