n8n 教學:打造個人自動化工作流程
這份簡報文件基於林鼎淵先生的三篇 Medium 文章,整理了使用 n8n 打造自動化工作流程的重點資訊。
一、n8n 簡介
n8n 是一款開源的自動化工具,允許使用者透過視覺化介面,以拖拉節點、設定參數的方式建立自定義工作流程。與付費的雲端版本相比,本地部署方案更具成本效益且能更好地保障資訊安全,尤其是在涉及 Google API Key、OpenAI API Key 等私密資訊時。
二、本地部署 n8n
- 安裝 Docker: 根據作業系統從 Docker 官網下載並安裝 Docker。
- 使用 docker-compose.yml 安裝 n8n: 可直接複製林先生的 GitHub 項目,或建立一個名為 "n8n" 的資料夾,並在其中新增一個 docker-compose.yml 檔案,內容如下:
version: "3"
volumes:
n8n_storage:
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "127.0.0.1:5678:5678" # 可根據需求修改端口號
volumes:
- n8n_storage:/home/node/.n8n
在終端機輸入 docker compose up -d 即可啟動 n8n。輸入 docker compose down 可關閉 n8n。 3. 註冊 n8n 帳號: 訪問 http://127.0.0.1:5678 進行帳號註冊。務必牢記 Email 和密碼,因為官方的密碼找回功能目前無法使用。
三、n8n 重要節點使用情境
- Set Node: 定義工作流程中共用的變數,方便統一管理和修改參數,例如 Google Sheet 的 URL。
- 小提醒: 此處設定的變數為固定值,如需可更改的變數,請參考後文的 $getWorkflowStaticData 方案。
- Loop Over Items Node: 針對每一筆資料執行重複任務,例如循環呼叫 Google API 獲取相關關鍵字。
- loop: 放置要執行的重複任務。 done: 重複任務完成後得到的累計結果。 小提醒: 循環不會自動重置,需搭配 If Node 進行條件判斷以避免重複處理資料。
- HTTP Request Node: 呼叫 API,例如獲取權限 (token) 或執行特定操作。
- Method: 選擇 GET/POST/DELETE 等方法。 URL: 填寫 API URL。 Authentication: 設定 API 需要的憑證。 傳送參數: 可選擇 Query Parameters 或 Send Body 方式傳送參數。
- Code Node: 添加程式邏輯,例如格式化 HTTP Request Node 返回的複雜資料。可使用 console.log 輔助除錯。
- Wait Node: 在工作流程中加入延遲,例如批量呼叫 API 時設定間隔時間以避免伺服器過載或被封鎖。
- 取得特定節點的結果:Node: 使用 Expression {{ $('node_name').item.json.feild_name }}。 Code: 使用 $node["node_name"].json["feild_name"];。
- 使用 If Node 重置 Loop Over Items 資料:將 If Node 放在 Loop Over Items 前面,並將 Loop Over Items 的 done 連結至 If Node。 在 If Node 中使用 {{ $runIndex }} 和 {{ $json.keys().length }} 判斷是否需要重置資料。 在 Loop Over Items Node 的 Options 中設定重置邏輯為 {{ $prevNode.name === 'if' }}。
- 使用 $getWorkflowStaticData 儲存資訊:可用於跨節點保存和讀取資料,例如初始化變數:
const workflowStaticData = $getWorkflowStaticData('global');
if (!workflowStaticData.hasOwnProperty('keyword_1st')) {
workflowStaticData.keyword_1st = []
}
return [{}];
> 或更新資料:
const workflowStaticData = $getWorkflowStaticData('global');
workflowStaticData.keyword_1st.push('bbb');
console.log(workflowStaticData.keyword_1st);
return [{}];
四、SEO 關鍵字矩陣實戰範例
林先生的文章中還分享了利用 n8n 自動建立 SEO 關鍵字矩陣的實戰案例,步驟如下:
- 建立 Google Sheet: 在 "工作表1" 的第一欄填寫要查詢的關鍵字。
- 設定 n8n Workflow:在 set_google_sheet_info 節點填寫 Google Sheet URL。
- 在 get_keywords、create_sheet、append_row_data 節點設定 Google Sheets 憑證。
- 執行 Workflow: 點擊 "Test workflow" 即可自動生成 SEO 關鍵字矩陣。
五、總結
n8n 是一款功能強大的自動化工具,透過學習和掌握其各節點的功能和用法,可以大幅提升工作效率,將繁瑣的重複性任務交由 n8n 處理,讓自己更专注于核心工作。