功能介紹
n8n 是一款開源的工作流自動化工具,旨在幫助用戶通過可視化的方式設計和執行自動化流程,實現跨應用和服務的數據整合與操作。是一個功能強大且靈活的工作流自動化平台,適合個人和企業用戶用於提升效率和簡化業務流程。無論是簡單的數據同步,還是複雜的跨平台自動化,n8n 都能提供可靠的解決方案。
簡單n8n 串接 LINE 教學
n8n 是一款強大的工作流自動化工具,能夠輕鬆串接 LINE 並實現多種自動化功能,例如發送通知、處理訊息或與其他應用整合。以下是串接 LINE 的詳細教學:
步驟 1:準備 LINE API 憑證
在串接 LINE 前,您需要取得 LINE 的 API 憑證。以下是準備步驟:
- 註冊 LINE Developers 帳戶:前往 LINE Developers 註冊帳戶。
- 建立 Channel:
- 登入後,建立一個新的 Messaging API Channel。
- 記下 Channel ID、Channel Secret 和 Access Token,這些將用於 n8n 的認證設定。
- 設定 Webhook(可選):如果需要接收 LINE 的事件通知,需設定 Webhook URL,該 URL 可由 n8n 提供。
步驟 2:在 n8n 中新增 LINE 節點
N8N設定的畫面
LINE Bot的設定畫面
步驟 3:在OpenAI建立好的客製化機器人
網址: https://platform.openai.com/playground/assistants
以下是了解我的書的內容的機器人,這個是Open AI的Agent功能,可以在這邊上傳檔案,讓這個機器人有RAG的資料庫可以回答專屬於自己的知識
步驟4:在n8n呼叫已經建立好的機器人
可以選擇下面這個節點來和已經建立好的機器人聊天
要注意的是,這個節點輸入的文字要是前一個節點的”chatInput”變數。所以要在前面新增一個Edit Fields的節點,來改變前一個節點的值的結構
選擇剛剛建立好的機器人
步驟5:回覆LINE訊息
因為原本n8n只有notify的元件,而這個元件即將要廢棄
因此我自己參考這邊的API格式來呼叫send line message
https://developers.line.biz/en/docs/messaging-api/sending-messages/#reply-messages
curl -v -X POST https://api.line.me/v2/bot/message/reply \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {channel access token}' \
-d '{
"replyToken":"nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"messages":[
{
"type":"text",
"text":"Hello, user"
},
{
"type":"text",
"text":"May I help you?"
}
]
}'
這邊因為要避免OPENAI回傳一些會打亂JSON格式的特殊字元,因此要用JSON.stringify(…)把回傳的字串包起來
{
"replyToken":"{{ $('If').item.json.body.events[0].replyToken }}",
"messages":[{"type":"text","text":{{ JSON.stringify($json.output) }}}]
}