# 目錄 ## 1. 介紹與基礎概念 * Introduction * Discussing Internet Standards, REST and OAuth2 --- ## 2. n8n 自架環境與第一個 AI Workflow(Chatbot) * Getting Started – Setup n8n on Hostinger (self-hosted) * Create First Workflow Example (AI – Chatbot) * Add an AIAgent Node to Workflow * Add OpenAI Chat Model sub node to AiAgent Node * Add Credentials to OpenAI Chat Model sub node * Add a System Prompt to AIAgent Node * Add Memory Sub Node to AiAgent (to Add Context) * Test ChatBot WorkFlow --- ## 3. Hostinger 與 n8n 操作說明 * Logging on to Hostinger and n8n --- ## 4. Workflow 範例二:WhatsApp Panic App(註冊流程) * Create Workflow Example 2 (WhatsApp Panic App Registration) * Create Google Spreadsheet * Add and Setup OnSubmission Form Trigger Node * Add and Setup Google Sheets Node * Setup Credentials for Google Sheets Node (using OAuth2) --- ## 5. Workflow 範例三:WhatsApp Panic 通知系統 * Create Workflow Example 3 (WhatsApp Panic Notifications) * Add WhatsApp Trigger Node and Setup Credentials * Setup other Workflow Nodes (WhatsApp Panic Notifications) * Test WhatsApp Panic App Notifications Workflow --- ## 6. Workflow 範例四:履歷審核/面試排程(Human in the Loop) * Create Workflow Example 4 (CV Approval / Interview Scheduler) * Setup Google Drive Node and Configure Credentials * Setup Loop Node * Setup Human in the Loop Node * Setup AIAgent Node for Scheduling Interview on Google Calendar * Test CV Approval / Interview Scheduler Workflow – Human in the Loop --- ## 7. 架構優化與進階應用 * Abstract Sub-WorkFlow to Create Separation of Concerns * Extra Information --- ## 8. 其他實用整合技巧 * Use WhatsApp to Converse with ChatBot * Use a WebHook Trigger Node to Trigger your Workflow * Use the HttpRequest Node to Make Requests to External Web APIs * Integrate JavaScript Code into Workflow using Code Node --- ## 9. 結尾 * Outro --- # 1. 介紹與基礎概念 ## 課程定位與目標 * n8n 是一個開源的工作流程自動化平台,用來串接各種 App、API、服務以自動化任務 * 課程設計從新手到能做出實務解決方案,強調不用大量寫程式也能做出複雜流程 * 講師 Gavin Lon 以四個範例工作流程帶學,逐步示範整合 WhatsApp、Google Sheets、Google Drive、Gmail、AI agent 等服務 ## n8n 的核心概念 * 透過圖形化介面把「節點(node)」串成「工作流程(workflow)」來自動化任務 * 節點代表一步操作,工作流程代表一連串自動化步驟 * 設計流程的思考方式和寫程式類似:條件判斷、迴圈、分離關注點、抽象化 * 需要更細緻功能時也可在流程中嵌入程式碼,但範例主軸是低碼/少碼 ## 先備網路整合標準:REST 與 OAuth 2 * REST 常用於呼叫 Web API,使用標準網路協定與常見資料格式(JSON/XML)交換資料 * OAuth 2 用於安全授權與權限取得,例如讓 n8n 以 Gmail 身分在流程中寄信 * 這些標準讓不同系統即使由不同團隊、不同時間、不同地點開發,也能安全互通 * n8n 把底層複雜度抽象掉,讓開發者聚焦在流程的業務規則 ## 範例 1:AI 排行聊天機器人(可延伸到 WhatsApp) * 用 ChatGPT 類模型做一個「依提示產出排行清單」的聊天機器人(如電影前五名、最大哺乳類等) * 作為入門範例,重點是熟悉 n8n 工作流程與把 AI 納入流程 * 之後示範把 WhatsApp 接進來,讓使用者能用 WhatsApp 和聊天機器人互動 ## 範例 2:WhatsApp 緊急求助通知(WhatsApp Panic App) * 用 WhatsApp 觸發緊急求助流程,從 Google Sheets 讀取使用者地址並通知值班人員 * 背景動機是提供低成本求助方式,讓沒有私人保全的人也能透過手機與網路求援 * 使用者在緊急狀況可只傳送簡短代碼(例如「1」)以節省時間 * 值班人員收到包含地址的通知後,可派遣應變人員前往處理 ## Panic App 的兩段流程設計 * 註冊流程:使用者填表提供 WhatsApp 號碼、姓名、地址等資料,寫入 Google Sheets;WhatsApp 號碼作為識別鍵 * 求助流程:WhatsApp Trigger 收到「1」後啟動,查表對應號碼取得地址,再把求助通知發給值班人員 ## 範例 3:履歷/CV 自動處理與「Human-in-the-loop」 * 把履歷 PDF 放入指定 Google Drive 資料夾,流程讀取檔名與檔案 ID 並逐一處理 * 透過迴圈逐份下載履歷,將 PDF 由二進位轉成文字後交給 AI 產生特定格式的摘要 * 摘要用 email 寄給負責人,信中提供「核准/拒絕」兩個按鈕讓人做決策 * 流程會暫停直到人按下核准或拒絕,體現人類參與的審核關卡 ## 範例 3 的後續自動化:核准後排面試 * 若核准,流程繼續並用 AI agent 協助在面試官的 Google Calendar 安排面試 * 若拒絕,跳過排程步驟並進入下一份履歷的迴圈處理 * 若資料夾有多份履歷,迴圈會對每份執行一次,逐一完成篩選與排程 ## 範例 4 與延伸內容的鋪陳 * 文中提到共四個完整範例,但此段主要詳述前三個與基礎標準,第四個細節未在這段文字中展開 * 影片結尾會再補充一些更酷但較不細講的工作流程點子,目的是刺激觀眾發想自己的自動化需求 ## 節點串接示意:以 Panic App 為例 * WhatsApp Trigger 節點接到 Google Sheets 查詢節點,再接到讀取/處理節點,最後接到 Gmail 發信節點 * 透過把節點依序串接,達到「收到求助→查表取地址→通知值班」的自動化任務 * WhatsApp 與 Google 服務能在同一流程中無縫整合,根本原因是 REST、OAuth 2 等互通與授權標準 --- # 2. n8n 自架環境與第一個 AI Workflow(Chatbot) ## 在 Hostinger 以自架模式部署 n8n  * 使用 Hostinger 的 VPS(Virtual Private Server)搭配預先配置的 n8n 範本,安裝相對簡單 * 流程是先選方案與付款週期(例如 1 個月/12 個月/24 個月),再選機房地區與作業系統 * 登入並填寫帳單資訊後完成設定,可選擇取消不需要的加購項目(如惡意掃描) * 系統會自動安裝,完成後到 VPS 管理頁面進入 n8n 應用管理 ## 建立 n8n 擁有者帳號 * 在 n8n 應用的管理頁面建立 owner 帳號 * 設定之後登入 n8n 會用到的密碼 * 可依需求自訂 n8n 的基本設定與介面外觀 ## 建立工作流程與資料夾整理  * 先建立資料夾集中管理新的工作流程(例如「my workflows」) * 進入資料夾後建立新 workflow,會看到工作畫布(canvas) ## 工作流程的 Trigger 概念  * 每個 workflow 必須從 Trigger 開始 * Trigger 可能是手動觸發、Webhook、表單提交等 * 建立 AI Agent 節點時,通常會自動加上「When chat message received」作為 Trigger ## AI Agent 節點介面與資料流   * 畫布呈現由左到右的資料流:Trigger 接收訊息 → 傳給 AI Agent * AI Agent 的「User Message / Prompt」通常會用表達式讀取輸入(例如從 JSON 的 chatInput) * 若尚未有輸入資料,執行節點會失敗或顯示無輸入狀態 ## 產生輸入與常見錯誤  * 可先在聊天輸入區輸入問題,讓 Trigger 產生輸入資料 * 常見錯誤是 AI Agent 尚未連接 Chat Model(缺少模型子節點),會提示必須連接並啟用 ## 連接 OpenAI Chat Model  * 在 AI Agent 的 Chat Model 連接點新增子節點 * 從清單中選 OpenAI Chat Model,讓 AI Agent 具備可用的 LLM  * 在模型下拉選單可挑選目標模型(示範使用 GPT-4.1 mini) ## 建立 OpenAI 憑證與 API Key  * 在 OpenAI Chat Model 的憑證欄位選擇建立新憑證 * 需要填入 API key 才能呼叫 OpenAI  * 到 OpenAI 平台建立帳號並在儀表板建立新的 secret key * 新建 key 只會顯示一次,需立刻複製貼回 n8n 並儲存  ## 測試執行與輸出過於冗長的問題  * 連接模型與填好憑證後,可在 AI Agent 直接執行節點測試 * 範例提問「前五名國家橄欖球隊」會得到含大量說明的回覆 * 需求是只要清單結果,避免多餘文字以節省 token ## User Prompt 與 System Prompt 的差異 * User Prompt 是使用者的問題或指令,用來描述想要的內容 * System Prompt 是在使用者互動前設定的規則,用來控制風格、格式、邊界與行為 * 透過 System Prompt 可要求更精簡、只輸出清單、限制格式等 ## 在 AI Agent 設定輸出格式的方向 * AI Agent 介面可調整 Prompt/參數來影響模型回應 * 可啟用「要求特定輸出格式」之類的設定,讓輸出符合預期結構 * 目標是讓回覆只輸出項目名稱,不附帶額外說明文字 --- ## 在 n8n 新增 system prompt 的位置與用途  * 透過新增選項加入「System message」來設定 system prompt * system prompt 用來定義 AI 的角色與行為規範 ## 用 Markdown 結構化 system prompt 內容  * 用標題區分段落,讓開發者更易閱讀與維護 * 角色區塊:定義 AI 是提供精簡排行清單的助理 * 指令區塊:規定輸出格式與內容限制 ## 輸出格式規則設定 * 每個排行項目必須獨立一行 * 每個項目只包含名稱,不包含額外資訊或描述 ## 用範例引導輸出格式(One-shot / Few-shot)  * 在 prompt 中提供輸出範例,讓模型學到期望的格式 * 例子包含「前五名國家橄欖球隊」與「前五名電影」 * 這屬於 few-shot(提供多個例子),介於 zero-shot 與更多例子的 few-shot 之間 ## 工作流程資料流與回傳格式  * Chat Trigger 的輸入流向 AI agent,再交由 LLM(例如 OpenAI)生成回覆 * 回傳內容會依 system prompt 的格式規則輸出 * 可在節點中查看輸出結果與 JSON 格式 ## 問題:沒有記憶就沒有對話脈絡 * 初次詢問「前五名電影」可正常回答 * 追問「下一個五名」會失敗,因為缺乏前一次問題的上下文 * 造成回覆要求使用者重新提供類別或背景 ## 為聊天機器人加入 Memory  * 在 AI agent 下方的 Memory 連接點加入記憶模組 * 選擇「Simple memory」作為基本記憶方案  * Context window length 設定記住最近幾次互動(範例使用 5) * Session ID 用來維持同一段對話的連續性,確保記憶能套用到同一會話 ## 加入 Memory 後的效果驗證  * 問「前五名橄欖球國家隊」後再問「下一個五名」可正確延續脈絡並補出第 6–10 名 * 更換主題(例如作者排行)後再問「下一個五名」也能延續該主題的上下文 ## 聊天機器人與 Agent 的差異定位 * 這裡做的是可對話的 chatbot,重點是回答問題並保留上下文 * 真正的 agent 會採取行動完成任務(例如安排面試並寫入行事曆) --- # 3. Hostinger 與 n8n 操作說明 ## 在 Hostinger(n8n)建立與命名工作流程  * 登入 Hostinger 後進入 n8n 管理介面 * 在個人空間建立資料夾(例如 my workflows)集中管理 * 將上一段建立的工作流程重新命名為「Example 1 - Chatbot」 # 4. Workflow 範例二:WhatsApp Panic App(註冊流程) * 新增另一個工作流程命名為「Panic App Registration」 ## 建立 Google Sheets 作為註冊資料庫  * 登入 Google Sheets 並建立新的空白試算表 * 將試算表命名為「panic app registration」 * 建立欄位標題:First name、Last name、Email、Address 1、Address 2、WhatsApp number * Address 1/2 以非正式聚落為例:Address 1 可放門牌或屋號、Address 2 放區塊/區域(如 Block B) * WhatsApp number 作為唯一識別欄位,用來對應每位註冊者 ## 在 n8n 新流程加入 Trigger:On Form Submission  * 在畫布中央按加號新增節點,工作流程必須從 trigger 開始 * 選擇「On form submission」作為觸發方式並建立註冊表單 * 設定表單標題(例如 Register user for security response) * 設定表單描述(註冊後可透過 WhatsApp 在緊急狀況發出求助) ## 表單欄位設定與驗證規則  * 依照 Google Sheets 欄位建立表單元素:First name、Last name、Email、Address 1、Address 2、WhatsApp number  * 所有欄位都設定為必填(required) * Email 欄位使用 email 類型以自動驗證格式,格式錯誤會阻止送出  * WhatsApp number 以可實際測試的有效號碼填入,用於後續 WhatsApp 求助流程測試與識別 ## 執行表單節點以產生測試資料  * 在 On form submission 節點中按 Execute step 生成可填寫的表單頁 * 填入測試資料並提交表單,確認表單送出成功 * 回到節點輸出查看提交結果,確認輸出欄位與內容正確 ## Pin 資料用於後續節點測試  * 將表單提交的輸出資料 pin 起來 * 之後測試後續節點時,不必每次重新填表即可重用同一份輸入資料 * 方便逐步建構流程並單獨測試每個節點 ## 串接 Google Sheets:Append Row  * 在畫布上將 On form submission 節點接到 Google Sheets 節點  * 選擇 Google Sheets 節點的操作為「Append row」把註冊資料新增成一列 * 提到已先設定好連線憑證,並準備示範如何建立這些憑證以連到指定試算表 --- ## 目標與節點角色 * 在 n8n 的「Append row in sheet」節點建立新憑證,讓 workflow 有權限把資料新增到你的 Google 試算表 * 節點輸入端有 pinned data,可直接用來測試新增一列,不必重跑前面的表單輸入 ## 建立 Google Sheets OAuth2 憑證的必要欄位  * n8n 會用 OAuth2,需要填入 Client ID 與 Client Secret * 這兩個值需到 Google Cloud Console 建立後再貼回 n8n ## 在 Google Cloud Console 建立專案  * 進入 console.cloud.google.com 並登入 * 建立新 Project,並切換到該專案作為目前專案 ## 啟用 Google Sheets API  * 進入「APIs & Services」→「Library」  * 搜尋並啟用「Google Sheets API」 ## 建立 OAuth Client ID 與 Consent Screen  * 進入「APIs & Services」→「Credentials」→「Create Credentials」→ 選「OAuth client ID」 * 先建立/設定 OAuth consent screen,填入 App name、支援/聯絡信箱、選 External audience、同意政策並建立  * 建立 OAuth client 時選 Web application,並準備填入 redirect/callback URI ## 設定 Callback URI 並取得 Client ID/Secret * 從 n8n 憑證畫面複製 Callback/Redirect URI * 回到 Google Cloud 的 OAuth client 設定,把 URI 貼到 Authorized redirect URIs * 建立後複製 Client ID 與 Client Secret,貼回 n8n 對應欄位並儲存 ## 加入測試使用者並完成授權同意  * 在 OAuth consent screen 的 Audience/Users 新增 Test user(通常加自己登入用的 Google 帳號) * 回到 n8n 憑證畫面點「Sign in with Google」 * 在同意畫面勾選/允許需要的權限後完成授權,n8n 顯示連線成功 ## 選擇目標試算表與工作表  * 在 n8n 的 Document/Spreadsheet 欄位改用「By ID」  * 從 Google 試算表網址複製 Spreadsheet ID(只取 ID 本身,不要包含多餘 URL 片段)  * 貼回 n8n 後,Sheet 下拉選單應能讀到工作表(例如 Sheet1) ## 欄位對應與動態表達式  * n8n 會讀取試算表第一列欄位名稱並顯示成可對應的欄位 * 從 Input JSON 把各欄位拖拉到對應欄位(First name、Last name、Email、Address1、Address2、WhatsApp number 等) * 對應值使用 Expression 形式,確保每次執行都能帶入不同資料 ## 以 Pinned Data 測試新增列 * 欄位對應完成後,直接執行「Append row」節點 * 回到試算表確認新資料列已新增且落在正確欄位下 ## 解除 Pin 並用正式 URL 跑整條流程  * 解除前一節點的 pinned data,改用實際表單提交來觸發  * 在 workflow 啟用 Active * 使用 Production URL 開啟表單並送出資料 * 回到試算表確認正式提交的資料也能成功新增為新列 --- # 5. Workflow 範例三:WhatsApp Panic 通知系統 ## 建立「Panic App Notification」工作流程的目的 * 新建工作流程命名為「panic app notification」 * 功能是處理使用者緊急求助:使用者透過 WhatsApp 傳訊息觸發流程 * 流程會用使用者的 WhatsApp 號碼到註冊用的試算表查找資料 * 若找到對應註冊資料,就把包含地址等資訊的通知寄給值班人員,由值班人員派遣支援 ## 以 WhatsApp 訊息作為 Trigger 的設計 * 每個工作流程都從 trigger 節點開始 * 使用者在緊急狀況不需要打長訊息,只要傳單一字元(例如「1」) * 流程會從 WhatsApp 訊息中取得發送者 WhatsApp 號碼,作為查表的唯一識別 ## 在 n8n 加入 WhatsApp Business Cloud Trigger  * 新增節點並選擇 WhatsApp Business Cloud * 選擇事件類型為「On messages」以接收訊息觸發  * 需要建立並設定 WhatsApp 的 OAuth 2 憑證,才能連接 Meta/WhatsApp ## 建立 WhatsApp 憑證的整體流程(Meta Business)  * 前往 Meta Business(Facebook Business)後用 Facebook 帳號登入 * 建立 Business Portfolio(商業組合/商業帳戶)  * 進入設定後在 Apps 區新增 App(Client app) * 設定 use case 為「Connect with customers through WhatsApp」 * 建好 App 後回到 App Dashboard 取得 App ID 與 App Secret ## 在 n8n 建立 OAuth 憑證並綁定  * 在 n8n 的 WhatsApp 節點新增 credential * 將 Meta App 的 App ID 填入 Client ID * 將 Meta App 的 App Secret 填入 Client Secret * 儲存後憑證建立成功,並套用到 WhatsApp trigger 節點 ## 在 Meta 的 WhatsApp API Quick Start 取得測試資源 * 進入 Use cases → Quick start → Start using the API * 系統會提供測試用 WhatsApp 號碼與 Phone Number ID * 這個測試號碼用來接收你送出的訊息以觸發工作流程 ## 產生 Access Token 並加入測試收訊者 * 在 Quick start 產生 access token 以便送測試訊息 * 管理 phone number list,新增要接收測試訊息的 WhatsApp 號碼 * Meta 會發送驗證碼到該 WhatsApp 號碼,完成驗證後才能用來測試 ## 發送測試訊息確認 WhatsApp Cloud API 可用 * 透過 Quick start 介面直接送出測試訊息(範例為 Hello World) * 成功收到訊息代表已具備從 Meta Cloud API 發送訊息的能力 * 也可用 cURL 或 Postman 執行同樣的測試請求 ## 在 n8n 執行 Trigger 節點並進入監聽狀態  * 回到 n8n 畫布,確認 trigger 節點已綁定正確的 WhatsApp OAuth 憑證 * 執行 trigger 節點讓它開始「listen」等待訊息 * 從 WhatsApp 送出單一字元(例如「1」)到測試號碼以觸發流程 --- ## 釘選測試資料以便後續節點測試  * 試算表輸出包含使用者唯一識別值與 WhatsApp 號碼(WA_ID) * 將包含 WA_ID 的輸出資料 pin 起來,避免每次都要從 WhatsApp 再觸發一次流程 ## 新增 Google Sheets 節點查找使用者資料  * 在畫布新增 Google Sheets 動作節點並選擇「Get row(s) in sheet」 * 使用既有的 Google Sheets 帳號憑證(例如 Google Sheets account 3) * 到 Google Cloud Console 確認專案內已啟用 Google Sheets API ## 以 Spreadsheet ID 連接註冊名單試算表 * 在 Google Sheets 節點的 Document 欄位改選「By ID」 * 從註冊名單試算表網址複製 Spreadsheet ID(只保留 ID 本體)  * Sheet 欄位用下拉選單選到 Sheet1,表示已成功讀取文件結構 ## 以 WhatsApp number 欄位過濾並取得該使用者整列資料  * Filter 的 Column 選「WhatsApp number」  * Value 改用 Expression,拖入前一節點的 WA_ID 作為比對值 * 執行節點後會輸出該使用者的姓名、地址、WhatsApp number 等欄位資料 ## 第二次查表:依區塊找出值班人員 Email   * 準備另一份試算表:Block Name 對應 On-duty Email * 再新增一個 Google Sheets「Get row(s)」節點,Document 改成另一份表的 Spreadsheet ID * Filter 的 Column 選「Block Name」 * Value 用 Expression,拖入使用者資料列中的 address two(例如 Block B)做比對 * 執行後輸出該 Block 對應的值班 email ## 啟用 Gmail API 以便從工作流程寄信  * 在同一個 Google Cloud 專案的 API Library 啟用 Gmail API  * 到 Credentials 建立新的 OAuth Client(Web application) * 從 n8n Gmail 憑證畫面複製 Redirect URL,貼回 Google Cloud 的 Authorized redirect URIs  * 複製 Client ID 與 Client Secret 回填 n8n,並進行 Sign in with Google 完成授權 ## 新增 Gmail「Send message」節點並組裝通知內容  * 新增 Gmail 節點選「Send message」 * To 欄位用 Expression,拖入「值班人員查表」節點輸出的 email * Subject 固定填「Panic」 * Message 改用 Expression,拖入「使用者查表」節點輸出的 first name、last name、address one、address two * Email type 選 text ## 節點測試與驗證結果 * 先用 pinned data 執行 Gmail 節點,確認信件成功送出且內容包含姓名與地址 * 到收件匣確認主旨為 Panic,內文含使用者姓名與地址資訊 ## 上線測試整條 WhatsApp → 查表 → 寄信流程  * 取消釘選測試資料,改用真實 WhatsApp 訊息觸發流程 * 將 workflow 切換為 Active * 從 WhatsApp 傳送指定訊號(例如「1」)到測試號碼觸發 * 確認流程會用 WA_ID 找到使用者資料、用 address two 找到值班 email,並寄出 Panic 通知信 --- # 6. Workflow 範例四:履歷審核/面試排程(Human in the Loop) ## 工作流程目標:自動安排第一輪面試(Senior C Developer) * 應徵者把履歷 PDF 放進指定 Google Drive 資料夾 * 工作流程逐一處理每份履歷,擷取重點摘要 * 摘要用 email 寄給面試流程負責人 * email 內提供「Approve / Decline」兩個按鈕讓負責人決策 * 若 Approve,AI agent 會在下週找最早可用時段,排一小時實體面試到主管 Google Calendar * 若 Decline,略過排程並處理下一份履歷 ## Human-in-the-loop 的核心設計 * 流程在關鍵節點暫停,等待人類做出批准或拒絕 * 人類負責判斷是否進入面試,AI 負責加速資訊整理與後續排程 * 透過摘要降低人工閱讀完整履歷的時間成本 ## 準備資料:Google Drive 履歷資料夾與 PDF  * 使用 ChatGPT 生成多份履歷內容並匯出成 PDF(範例為 8 份) * 建立/指定一個 Google Drive 資料夾作為履歷投遞位置 * 工作流程會以該資料夾為來源批次處理所有 PDF ## 建立工作流程與 Trigger  * 在 n8n 建立新 workflow,命名為「interview scheduler」 * 使用「Trigger manually」作為觸發節點,方便測試用按鈕手動啟動 * 也提到可改成監控 Google Drive 資料夾變動自動觸發,並在處理後移動檔案避免重複處理 ## 加入 Google Drive 節點:搜尋檔案   * 新增 Google Drive 節點並選擇「Search files and folders」 * 目標是列出指定資料夾內所有履歷 PDF 的檔名與檔案 ID * 節點輸出會包含每個檔案的 ID 與名稱,供後續迴圈逐份處理 ## 建立 Google Drive OAuth 2 憑證(Google Cloud Console)  * 進入 Google Cloud Console 並選定專案(示範沿用既有專案) * 在 API Library 啟用 Google Drive API * 到 Credentials 建立 OAuth Client ID,應用類型選 Web application  * 設定 Authorized redirect URI(從 n8n 複製提供的 redirect URL) * 取得 Client ID 與 Client Secret,回填到 n8n 建立 credential * 使用 Google 帳號登入並授權存取後,連線成功即可在 workflow 中讀取 Drive ## 用資料夾 ID 與進階查詢只抓 PDF   * 從 Google Drive 資料夾 URL 取得 folder ID * 在 n8n 的 Search Query 使用該 folder ID 作為 parents 條件  * 設定 search method 為 Advanced search  * 用 mimeType=application/pdf 過濾非 PDF 檔案 * 設定 return all 以取得資料夾內全部履歷 PDF ## 執行與 Pin 搜尋結果以便後續測試  * 執行 Google Drive 搜尋節點確認能回傳所有履歷檔案的 ID 與檔名 * 將輸出結果 pin 起來,避免每次測試都要重新跑搜尋步驟 --- ## 目標與整體流程 * 逐份處理多個 PDF 履歷檔,每次只處理一份 * 每份履歷先下載、抽取文字、摘要,再送給人員審核 * 審核結果(同意/拒絕)決定該份履歷是否繼續往下走流程 ## 為何需要 Loop 節點 * 需要「一份履歷一個迭代」的順序處理,避免同時並行導致人審節點混亂 * 使用 Loop 可確保每次只處理一個 PDF,完成後才進下一個 * 每次迭代代表一份 CV 的下載、抽取、摘要、送審 ## 設定 Loop Over Items / Split In Batches  * 選用「Loop over items / Split in batches」類型節點 * Batch size 設為 1,確保一次只取一個 PDF * 節點會產生預設的 Replace me 等節點,示範中先刪除以保持流程乾淨 * Done 連接點代表所有批次都跑完後的後續動作,Loop 連接點代表每個批次都會跑一次的分支 ## 測試 Loop 的輸出行為  * 執行 Loop 節點後可看到它會先取清單中的第一個項目(例如 Janet Winslow CV PDF) * 後續會依序輪到下一個項目,直到所有 PDF 都處理完 ## 每次迭代下載 PDF  * 在 Loop 分支上新增 Google Drive「Download file」節點 * 下載方式用「By ID」  * File 欄位改成 Expression,拖入迭代項目的檔案 ID * 執行後會取得該 PDF 的 binary 檔案內容供下一步使用 ## 從 PDF 抽取文字  * 在 Download file 後串接「Extract from file」節點並選「Extract from PDF」 * 執行後會把 PDF 內容轉成文字輸出(通常在 text 欄位) * 抽出的 text 將作為下一步 AI 摘要的輸入 * 為方便後續搭建與測試,可先把抽取結果 pin 起來 ## 下一步準備建立 AI Agent  * 在抽取文字後新增 AI Agent 節點 * AI Agent 會以抽取到的 text 作為輸入進行摘要 * 摘要結果將用於後續的人工審核與通知流程 --- ## 建立 AI Agent 節點與選擇模型 * 新增 AI Agent 節點  * 加入 Chat Model,選用 OpenAI Chat Models * 指定使用 GPT-4.1 Mini * 使用已設定好的 OpenAI 帳號與憑證連線模型 ## 設定 User Prompt 並注入 PDF 解析文字   * 將 AI Agent 的 prompt 來源設為「Define below」 * 貼上用來分析履歷(CV)的使用者訊息提示詞 * 以拖拉方式把「從 PDF 抽出的文字內容」節點插入 prompt 指定位置 * 確認 prompt 欄位顯示為可用狀態(綠色) ## 設定 System Prompt 角色與規則  * 新增 System Message 並貼上系統提示詞(Markdown 結構) * 指定角色為軟體公司 HR,目標職位為資深 C# 開發 * 要求擷取資訊:姓名、Email、C# 年資、資格亮點、工作經驗亮點、是否推薦 * 設定關鍵規則:C# 為最重要技能,若無 C# 經驗則不可推薦 ## 要求結構化輸出與 Output Parser   * 開啟「Require specific output format」 * 新增 Structured Output Parser 節點  * 提供 JSON 範例格式作為 one-shot 範例  * 欄位包含:fullName、email、cSharpYearsExperience、notableQualifications、notableWorkExperience、recommended ## 執行測試並驗證 AI 輸出 * 執行 AI Agent 節點確認可輸出符合 JSON 結構 * 例子輸出包含姓名、Email、C# 年資、資格與經驗摘要 * 依內容判斷 recommended 為 true 並建議進入第一輪面試 ## 加入 Human-in-the-loop 以 Gmail 寄信審核  * 新增 Human in the loop 節點並選 Gmail  * Resource 選 Message,Operation 選「Send and wait for response」 * 設定收件者為面試負責人信箱 * 設定 Email 主旨為「Approval required」 ## 組合 Email 內容與動態欄位   * Message 欄位切換為 Expression 以支援動態插值 * 內容包含:Applicant details、Notable qualifications、Notable work experience * 使用條件判斷字串輸出推薦語 * recommended 為 true 時顯示推薦 * recommended 為 false 時顯示不推薦 ## 設定審核按鈕並等待回覆  * 在 Approval options 選「Approve and Disapprove」 * 執行節點後工作流進入等待狀態(waiting for input)  * 收件者在 Email 中看到 Approve 與 Decline 按鈕  * 點擊後回傳結果至流程,輸出含 approved 布林值 ## 使用 If 節點依審核結果分流  * 新增 If 節點判斷 JSON.data.approved * approved 為 true 走 True 分支 * approved 為 false 走 False 分支 ## True 分支新增 AI Agent 以排程面試   * 在 True 連線新增 AI Agent 節點 * 目標是自動安排 1 小時面試 * 後續規劃使用 Google Calendar API 作為工具由 AI Agent 建立行程 * 新 AI Agent 需要替換預設 user prompt 為排程用提示詞 ---- ## Prompt 來源與使用方式 * 面試排程用的 prompt 已先寫好並放在 GitHub(interview scheduler AI agent prompt) * 為了省時未另外做 system prompt,而是把所有規則寫成一段 user prompt * 因為流程不是從 chat trigger 開始,所以在 AI agent 節點用「define + expression」把 prompt 貼到 user message 欄位 * prompt 內大量使用雙大括號動態欄位,會帶入應徵者姓名、email 等資料 ## Prompt 的任務角色設定 * 指定 AI 的角色是「協助在 Google Calendar 排面試」的助理 * 面試雙方包含面試官與應徵者,兩者 email 都會被用在事件建立中 ## Prompt 指令:抓取下週行事曆事件(Fetch events) * 要求呼叫「Get Calendar events」工具 * 抓取範圍限定為「下一個日曆週的週一 00:00 到週五 23:59」 * 若今天仍在本週,必須跳過本週,只看下週 * 以「當前日期」作為計算下一週區間的基準 ## Prompt 指令:找空檔(Find availability) * 解析抓回的事件,找出最早可用的 1 小時空檔 * 只在工作時段 08:00–18:00(當地時間)內選擇 * 不得與既有事件重疊 * 日期只允許下週週一到週五 ## Prompt 指令:建立面試事件(Schedule event)  * 找到空檔後,呼叫「Create calendar event」工具建立行事曆事件 * 工具名稱必須和 prompt 內引用的名稱一致,否則模型無法正確呼叫 ## 在 AI agent 加入 Google Calendar 工具:Create event  * 在 AI agent 的 tools 區按加號新增 Google Calendar tool * 操作選擇建立事件(create)  * 需要建立 OAuth 2 憑證以授權存取 Google Calendar API * 在 Google Cloud Console 啟用 Google Calendar API 後建立 OAuth Client(Web application) * 設定 redirect URI,取得 client ID 與 client secret 回填到 n8n 憑證並完成授權同意  ## 工具命名對齊 Prompt:create calendar event  * 建立事件的工具需手動命名為「create calendar event」 * 目的是讓工具名稱與 prompt 指定的呼叫名稱一致 ## 再新增 Google Calendar 工具:Get events  * 另外新增第二個 Google Calendar tool 用來抓取既有事件 * 操作選擇取得多筆事件(get many) * 工具命名為「get calendar events」以對齊 prompt 中的工具名稱 * 兩個工具可共用同一組 Google Calendar OAuth 憑證(同一帳號授權) --- ## Create Calendar Event 節點的 AI 參數化設定  * Start 與 End 原本是 now 與 now+1h,改成由 AI 依提示自動決定 * 在 Start 欄位點星星按鈕,讓 AI 產生值 * 在 End 欄位點星星按鈕,讓 AI 產生值 * Calendar 欄位選擇對應的 Gmail 帳號,指定要寫入哪一個 Google Calendar ## 在日曆事件中加入需要顯示的欄位  * 新增 Attendees 欄位並加兩筆,分別代表面試官與面試者 * 每個 Attendee 欄位都點星星按鈕,讓 AI 從提示中抽出 email * 新增 Description 欄位並點星星按鈕,讓 AI 生成事件描述 * 新增 Summary 欄位並點星星按鈕,讓 AI 生成事件標題/摘要 ## Get Calendar Events 節點的 AI 參數化設定  * Calendar 欄位同樣選擇對應 Gmail 帳號,確保查同一個行事曆 * 設定 Return All 取得完整事件結果 * After 與 Before 欄位點星星按鈕,讓 AI 決定查詢的時間範圍 * 目的為讓 AI 先讀取既有行程,避免排到衝突時間並用於決定下週面試時段 ## 執行時遇到的錯誤與修正  * 執行 workflow 出現「chat model sub node must be connected and enabled」 * 代表 AI agent 尚未掛上 Chat Model,無法運作  * 在 AI agent 加入 OpenAI Chat Model 並選擇 GPT-4.1 mini 後即可正常執行 ## 測試結果驗證 * workflow 執行成功後會為該 CV 自動排定下週的面試事件 * 在 Google Calendar 可看到已建立的事件,例如「Interview with Janet…」並帶有 8–9 a.m. 時段 * Attendees 會帶入提示中提供的 email(示範用假 email) * 因測試時 pin 了資料,Human-in-the-loop 未被迫等待審核而直接通過 ## 取消釘選資料以回到真實流程 * 為正式跑完整批 CV,需要把先前 pin 的資料全部 unpin * 包含 Human-in-the-loop 的 Send a message 節點等任何被釘選的節點輸出 * 取消釘選後,流程會在每份 CV 進入人工審核時真正停下等待回覆 ## 依核准/拒絕結果接回 Loop 的流程調整  * Human-in-the-loop 的 True 分支接到 AI agent,完成排程後再接回 Loop 節點以處理下一份 CV * Human-in-the-loop 的 False 分支直接接回 Loop 節點,略過 AI agent,不建立面試事件 * 兩條分支都回到 Loop,確保不論核准或拒絕都會繼續處理下一份履歷 ## 完整批次執行的預期行為 * Loop 以 batch size=1 逐份取出 CV * 每份 CV 先經人工審核 * 核准才會排面試並寫入日曆 * 拒絕則跳過排程直接進下一份 * 全部 CV 跑完後才會走到 Loop 的 Done 分支(若有接後續通知節點) --- ## 整體執行方式:8 份履歷逐一處理並卡在人類決策 * 工作流程會把資料夾內 8 份履歷依序處理 * 每份履歷都會寄出一封「需要決策」的 email * 流程每次都會暫停,直到人類按下 Approve 或 Decline 才會繼續下一份 ## 先修正 Prompt 內的 email 避免退信  * prompt 裡 attendees 的 email 若是假的會造成 mail delivery error * 示範改成兩個有效 email,避免流程因退信干擾測試 * 實務上 email 應該由前面節點輸出欄位動態帶入,不會硬寫死 ## 執行工作流程後的停點:Send email/Send a message * 啟動「Execute workflow」後流程開始跑 * 流程會停在寄信相關節點,這就是 human-in-the-loop 的等待點 * 每次暫停代表當前履歷的審核信已寄出,等待人類回覆決策 ## Email 審核內容:摘要+推薦+按鈕 * 每封信包含 AI 摘要的履歷重點(姓名、email、C# 年資、經驗、資格等) * 信中提供 Approve 與 Decline 按鈕作為唯一操作介面 * 信內也包含 AI 的推薦結論(例如推薦/不推薦) ## Approve 的結果:AI agent 排入下週最早 1 小時面試 * 人類按 Approve 後流程繼續 * AI agent 會依 prompt 規則在面試官 Google Calendar 下週週一到週五、08:00–18:00 找最早可用 1 小時空檔 * 找到空檔後建立行事曆事件並排入面試 ## Decline 的結果:跳過排程直接處理下一份 * 人類按 Decline 後不會建立行事曆事件 * 流程直接進入下一份履歷的迴圈處理 * 示例中拒絕原因包含:不符合 C# 年資、技能不匹配、缺乏工作經驗等 ## 逐次審核的示範決策走向 * 前幾位候選人因年資與經驗較符合而多數被 Approve * 遇到不符合需求者(例如沒有 C# 經驗、轉向 Python、零工作經驗)則 Decline * 每次按下按鈕後流程立即從暫停處恢復並進入下一輪 ## 最終結果驗證:Google Calendar 生成面試行程 * 流程結束後到行事曆確認排程結果 * 例子中總共排了 6 場面試,每場 1 小時,集中在週一連續時段 * 行事曆事件標題與描述會包含「Interview with {候選人姓名}」等欄位,顯示 AI 已正確帶入與組裝資訊 --- # 7. 架構優化與進階應用 ## 目的:把 AI 排面試相關節點抽成子工作流程  * 主流程節點越來越多,畫布像蜘蛛網一樣難維護 * 將「AI agent + 工具節點 + 模型子節點」抽出成 subworkflow 讓主流程更乾淨 * 子流程可重複被不同主流程呼叫,降低耦合並方便平行修改 ## 建立新的子工作流程並搬移節點 * 開新分頁建立新 workflow 作為子工作流程 * 在主流程中先移除/斷開原本 AI 排程區塊的連線 * 選取 AI 排程相關節點群組並複製 * 在新 workflow 中貼上這些節點 * 將子工作流程命名為可描述用途的名稱,例如 AI agent interview scheduler ## 在子工作流程加入 Execute Subworkflow Trigger 與輸入參數   * 在子工作流程新增 Trigger:「When executed by another workflow」 * 在 Trigger 節點新增要由主流程傳入的欄位 * 範例新增 full name(string) * 範例新增 email(string) * 將 Trigger 節點接到子流程內的 AI agent 起點,讓子流程接到參數後開始排程 ## 在主工作流程改用 Execute Subworkflow 呼叫子流程  * 在主流程新增「Execute Subworkflow」節點 * 在節點內選擇剛建立的子工作流程  * 主流程會看到子流程要求的參數欄位(full name、email) * full name 改用 Expression,從主流程的資料來源拖入申請者姓名 * email 可先用固定值測試,實務上應從資料來源動態帶入 ## 常見錯誤:子流程內引用了已不存在的欄位  * 改成子流程後,原本 prompt 中引用的欄位路徑會失效 * 典型現象是 prompt 或欄位表達式顯示紅色,執行錯誤提示 reference node 不存在 * 修正方式是把子流程內所有需要用到的姓名/Email 都改成引用 Trigger 參數 * 將 prompt 中「Interview with …」等片段改拖入 full name 參數,確保表達式變綠 ## 驗證子流程呼叫成功 * 重新執行主流程,流程會到 human-in-the-loop 節點等待審核 * 審核通過後會呼叫 Execute Subworkflow 節點 * 子流程執行成功代表 AI 排程邏輯已被成功抽離並可被主流程正常使用 ## 清理主流程並接回 Loop * 子流程可用後,主流程中原本被抽走的 AI agent 與其工具/模型節點可以刪除 * 將「Execute Subworkflow」節點後的輸出接回 Loop,讓每個申請者排程完成就處理下一份 * 讓主流程保留:人審判斷與迴圈控制,排程細節交由子流程負責 ## 觀察結果與提示 * 跑完整批後,日曆會出現多個面試事件,表示子流程在迴圈中被多次呼叫成功 * 排程是否完全避免衝突取決於提示詞與限制條件是否夠明確 * 這段示範重點是工作流程拆分與可重用性,不是保證排程策略永遠正確 --- # 8. 其他實用整合技巧 ## 額外示範的目的與範圍  * 這段不再逐步帶做工作流程,只展示一些延伸用法 * 目標是說明 n8n 能用不同介面與不同資料來源來驅動同一類型的流程 ## 範例:把排行聊天機器人改用 WhatsApp 當介面 * 原本用 n8n 內建的 chat message received 觸發器與機器人對話 * 改成接上 WhatsApp trigger 後,可直接用 WhatsApp 對機器人提問 * 示範在桌面版 WhatsApp 發問並收到排行回覆(例如最快的車、電影明星) * 因為有加 memory,所以追問「下一個五個」仍能延續前一題脈絡 ## 介面不侷限於 WhatsApp   * 同樣的聊天機器人也能換成 Discord、Telegram 等不同平台作為輸入介面 * 核心流程不變,只是替換觸發器與訊息通道 ## 範例:註冊流程不一定要用 n8n 內建表單  * 原本的 panic app registration 用 n8n 產生的表單節點收集資料 * 若想把註冊表單放在自家網站或第三方網站,可改用 Webhook 接收 HTTP POST 資料 * Webhook 節點會提供專屬 URL,外部表單可把資料送到該 URL 觸發流程  * 示範用 Postman 對 Webhook 發送資料後,註冊資訊成功寫入 Google Sheets ## 範例:用 HTTP Request 節點呼叫自訂 API 取得資料  * 透過 HTTP Request node 對指定 API endpoint 發出 GET 請求 * 範例 endpoint 回傳電影清單、類型、評分與影評情緒等資料 * 回傳資料可作為聊天機器人或 AI agent 的資料來源 ## 在流程中加入程式碼節點做資料整理  * 由於 API 回傳資料層級較深,直接給 AI agent 不易有效提示 * 使用 Code node(JavaScript)把巢狀結構攤平成較可讀的格式 * 程式碼用途是「格式轉換」,讓後續 AI agent 更容易消化資料並產生回覆 ## 另一種作法:把 HTTP Request 當成 AI agent 的工具  * 除了用 HTTP Request node,也可把 HTTP request tool 加到 AI agent 的 tools * 實測用 tool 取得資料時,AI agent 能直接理解回傳內容,較不需要額外寫 JavaScript 攤平  * prompt 指示 AI 用 HTTP request tool 取回電影資料,再用資料回答使用者問題 * 示範詢問驚悚類電影推薦,AI 先取資料再根據資料給出推薦清單與理由 # 9. 結尾 --- # Terminology * 工作流程自動化(Workflow Automation):以流程方式自動執行跨系統任務 * 開源平台(Open-source Platform):原始碼公開、可自由修改與部署的軟體 * n8n:一種以節點為核心的開源工作流程自動化工具 * 無程式碼(No-code):不需撰寫程式即可建立系統或流程的方法 * 低程式碼(Low-code):僅需少量程式即可完成複雜功能的開發模式 * 節點(Node):工作流程中的單一功能單位 * 工作流程(Workflow):由多個節點依序組成的自動化任務 * 流程設計(Flow Design):規劃節點連接順序與邏輯的過程 * 流程圖式開發(Visual Workflow):以圖形化介面建構流程的方式 * 條件判斷(Conditional Logic):根據條件決定流程分支的機制 * 迴圈(Loop):重複執行某段流程的控制結構 * 關注點分離(Separation of Concerns):將不同功能責任拆分的設計原則 * 抽象化(Abstraction):隱藏底層細節、只暴露必要介面的設計方式 * API(Application Programming Interface):系統之間溝通的標準介面 * REST(Representational State Transfer):以 HTTP 為基礎的網路服務架構風格 * RESTful API:遵循 REST 原則設計的 API * OAuth 2.0:用於授權第三方安全存取資源的標準協定 * Client ID:OAuth 2.0 中用來識別應用程式的識別碼 * Client Secret:OAuth 2.0 中用來驗證應用程式身分的密鑰 * 存取權杖(Access Token):授權後用於存取資源的憑證 * JSON(JavaScript Object Notation):常見的資料交換格式 * XML(eXtensible Markup Language):另一種結構化資料交換格式 * 互通性(Interoperability):不同系統能彼此協作的能力 * 節點畫布(Canvas):以視覺方式排列與連接節點的操作介面 * 觸發器(Trigger):啟動工作流程的事件或條件 * WhatsApp Trigger:由 WhatsApp 訊息觸發流程的節點 * Google Sheets 節點:與 Google 試算表互動的流程元件 * Gmail 節點:用於寄送電子郵件的流程元件 * 即時通知(Real-time Notification):事件發生後立即發送的訊息 * 緊急通報系統(Emergency Notification System):用於緊急狀況的即時求助機制 * 人在迴圈中(Human-in-the-loop):流程中需要人類決策或確認的設計 * 審核節點(Approval Step):等待人工核准後才繼續執行的流程步驟 * 檔案觸發(File Trigger):因檔案新增或變更而啟動的流程 * Google Drive 整合(Google Drive Integration):與雲端檔案系統互動的能力 * 二進位轉文字(Binary-to-Text Conversion):將檔案內容轉為可讀文字 * AI 代理(AI Agent):能在流程中執行推理與任務的智慧元件 * 履歷自動處理(Automated CV Processing):自動分析與篩選履歷的流程 * 任務暫停(Workflow Pause):流程等待外部事件再繼續的機制 * 行事曆排程(Calendar Scheduling):自動在行事曆中建立事件 * 系統整合(System Integration):將多個獨立系統組合運作 * 商業規則(Business Rules):流程中反映實際需求的決策邏輯 * 標準化通訊(Standardized Communication):依共同標準進行跨系統資料交換 * NAT(n8n Automation Tool):用於建立自動化工作流程的開源工作流引擎 * n8n 自架模型(Self-Hosting Model):使用者自行在伺服器上部署與管理 n8n 的方式 * VPS(Virtual Private Server):提供獨立資源與系統權限的虛擬化伺服器 * Hostinger:提供 VPS 與應用模板的一站式雲端主機服務商 * 預設模板(Preconfigured Template):已完成基本安裝與設定的系統映像 * 工作流程(Workflow):由多個節點組成、描述自動化邏輯的執行流程 * 節點(Node):工作流程中的基本單位,負責特定功能 * 觸發器(Trigger):啟動工作流程的起始節點 * Chat Trigger(On Chat Message):以聊天訊息作為輸入來源的觸發器 * AI Agent Node:n8n 中用來建立 AI 代理與聊天行為的核心節點 * Canvas(畫布):用來視覺化編排工作流程的操作介面 * 子節點(Sub-node):附加在主要節點下、提供額外功能的節點 * Chat Model Sub-node:為 AI Agent 提供語言模型能力的子節點 * LLM(Large Language Model):可進行自然語言理解與生成的大型模型 * OpenAI Chat Model:n8n 中用於連接 OpenAI 語言模型的節點 * GPT-4.1 mini:OpenAI 提供的輕量化高效語言模型 * 憑證(Credentials):用來驗證第三方服務存取權限的設定 * API Key:存取 OpenAI API 所需的密鑰 * OpenAI Platform:管理模型、API 與金鑰的官方平台 * Token(權杖):語言模型計費與生成的基本單位 * 成本控制(Cost Control):透過限制輸出與提示降低 API 使用費用 * Execute Step:在 n8n 中即時測試單一節點的功能 * JSON Expression:以 JavaScript 表達式方式存取資料的語法 * {{$json.input}}:n8n 中用來引用輸入資料的常見 JSON 表達式 * 資料流(Data Flow):資料在節點之間傳遞的方向與過程 * UX(User Experience):使用者在操作系統時的整體體驗 * 預設輸出(Default Output):模型未經限制時產生的原始回應 * 冗詞輸出(Verbose Output):包含多餘解釋文字的模型回應 * System Prompt(系統提示):用來控制模型行為與輸出格式的高優先級指令 * User Prompt(使用者提示):由使用者提供的實際問題或請求 * Prompt Engineering(提示工程):設計提示以引導模型產生期望輸出的技術 * 輸出格式控制(Output Formatting):限制模型回傳內容結構的技巧 * Required Output Format:n8n 中強制指定輸出格式的設定 * 精簡輸出(Concise Output):只保留必要資訊的回應形式 * 清單式輸出(List Output):以條列方式呈現結果的輸出格式 * Token Efficiency:以最少 token 完成任務的設計原則 * 開發者控制(Developer Control):由系統或開發者主導模型行為的能力 * 模型行為設定(Model Behavior Configuration):透過 system prompt 定義模型角色 * 文字雜訊(Text Noise):對任務無實質幫助的多餘文字 * 回應裁剪(Response Trimming):去除不必要內容以優化輸出 * 聊天機器人(Chatbot):以對話形式與使用者互動的 AI 系統 * 工作流程測試(Workflow Testing):在部署前驗證流程是否正確運作 * 模組化設計(Modular Design):以可組合節點建構系統的架構方式 * 系統提示(System Prompt):用來定義模型整體行為與角色的最高優先指令 * 系統訊息(System Message):在對話層級中設定模型規則與背景的訊息 * 角色定義(Role Definition):明確指定 AI 在任務中扮演的身份與職責 * 提示工程(Prompt Engineering):設計輸入以引導模型產生理想輸出的技術 * Markdown 格式(Markdown):用於結構化與提升可讀性的輕量標記語言 * 標題標記(Header):使用 Markdown 定義區塊結構的語法 * 指令區塊(Instruction Section):明確告知模型輸出規則的提示部分 * 輸出格式約束(Output Formatting Constraint):限制模型回應格式的規則 * 範例引導(Example-based Guidance):透過範例示範期望行為的方式 * 單次示例提示(One-shot Prompting):在提示中提供一個示例來引導模型 * 零樣本提示(Zero-shot Prompting):不提供範例、直接要求模型完成任務 * 少樣本提示(Few-shot Prompting):提供多個示例以幫助模型歸納模式 * 排名列表生成(Ranked List Generation):產生有順序項目清單的任務類型 * 子節點(Subnode):工作流程中附屬於主要節點的功能模組 * 聊天觸發器(Chat Trigger):由使用者對話啟動流程的機制 * 聊天模型(Chat Model):專門處理多輪對話的語言模型 * 憑證設定(Credentials Configuration):設定 API 存取權限的步驟 * OpenAI 整合(OpenAI Integration):透過 API 與 OpenAI 模型互動 * JSON 輸出(JSON Output):以結構化格式呈現模型回應的方式 * 畫布(Canvas):視覺化配置工作流程節點的介面 * 上下文(Context):模型用來理解當前輸入的歷史對話資訊 * 對話狀態(Conversation State):多輪互動中累積的語境資訊 * 記憶模組(Memory Module):用來保存與讀取過去對話的元件 * 簡易記憶(Simple Memory):僅保留最近對話的基礎記憶機制 * 上下文視窗長度(Context Window Length):模型可回顧的對話數量上限 * 會話識別碼(Session ID):用來區分不同對話線程的唯一識別 * 對話線程(Conversation Thread):同一 Session 下的連續互動 * 多輪對話(Multi-turn Conversation):包含多次來回問答的互動形式 * 語境遺失(Context Loss):缺乏歷史資訊導致模型無法理解指代 * 狀態保持(State Preservation):在互動中維持對話一致性的能力 * 記憶注入(Memory Injection):將歷史對話加入模型輸入的過程 * 聊天機器人(Chatbot):以對話形式回應使用者的系統 * 代理區別(Agent vs Chatbot):代理能執行行動,聊天機器人僅回應 * 行動能力(Action Capability):是否能影響外部系統的能力 * 工具連接器(Tool Connector):讓模型可呼叫外部功能的介面 * 記憶持久化(Memory Persistence):跨請求保存對話資訊的能力 * 互動回合(Interaction Turn):使用者與模型的一次問答循環 * 語意延續(Semantic Continuity):模型在對話中保持主題一致的能力 * 上下文解析(Context Resolution):理解省略或指代內容的能力 * 會話管理(Session Management):控制與維護對話流程的機制 * 輸出一致性(Output Consistency):模型回應符合既定規則的程度 * 專案管理(Project Management):在平台中組織與命名不同工作流程的結構 * 工作區(Workspace):用來集中管理多個流程與專案的環境 * 雲端主機平台(Hosting Platform):提供應用程式部署與存取的服務 * 使用者驗證(User Authentication):透過帳號憑證確認使用者身分的機制 * 第三方登入(Third-party Login):使用 Google 等外部帳號進行登入 * 應用程式管理(Application Management):管理已部署應用的設定與存取 * 表單觸發器(Form Submission Trigger):由表單提交事件啟動流程的節點 * 線上表單(Web Form):讓使用者透過瀏覽器輸入資料的介面 * 表單元素(Form Element):表單中的單一輸入欄位 * 必填欄位(Required Field):使用者必須填寫才能提交的表單欄位 * 欄位驗證(Field Validation):檢查輸入資料是否符合格式規則 * 電子郵件驗證(Email Validation):確保電子郵件格式正確的驗證機制 * 預設提示文字(Placeholder Text):顯示在輸入框中的引導文字 * 試算表(Spreadsheet):以列與欄儲存結構化資料的文件 * Google Sheets:Google 提供的雲端試算表服務 * 欄位標題(Column Header):試算表中每一欄的名稱 * 資料列(Row):試算表中一筆完整資料紀錄 * 唯一識別碼(Unique Identifier):用來唯一識別使用者或資料的欄位 * WhatsApp 號碼(WhatsApp Number):用作使用者識別的通訊帳號 * 表單資料擷取(Form Data Capture):收集使用者提交資訊的過程 * 節點執行(Node Execution):單一流程節點的實際運行 * 測試執行(Test Execution):在設計階段驗證節點輸出的操作 * 節點輸出(Node Output):節點執行後產生的資料結果 * 資料釘選(Data Pinning):固定測試資料以供後續節點重複使用 * 釘選資料(Pinned Data):被鎖定、不隨重新執行而改變的資料 * 隔離測試(Isolated Testing):單獨測試流程某一段的方式 * 節點串接(Node Connection):將多個節點依序連結成流程 * Google Sheets 節點:與 Google 試算表互動的流程元件 * 新增資料列(Append Row):在試算表底部加入新資料的操作 * 憑證(Credentials):用來驗證系統存取權限的設定 * API 授權(API Authorization):允許流程存取外部服務的安全機制 * OAuth 2.0 授權流程(OAuth 2.0 Authorization Flow):取得存取權杖的標準流程 * 權限範圍(Scope):定義應用可存取資源範圍的設定 * 表單提交回饋(Submission Feedback):提交後顯示給使用者的訊息 * 使用者註冊(User Registration):將使用者資料加入系統的流程 * 緊急應用註冊(Emergency App Registration):為緊急服務建立使用者名單 * 非正式住址(Informal Address):不含郵遞區號的簡化地址格式 * 社群安全應用(Community Safety Application):用於社區安全的系統設計 * 測試帳號(Test Account):用於驗證流程功能的實際帳號 * 表單預覽(Form Preview):在正式使用前查看表單外觀 * 流程初始化(Workflow Initialization):流程建立後的第一個啟動階段 * 畫布操作(Canvas Interaction):在視覺介面中編輯流程的行為 * 流程持續建構(Incremental Workflow Building):逐步擴充流程功能的方法 * OAuth 2.0:一種標準授權協定,用於讓第三方應用在不暴露密碼的情況下存取使用者資源 * Google Sheets API:Google 提供的介面,用於以程式方式讀寫試算表 * 憑證建立(Credential Creation):在第三方平台建立存取權限所需識別資訊的流程 * Client ID:OAuth 中用來識別應用程式身分的公開識別碼 * Client Secret:OAuth 中用來驗證應用程式身分的私密金鑰 * Google Cloud Console:用於管理 Google 雲端專案與 API 的控制台 * 雲端專案(Cloud Project):Google Cloud 中用來集中管理資源與權限的單位 * API 啟用(API Enablement):在雲端專案中允許特定 API 被使用的設定 * API Library:Google Cloud 中列出所有可用 API 的服務庫 * OAuth 同意畫面(Consent Screen):使用者授權第三方應用存取資料時顯示的畫面 * External Audience:允許非組織內部使用者進行 OAuth 授權的設定 * Test User:在 OAuth 尚未正式發布前,用來測試授權流程的帳號 * 授權範圍(Scope):OAuth 中定義應用程式可存取資料範圍的設定 * Callback URI:OAuth 授權完成後回傳結果的指定網址 * Redirect URI:OAuth 流程中將使用者導回應用程式的路徑 * 應用程式類型(Application Type):OAuth 憑證中定義應用運作形式的設定 * Web Application:以瀏覽器與 HTTP 為主要互動方式的應用類型 * Google 帳戶驗證(Google Authentication):透過 Google 登入進行身分確認的流程 * 授權成功(Authorization Success):OAuth 流程完成並取得存取權限的狀態 * 存取權杖(Access Token):OAuth 流程中用來實際呼叫 API 的臨時憑證 * n8n 憑證管理(Credential Management):在 n8n 中集中管理第三方連線資訊的機制 * Append Row:在試算表中新增一列資料的操作 * Google Sheets 節點:n8n 中用於操作 Google 試算表的功能節點 * 表單提交觸發器(Form Submission Trigger):在表單送出時啟動流程的觸發節點 * Pinned Data:在測試流程時固定輸入資料以便重複執行的功能 * Execute Node:在 n8n 中單獨執行某一節點以進行測試的操作 * 文件 ID(Document ID):Google 試算表在 URL 中的唯一識別碼 * Sheet ID:試算表中單一工作表的識別資訊 * From List:以動態列表方式選擇資源的設定選項 * JavaScript Expression:n8n 中用來動態取得資料的表達式語法 * {{$json}}:n8n 中存取輸入 JSON 資料的預設物件 * 動態欄位對應(Dynamic Field Mapping):將輸入資料對應到目標欄位的機制 * 拖拉綁定(Drag-and-Drop Binding):以拖曳方式建立資料對應關係的操作 * 欄位標頭(Column Header):試算表中用來定義資料意義的第一列欄位名稱 * 表單資料收集(Form Data Collection):透過表單取得使用者輸入資訊的流程 * 生產環境(Production Environment):正式對外提供服務的執行環境 * 測試環境(Test Environment):用於驗證流程正確性的非正式環境 * Production URL:正式環境中觸發工作流程的網址 * Workflow 啟用(Workflow Activation):將流程切換為可實際執行狀態的操作 * 狀態切換(Active Toggle):控制流程是否啟用的開關設定 * 資料寫入(Data Ingestion):將外部資料存入系統或資料庫的過程 * 表單驗證(Form Validation):檢查使用者輸入是否符合格式規範的機制 * 自動化資料同步(Automated Data Sync):透過流程自動將資料寫入外部服務的技術 * 事件觸發式流程(Event-driven Workflow):由外部事件即時啟動的自動化流程 * WhatsApp 通知系統(WhatsApp Notification System):以 WhatsApp 作為訊息入口的通報機制 * WhatsApp Business Cloud API:由 Meta 提供的官方 WhatsApp 雲端通訊介面 * 訊息觸發器(Message Trigger):因收到訊息而啟動流程的節點 * 緊急通報流程(Panic Notification Workflow):處理緊急求助事件的自動化流程 * 使用者識別(User Identification):根據唯一資訊辨識使用者的機制 * 唯一鍵查詢(Unique Key Lookup):使用唯一欄位查找資料列的操作 * 試算表查詢(Spreadsheet Lookup):從試算表中搜尋符合條件資料的動作 * 條件比對(Conditional Matching):比對輸入資料與既有資料是否一致 * 註冊驗證(Registration Validation):確認使用者是否已完成註冊的檢查流程 * 即時回應系統(Real-time Response System):在事件發生後立即反應的系統 * 值班人員(On-duty Operator):負責接收與處理通知的人員角色 * 郵件通知(Email Notification):透過電子郵件傳送事件資訊的機制 * 事件派遣(Incident Dispatch):根據通報資訊派遣應對資源的流程 * 私人保全系統(Private Security System):非政府的安全應變服務 * 社群安全通報(Community Safety Alert):社區層級的緊急求助機制 * 最小輸入設計(Minimal Input Design):在緊急情境下減少使用者操作的設計原則 * 單字元指令(Single-character Command):以極簡訊息代表明確行為的指令設計 * 高壓情境設計(High-stress UX Design):針對使用者慌亂狀態設計的介面思維 * 第三方平台整合(Third-party Platform Integration):與外部服務系統進行串接 * Meta 商業管理平台(Meta Business Manager):管理 Facebook 與 WhatsApp 商業應用的後台 * 商業資產(Business Asset):隸屬於商業帳戶的應用與資源 * 商業組合(Business Portfolio):集中管理多個應用與資產的結構 * 應用程式建立(App Creation):在平台上註冊新應用的流程 * 用例選擇(Use Case Selection):指定應用目的以啟用對應功能 * 用戶端應用(Client App):代表第三方系統與 API 互動的應用 * OAuth 2.0 授權(OAuth 2.0 Authorization):安全授權第三方存取資源的標準 * 用戶端識別碼(Client ID):OAuth 中識別應用身分的公開參數 * 用戶端密鑰(Client Secret):OAuth 中驗證應用身分的私密金鑰 * 存取權杖(Access Token):授權後用來呼叫 API 的憑證 * 權杖生成(Token Generation):取得 API 存取憑證的過程 * API 快速入門(API Quick Start):協助初次使用者設定 API 的流程 * 測試號碼(Test Phone Number):供開發與測試使用的臨時 WhatsApp 號碼 * 電話號碼 ID(Phone Number ID):WhatsApp Cloud API 用來識別號碼的識別碼 * 訊息接收端(Message Receiver):負責接收訊息的 WhatsApp 號碼 * 驗證流程(Verification Flow):確認號碼或帳戶所有權的安全步驟 * 驗證碼(Verification Code):用於身分驗證的一次性代碼 * 桌面版 WhatsApp(WhatsApp Desktop):在電腦上使用的 WhatsApp 應用 * 即時監聽(Listening Mode):流程節點等待事件發生的狀態 * 模擬測試(Simulation Testing):以測試資料驗證流程行為的方法 * Curl 指令(cURL Command):以命令列方式呼叫 API 的工具 * API 測試工具(API Testing Tool):用於測試 API 請求與回應的軟體 * 端對端流程測試(End-to-end Testing):驗證整個流程是否正確運作的測試方式 * 使用者識別(User Identification):透過唯一欄位(如 WhatsApp 號碼)確認使用者身分 * WA_ID(WhatsApp ID):WhatsApp 平台中用來唯一識別使用者的號碼 * 資料釘選(Pinned Data):在測試流程中固定節點輸入資料以便後續重複使用 * 節點測試(Node Testing):單獨執行某一節點以驗證其功能是否正確 * Google Sheets 查詢(Google Sheets Lookup):從試算表中依條件查找資料的操作 * Get Row Operation:從 Google Sheet 中讀取符合條件的單一資料列 * 條件過濾(Conditional Filtering):依指定欄位值篩選符合條件的資料 * 欄位比對(Column Matching):將輸入值與試算表中特定欄位進行比對 * 動態條件(Dynamic Condition):由流程中即時產生的值作為查詢條件 * WhatsApp Trigger:以 WhatsApp 訊息作為流程啟動來源的觸發機制 * 事件驅動流程(Event-Driven Workflow):由外部事件觸發執行的自動化流程 * 使用者註冊表(Registration Sheet):儲存使用者基本資料的試算表 * 區域分流(Zone-Based Routing):依地理區域或區塊將事件導向不同負責人 * 值班人員(On-Duty Personnel):負責即時處理事件或通知的指定人員 * 區塊對應表(Block Mapping Sheet):將區域或區塊對應到負責人的資料表 * 第二層查詢(Secondary Lookup):在流程中進行第二次資料查找以補充資訊 * 地址解析(Address Resolution):從資料表中取得完整地址資訊 * 關聯式資料查詢(Relational Lookup):跨多個資料表取得關聯資訊的流程 * Gmail API:Google 提供用於發送與管理電子郵件的程式介面 * 郵件通知(Email Notification):以電子郵件方式傳送事件或警示資訊 * Panic Notification:緊急事件觸發後發送的即時警示訊息 * Gmail Send Message Node:n8n 中用於發送電子郵件的功能節點 * OAuth 憑證重用(Credential Reuse):在多個節點中使用同一組授權設定 * API Scope:定義 API 可執行操作範圍的權限設定 * 郵件主旨(Email Subject):電子郵件中用於快速識別內容的標題 * 郵件內文(Email Body):電子郵件中包含詳細資訊的主要內容 * 變數插值(Variable Interpolation):在文字中嵌入動態資料的技術 * 多來源資料組裝(Multi-Source Data Assembly):整合多個節點輸出形成完整訊息 * 即時告警(Real-Time Alert):事件發生後立即通知相關人員的機制 * 自動派遣(Automated Dispatch):系統自動將事件資訊交付處理單位 * 實體安全流程(Physical Security Workflow):用於處理實體安全事件的自動化流程 * 工作流程啟用(Workflow Activation):將流程切換為可接收事件的狀態 * 生產測試(Production Test):在正式環境中驗證流程端到端運作 * 訊息解析(Message Parsing):從收到的訊息中擷取關鍵資訊 * 單一指令觸發(Single-Command Trigger):使用極簡輸入(如「1」)啟動流程 * 容錯設計(Fault Tolerance):流程在非預期輸入下仍能正常運作的能力 * 節點串接(Node Chaining):將多個節點依序連接形成完整邏輯 * 流程可擴展性(Workflow Scalability):支援更多使用者或區域而不需重構的能力 * 多用戶支援(Multi-User Support):流程可同時處理多位使用者事件 * 多區域通知(Multi-Zone Notification):依不同區域發送不同通知對象 * 即時監控(Live Monitoring):持續觀察流程是否正常運作的能力 * 端到端流程(End-to-End Workflow):從事件輸入到通知輸出的完整自動化流程 * 人在迴圈(Human-in-the-loop):流程在關鍵決策點暫停,等待人類判斷後再繼續 * 面試自動化流程(Interview Scheduling Automation):結合 AI 與人工審核的招聘流程 * 履歷處理流程(CV Processing Workflow):自動讀取、分析並整理求職者履歷 * 指定資料夾監控(Designated Folder Processing):以特定 Google Drive 資料夾作為輸入來源 * PDF 履歷文件(PDF Resume Files):以標準化格式提供的求職文件 * 批次處理(Batch Processing):一次處理多份履歷文件的流程設計 * 迴圈節點(Loop / Iteration):針對每一份履歷逐一執行相同處理步驟 * AI 履歷摘要(AI Resume Summarization):由語言模型萃取重點資訊 * 關鍵資訊萃取(Key Information Extraction):擷取技能、經驗、背景等重要內容 * 招聘決策支援(Hiring Decision Support):輔助招聘人員快速做出判斷 * 電子郵件審核介面(Email-based Review Interface):透過 Email 提供摘要與操作選項 * 核准按鈕(Approve Action):允許候選人進入下一輪面試的人工操作 * 拒絕按鈕(Decline Action):終止候選人流程的人工操作 * 流程暫停(Workflow Pause):等待人類輸入前不繼續執行後續步驟 * 條件分支(Conditional Branching):根據人工選擇走不同流程路徑 * 面試排程代理(Interview Scheduling Agent):負責安排面試時間的 AI agent * Google Calendar 整合(Google Calendar Integration):自動寫入面試行程 * 最早可用時段搜尋(Earliest Available Slot):尋找下週最早可行的一小時時段 * 實體面試(In-person Interview):非線上、需排定地點與時間的面試形式 * 人工裁量權(Human Discretion):由人類負責最終錄取與否的關鍵判斷 * 手動觸發器(Manual Trigger):透過按鈕手動啟動流程以便測試 * Google Drive 搜尋節點(Google Drive Search Node):列出指定資料夾內檔案 * 進階搜尋(Advanced Search):使用條件式查詢精準篩選檔案 * MIME 類型過濾(MIME Type Filtering):只處理 application/pdf 類型檔案 * 資料夾 ID(Folder ID):唯一識別 Google Drive 資料夾的參數 * 父資料夾查詢(Parents Query):限定搜尋結果來源的查詢條件 * OAuth 2.0 驗證(OAuth 2.0 Authentication):安全授權存取 Google Drive * Google Drive API:用於存取與管理雲端檔案的 API * API 啟用(API Enablement):在 Google Cloud Console 中啟用服務 * 用戶端 ID 與密鑰(Client ID / Client Secret):OAuth 驗證必要憑證 * 授權重新導向 URI(Redirect URI):OAuth 授權流程中的回呼位址 * 使用者同意畫面(Consent Screen):請求使用者授權資料存取 * 檔案中繼資料(File Metadata):包含檔名與檔案 ID 的結構化資訊 * 測試資料釘選(Pinned Test Data):固定輸出以利後續節點開發與測試 * 迴圈節點(Loop Node):在工作流程中重複執行一組節點的控制結構 * Loop Over Items:n8n 中用來逐筆處理輸入項目的迴圈節點 * 批次大小(Batch Size):每次迴圈處理的項目數量設定 * 單筆處理(Single-Item Processing):一次只處理一個資料項目的執行模式 * for 迴圈(For Loop):程式設計中用於依序重複執行的控制結構 * while 迴圈(While Loop):依條件判斷是否持續執行的迴圈結構 * 人在迴圈中(Human-in-the-Loop):需要人類審核或決策才能繼續的自動化流程設計 * 文件逐筆審核(Per-Document Review):每份文件需獨立進行人工審核的流程模式 * CV(Curriculum Vitae):求職者的履歷文件 * PDF 處理流程(PDF Processing Pipeline):從下載到解析 PDF 的一連串處理步驟 * 迭代(Iteration):迴圈中單次重複執行的流程單位 * 並行處理(Parallel Processing):多個項目同時處理的執行方式 * 序列處理(Sequential Processing):項目依序、一個接一個處理的方式 * 流程控制(Flow Control):決定節點執行順序與條件的機制 * Done 連接點(Done Connector):表示迴圈所有項目處理完成後的出口 * Google Drive 節點(Google Drive Node):n8n 中用來操作 Google Drive 的功能節點 * 檔案下載(File Download):從雲端儲存服務取得檔案的操作 * Download File Node:n8n 中專門用來下載檔案的節點 * 檔案 ID(File ID):Google Drive 中每個檔案的唯一識別碼 * Binary Data(二進位資料):以非文字形式儲存的檔案內容 * Expression 模式(Expression Mode):允許使用動態資料與變數的設定模式 * 動態欄位綁定(Dynamic Field Binding):將流程中即時資料綁定到節點參數 * Extract From File Node:n8n 中用來解析檔案內容的節點 * PDF 文字擷取(PDF Text Extraction):將 PDF 內容轉換為可讀文字的技術 * 文件解析(Document Parsing):將結構化或非結構化文件轉成可用資料 * OCR 前處理(OCR Preprocessing):在文字擷取前對文件進行的準備流程 * 純文字輸出(Plain Text Output):移除格式後的文字內容 * Text Field:節點輸出中存放文字資料的欄位 * 資料釘選(Pinned Data):固定測試資料以便重複執行節點 * 節點單步執行(Execute Step):只執行單一節點以進行測試 * 節點輸入面板(Input Panel):顯示節點接收資料的介面 * 節點輸出面板(Output Panel):顯示節點執行結果的介面 * 履歷摘要(CV Summarization):將履歷內容濃縮成重點摘要的任務 * AI Agent:能自主接收輸入並產生智慧輸出的模型節點 * 文件理解(Document Understanding):模型理解文件語意與結構的能力 * 工作流程組裝(Workflow Assembly):逐步建立完整自動化流程的過程 * 節點替換(Node Replacement):以新節點取代預設或占位節點的操作 * Replace Me 節點(Placeholder Node):迴圈建立時自動產生的佔位節點 * 節點刪除(Node Deletion):移除不需要節點的操作 * 人工審核節點(Human Review Step):需要人類確認或決策的流程節點 * 招聘流程自動化(Recruitment Workflow Automation):自動處理履歷與審核流程的系統設計 * 流程可讀性(Workflow Readability):讓流程結構清楚易懂的設計特性 * AI 代理(AI Agent):可自主規劃並執行任務的智慧程式,能依目標做決策與調用工具 * 節點(Node):工作流程中的功能模組,用於處理資料或觸發動作 * 工作流程(Workflow):以節點串接的自動化流程,描述資料如何被處理與傳遞 * 低程式碼(Low-code):以圖形化配置為主、少量程式即可完成自動化與應用邏輯 * 流程編排(Orchestration):協調多個服務/節點的執行順序、依賴關係與資料流 * 連線器(Connector):用來連接外部服務(如 Gmail、Google Calendar、OpenAI)的整合元件 * 憑證(Credentials):存取外部服務所需的授權資訊(如 API Key、OAuth Token) * OAuth 2.0(OAuth 2.0):常用授權框架,讓應用以委派方式存取使用者資源 * API 金鑰(API Key):用於識別與授權呼叫 API 的密鑰字串 * 聊天模型(Chat Model):以對話形式輸入輸出、擅長指令理解與生成的語言模型 * GPT-4.1 mini(GPT-4.1 Mini):OpenAI 的輕量化聊天模型選項,平衡成本與效能 * 系統提示(System Prompt):用來定義模型角色、規則與行為邊界的最高優先級指令 * 使用者提示(User Prompt):用來描述當前任務需求與輸入內容的提示文字 * 提示工程(Prompt Engineering):設計提示結構以提升模型輸出品質與可控性的方法 * 護欄(Guardrails):限制模型行為的規則集合,用於降低偏差與錯誤輸出風險 * 結構化輸出(Structured Output):要求模型以固定結構(如 JSON)回傳可機器解析的結果 * 輸出剖析器(Output Parser):將模型輸出解析成結構化資料並驗證欄位格式的元件 * 一次示例(One-shot):在提示中提供單一範例以引導模型學習輸出格式與風格 * JSON 架構(JSON Schema):描述 JSON 欄位型別、必填與約束的規格,用於驗證輸出 * 布林值(Boolean):只有 true/false 的資料型別,常用於條件判斷 * 條件分支(Conditional Branching):根據條件結果走不同流程路徑(true/false) * IF 節點(IF Node):在流程中依條件運算結果進行分流的節點 * 人在迴圈(Human-in-the-loop):把人類決策嵌入自動化流程以提升可靠性與治理能力 * 核准/拒絕(Approve/Disapprove):在人在迴圈中以按鈕回傳決策狀態的互動機制 * 送出並等待回覆(Send and Wait for Response):發送訊息後暫停流程直到收到人工回應的操作模式 * 工作流程暫停(Workflow Pause):流程因等待外部事件(如人工核准)而停止後續執行的狀態 * 回呼(Callback):外部系統在事件發生時回傳資料以續跑流程的機制 * 事件觸發(Event Trigger):由外部事件(如按鈕點擊、收信)啟動或推進流程的方式 * Gmail 節點(Gmail Node):用於發送郵件、等待回覆等 Gmail API 整合的流程元件 * Google Calendar API(Google Calendar API):用於建立與查詢行事曆事件的介面 * 工具呼叫(Tool Calling):模型根據需求呼叫外部工具/API 以完成任務的能力 * 函式呼叫(Function Calling):以明確函式簽名讓模型產生參數並觸發特定操作的機制 * 工具鏈(Toolchain):多個外部工具與模型協作完成任務的整體組合 * PDF 擷取(PDF Extraction):從 PDF 中提取可用文字內容以供後續分析 * 文件解析(Document Parsing):將非結構化文件轉為可處理的結構化/半結構化資料 * 履歷(CV/Resume):求職者的經歷與技能文件,作為篩選與面試依據 * 候選人評估(Candidate Screening):依職缺要求對履歷進行初步審核與篩選 * 摘要生成(Summarization):將長文本壓縮為重點資訊的生成式任務 * 招募建議(Hiring Recommendation):基於條件與內容分析給出的錄用/面試建議結論 * 資料綁定(Data Binding):把上游節點輸出欄位映射到下游節點輸入欄位的機制 * 表達式(Expression):在節點欄位中用語法動態引用/運算資料(如 JavaScript 表達式) * 內嵌條件(Inline If):在文字模板中用條件運算決定要插入哪段內容的寫法 * 範本訊息(Template Message):由固定文本與動態欄位組合而成的可重用訊息格式 * 管線(Pipeline):資料依序通過多個處理步驟形成的端到端處理鏈 * 分離關注點(Separation of Concerns):將流程切分為獨立職責模組以提升可維護性與可測試性 * 釘選資料(Pin Data):固定某次執行輸出作為測試輸入,方便逐步開發與除錯 * 步進執行(Step Execution):只執行單一節點/步驟以驗證輸入輸出是否正確 * 面試排程(Interview Scheduling):依候選人核准結果自動建立面試事件並寫入行事曆 * 一小時面試(One-hour Interview Slot):常見面試時長配置,用於行事曆事件的時間區塊設定 * 系統提示(System Prompt):用於定義 AI agent 的角色、行為規則與整體目標 * 使用者提示(User Prompt):直接提供給模型的任務指令與操作流程描述 * 動態欄位(Dynamic Fields):在提示中以變數形式插入即時資料 * 表達式語法(Expression Syntax):用於在工作流中動態計算或引用資料 * 工具呼叫(Tool Calling):語言模型主動呼叫外部 API 以完成任務 * Google Calendar API:用於讀取與建立行事曆事件的介面 * 事件建立(Create Calendar Event):在行事曆中新增排程的操作 * 事件查詢(Get Calendar Events):取得既有行事曆事件的操作 * 工具命名對齊(Tool Name Alignment):提示中工具名稱需與實際工具一致 * OAuth 2.0 授權(OAuth 2.0 Authorization):安全存取 Google Calendar 的驗證機制 * Client ID(用戶端 ID):OAuth 驗證中識別應用程式的識別碼 * Client Secret(用戶端密鑰):OAuth 驗證中用於簽署請求的私密金鑰 * 重新導向 URI(Redirect URI):OAuth 授權流程完成後的回呼位置 * API 啟用(API Enablement):在雲端專案中啟用特定服務 * 雲端專案(Cloud Project):Google API 資源與權限的管理單位 * 行事曆事件衝突(Calendar Conflict):新事件與既有事件時間重疊的狀況 * 可用時段搜尋(Availability Search):找出未被占用的時間區段 * 工作時間限制(Working Hours Constraint):限定排程只能在特定時段內 * 下一週範圍(Next Week Window):僅考慮下個曆週的時間區間 * 本週排除(Current Week Exclusion):避免在當前週安排事件 * 最早可用時段(Earliest Available Slot):符合條件的第一個可行時間 * 在地時區(Local Time Zone):以使用者所在時區計算時間 * 行事曆同步(Calendar Synchronization):AI 與行事曆資料保持一致 * 多方參與者(Multiple Attendees):事件中包含面試官與應徵者 * 電子郵件欄位(Email Field):用於邀請行事曆參與者的聯絡資訊 * 事件標題(Event Title):行事曆中顯示的活動名稱 * 事件描述(Event Description):補充活動內容的文字說明 * AI 排程代理(AI Scheduling Agent):負責自動安排時間的 AI agent * 任務分解(Task Decomposition):將排程流程拆解為多個明確步驟 * 規則導向提示(Rule-based Prompt):以明確規則約束模型行為 * 工具鏈(Tool Chain):多個工具依序被 agent 呼叫完成任務 * 狀態感知(State Awareness):模型理解目前時間與既有事件狀態 * 指令明確化(Instruction Explicitness):以具體條件降低模型誤判 * API 操作模式(API Operation Mode):如 create、getMany 等操作類型 * 多工具整合(Multi-tool Integration):單一 agent 使用多個外部工具 * 憑證重用(Credential Reuse):多個工具共用同一組 OAuth 憑證 * 行事曆讀寫權限(Calendar Read/Write Scope):允許存取與修改事件的權限 * 自動化排程(Automated Scheduling):無需人工介入完成排程 * 任務可靠性(Task Reliability):確保排程結果符合所有限制條件 * 時間邊界檢查(Time Boundary Validation):防止事件超出允許範圍 * 提示對齊(Prompt–Tool Alignment):提示內容與實際工具行為一致 * API 回傳解析(API Response Parsing):解析行事曆事件資料 * 無系統提示設計(No System Prompt Setup):僅以單一大型提示控制行為 * AI 工具協調(AI Tool Orchestration):模型負責協調多個工具的使用順序 * 建立行事曆事件(Create Calendar Event):透過 API 在行事曆中新增排程事件的操作 * 行事曆工具節點(Calendar Tool Node):n8n 中用來操作行事曆的功能節點 * Start Time(開始時間):行事曆事件開始的時間欄位 * End Time(結束時間):行事曆事件結束的時間欄位 * AI 決策欄位(AI-Determined Field):由 AI agent 根據提示自動填入的欄位 * Star Selector(星號選擇器):n8n 中用來標示欄位由 AI 決定的設定按鈕 * Prompt-Based Scheduling:根據自然語言提示自動決定排程時間的技術 * 行事曆選擇(Calendar Selection):指定事件要建立在哪一個行事曆中的設定 * Google Calendar:Google 提供的雲端行事曆服務 * Attendees(與會者):行事曆事件中參與會議的人員清單 * 多與會者設定(Multiple Attendees):在單一事件中設定多位參與者 * AI Attendee Extraction:由 AI 從提示中推斷與會者身分與電子郵件 * Event Description(事件描述):行事曆事件中顯示的詳細說明文字 * Event Summary(事件摘要):行事曆事件的標題或簡要說明 * 欄位自動填寫(Automatic Field Population):由 AI 自動產生欄位內容的機制 * Get Calendar Events:查詢既有行事曆事件的工具節點 * 行事曆衝突檢查(Calendar Conflict Checking):檢查既有事件以避免時間重疊 * After / Before Filter:用來限制查詢事件時間範圍的條件 * AI 時間推理(Temporal Reasoning):AI 根據上下文判斷合適時間的能力 * Interview Scheduling(面試排程):自動安排面試時間的流程 * 面試官行事曆(Interviewer Calendar):負責面試人員的個人行事曆 * 可用時段判斷(Availability Detection):找出行事曆中可用時間的能力 * Chat Model Sub-node:為 AI agent 提供語言模型推理能力的子節點 * OpenAI Chat Model:連接 OpenAI 語言模型的節點 * GPT-4.1 Mini:適合工具調用與推理任務的輕量語言模型 * 模型附加(Model Attachment):將語言模型連接至 AI agent 的設定 * Workflow Execution Error:因缺少必要節點導致的流程錯誤 * Human-in-the-Loop Approval:需要人工核准才能繼續流程的設計 * Approval Flag(核准旗標):表示申請是否通過的人為決策欄位 * Boolean Routing(布林分支):依 true / false 決定流程走向的控制方式 * True Connector:在條件成立時被觸發的流程出口 * False Connector:在條件不成立時被觸發的流程出口 * Conditional Bypass:在特定條件下略過部分流程的設計 * Interview Creation Logic:僅在核准時才建立面試事件的邏輯 * Loop Continuation:完成一次處理後回到迴圈處理下一筆資料 * Loop Back Connection:將節點輸出重新接回迴圈起點的連線方式 * Sequential CV Processing:依序處理每一份履歷的執行模式 * Data Unpinning:移除測試用固定資料以進入正式執行模式 * Test Mode vs Production Mode:測試執行與正式執行流程的差異 * Workflow Finalization:完成所有節點串接後的最終流程狀態 * Automated Interview Pipeline:從履歷審核到面試排程的全自動流程 * Calendar Event Validation:確認行事曆事件正確建立的檢查步驟 * AI Tool-Oriented Agent:以工具調用為核心能力的 AI agent * Prompt-to-Action Mapping:將自然語言提示轉換為具體操作的能力 * 人在迴圈(Human-in-the-loop):流程在關鍵節點暫停,必須由人類做出決策才能繼續 * 履歷批次處理(Batch CV Processing):一次對多份履歷依序執行相同流程 * 迴圈執行(Loop Execution):針對清單中的每個項目重複執行工作流 * 人工審核節點(Manual Review Step):需要人類確認或否決的流程步驟 * 電子郵件審核(Email-based Approval):透過 Email 接收摘要並進行決策 * 核准操作(Approve Action):允許候選人進入下一階段流程 * 拒絕操作(Decline Action):終止候選人後續流程 * 流程阻塞(Workflow Blocking):在等待人類回應前暫停自動化流程 * 條件式分支(Conditional Branch):根據核准或拒絕走不同路徑 * 履歷摘要生成(Resume Summarization):由語言模型提取履歷重點 * 關鍵技能萃取(Skill Extraction):從履歷中辨識核心技術能力 * 年資判斷(Experience Assessment):根據履歷估算相關工作經驗 * AI 推薦意見(AI Recommendation):模型對是否進入面試的建議 * 第一輪面試(First-round Interview):初步篩選候選人的面試階段 * 自動排程(Automated Scheduling):由系統自動決定並建立行程 * 行事曆事件建立(Calendar Event Creation):在 Google Calendar 新增事件 * 時段最佳化(Time Slot Optimization):選擇最早且符合條件的可用時間 * 連續排程(Back-to-back Scheduling):多個面試依序無縫安排 * 工作時段限制(Business Hours Constraint):僅允許在指定工作時間內排程 * 事件避免衝突(Conflict Avoidance):避免與既有行程時間重疊 * 事件描述自動生成(Auto-generated Description):自動填入面試相關說明 * 參與者邀請(Attendee Invitation):將面試官與應徵者加入事件 * 電子郵件地址驗證(Valid Email Requirement):避免因無效信箱導致寄送失敗 * 動態資料綁定(Dynamic Data Binding):以流程資料填入事件欄位 * AI Agent(AI 代理):具備決策與工具使用能力的語言模型實體 * 工具調度(Tool Orchestration):AI 決定何時呼叫哪個外部工具 * Google Calendar 整合(Google Calendar Integration):與行事曆系統直接互動 * 狀態可視化(Execution Visualization):即時顯示流程目前執行位置 * 節點暫停顯示(Paused Node Indicator):視覺化呈現流程等待中狀態 * 任務完成狀態(Workflow Completion):所有迴圈與節點成功結束 * 面試資料一致性(Interview Data Consistency):確保行事曆與履歷資料對齊 * AI 輔助決策(AI-assisted Decision-making):由 AI 提供建議、人類做最終決定 * 半自動化流程(Semi-automated Workflow):結合自動化與人工介入 * 招聘流程自動化(Recruitment Automation):以工作流系統簡化招聘作業 * 任務可靠性(Process Reliability):確保每位候選人都被正確處理 * 流程可追蹤性(Process Traceability):每一步決策與結果皆可回溯 * 多候選人處理(Multi-candidate Handling):同一流程支援多名應徵者 * 資料驅動排程(Data-driven Scheduling):依據實際行程資料決定時間 * 人工最終裁量(Human Final Authority):AI 不取代人類最終決策權 * 實務導向 AI 應用(Practical AI Application):AI 用於真實商業流程 * 低程式碼自動化(Low-code Automation):以最少程式碼完成複雜流程 * 招聘效率提升(Hiring Efficiency Improvement):縮短篩選與排程時間 * 流程可重用性(Workflow Reusability):可套用於其他職缺或招聘情境 * AI 與工具協作(AI–Tool Collaboration):語言模型與外部系統協同工作 * 子工作流程(Subworkflow):被其他主工作流程呼叫、負責特定功能的獨立流程 * 主工作流程(Parent Workflow):負責整體流程協調、可呼叫多個子工作流程的流程 * 工作流程模組化(Workflow Modularization):將大型流程拆分成可重用模組的設計方式 * 關注點分離(Separation of Concerns):將不同功能責任拆開以降低耦合度的設計原則 * Execute Subworkflow Node:n8n 中用來呼叫並執行子工作流程的節點 * 子流程觸發器(Subworkflow Trigger):允許子工作流程被外部流程啟動的起始節點 * 輸入參數(Input Parameters):由父流程傳遞給子流程的資料欄位 * 參數映射(Parameter Mapping):將父流程資料對應到子流程輸入欄位的過程 * Full Name 欄位(Full Name Field):用來傳遞候選人姓名的字串型參數 * Email 欄位(Email Field):用來傳遞電子郵件地址的字串型參數 * 可重用流程(Reusable Workflow):可被多個主流程重複呼叫的流程設計 * 流程抽象化(Workflow Abstraction):將複雜邏輯封裝成高階流程的做法 * 節點群組化(Node Grouping):將多個相關節點視為一個邏輯單元 * 流程可維護性(Workflow Maintainability):流程在修改與擴充時的穩定與易維護程度 * 流程可讀性(Workflow Readability):流程結構是否清楚易懂的特性 * 蜘蛛網效應(Spaghetti Workflow):節點過多、連線混亂的流程狀態 * 節點抽離(Node Extraction):將部分節點移出主流程的重構行為 * 流程重構(Workflow Refactoring):在不改變功能的前提下改善流程結構 * 版本隔離(Version Isolation):子流程修改不影響主流程的設計特性 * 平行開發(Parallel Development):不同流程可同時獨立開發的工作模式 * 流程依賴管理(Workflow Dependency Management):管理主流程與子流程之間的關係 * 介面契約(Interface Contract):父流程與子流程之間約定的輸入輸出規格 * 動態資料注入(Dynamic Data Injection):在執行時將變數資料傳入子流程 * JavaScript Expression 驗證:n8n 中以顏色顯示表達式是否合法的機制 * 綠色表達式(Valid Expression):表示動態資料綁定成功的狀態 * 紅色表達式(Invalid Expression):表示資料參照錯誤或不存在的狀態 * 參照錯誤(Reference Error):流程中引用不存在欄位所產生的錯誤 * Prompt 重構(Prompt Refactoring):因流程結構改變而調整提示內容的行為 * Prompt 參數化(Prompt Parameterization):將提示中的固定文字改為動態變數 * 硬編碼(Hardcoding):在流程中直接寫死資料值的做法 * 動態 Prompt(Dynamic Prompt):由流程資料即時組合而成的提示內容 * Human-in-the-Loop 節點:需要人類回應才能繼續流程的節點 * 流程暫停(Workflow Pause):等待人工決策時流程停止執行的狀態 * 核准流程(Approval Flow):根據人工核准結果決定後續行為的流程 * 條件分支(Conditional Branching):依不同條件導向不同流程路徑的設計 * 流程回圈銜接(Loop Reconnection):子流程完成後回到主流程迴圈的設計 * 面試排程子系統(Interview Scheduling Subsystem):專責處理面試時間安排的流程模組 * 行事曆避免衝突(Calendar Conflict Avoidance):避免重複排程的邏輯設計 * Prompt Engineering(提示工程):設計高品質提示以提升 AI 行為準確度的技術 * 初學者流程設計(Beginner Workflow Design):以可理解性優先的流程設計取向 * 功能示範導向(Concept Demonstration):以說明概念為主而非追求完美實務的設計方式 * 工作流自動化(Workflow Automation):以節點串接方式自動執行多步驟任務 * 聊天機器人整合(Chatbot Integration):將對話式 AI 接入工作流 * 即時訊息觸發器(Message-based Trigger):透過即時通訊收到訊息即啟動流程 * WhatsApp 介面整合(WhatsApp Integration):以 WhatsApp 作為使用者互動入口 * 記憶模組(Memory Module):讓聊天機器人保留對話上下文 * 簡易記憶(Simple Memory):只保留最近幾輪對話的上下文 * 對話上下文(Conversation Context):理解使用者前後問題的語意關聯 * 多通道介面(Multi-channel Interface):同一 AI 可透過不同平台互動 * Discord 整合(Discord Integration):將工作流接入 Discord 機器人 * Telegram 整合(Telegram Integration):將工作流接入 Telegram 機器人 * Webhook(網路掛鉤):透過 HTTP 接收外部系統傳入資料 * HTTP POST 請求(HTTP POST Request):由外部系統送資料到工作流 * 表單資料收集(Form Data Collection):接收使用者填寫的結構化資料 * 第三方網站整合(Third-party Website Integration):將外部網站與工作流連接 * 測試端點(Test Endpoint):供開發與測試使用的 Webhook URL * 生產端點(Production Endpoint):正式環境使用的 Webhook URL * API 呼叫(API Call):向外部服務請求資料或功能 * HTTP Request 節點(HTTP Request Node):在工作流中主動發送 HTTP 請求 * REST API(RESTful API):以 HTTP 為基礎的服務介面標準 * 自訂後端服務(Custom Backend Service):自行開發並提供資料的 API * JSON 回應(JSON Response):API 回傳的結構化資料格式 * 資料階層結構(Hierarchical Data):巢狀結構的資料格式 * 資料扁平化(Data Flattening):將巢狀資料轉為平面結構 * Code 節點(Code Node):在工作流中執行自訂程式碼 * JavaScript 處理(JavaScript Processing):用 JS 轉換與整理資料 * 資料轉換(Data Transformation):改變資料格式以利後續處理 * AI Agent(AI 代理):具備推理與工具使用能力的語言模型 * 工具節點(Tool Node):提供 AI 可呼叫的外部功能 * HTTP Request 工具(HTTP Request Tool):供 AI agent 主動呼叫 API * 工具驅動推理(Tool-based Reasoning):AI 依需求選擇並使用工具 * 外部資料來源(External Data Source):非模型本身提供的資訊 * 資料增強生成(Data-augmented Generation):結合外部資料生成回應 * 領域知識查詢(Domain-specific Query):針對特定資料集提問 * 情境式推薦(Contextual Recommendation):依資料與問題給建議 * 電影推薦系統(Movie Recommendation System):依類型與評分推薦電影 * 情感分析(Sentiment Analysis):判斷評論文字的正負面傾向 * 資料可讀性(Data Readability):資料是否易於模型理解 * 低程式碼平台(Low-code Platform):以最少程式碼完成應用開發 * 視覺化流程設計(Visual Workflow Design):以圖形方式設計流程 * 系統擴展性(System Extensibility):可自由整合新介面與服務 * 事件驅動架構(Event-driven Architecture):由事件觸發流程執行 * 即時互動應用(Real-time Interactive Application):可即時回應使用者輸入
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.