過去幾天,我們學會了收集、分析和查詢資料。
我們打造的系統,已經能大幅提升團隊的資訊透明度。但它還缺少一個重要的特性:自我修正。
今天,我們要打通不同工具之間的壁壘,讓我們的 n8n 系統從一個「被動的資料庫」,進化成一個能夠響應外部變化、主動維持資料一致性的「中央神經系統」。
【今天的煩惱】
團隊使用專案管理平台 Notion 或 Jira 來管理專案卡片,同時使用我們建立的 Google Sheets 作為任務總表。
問題來了:當 PM 在平台上把一張卡片從「進行中」拖到「已完成」列表時,Google Sheets 總表裡的狀態還是「進行中」。有人用 Slack 機器人一查,就會查到過時的資訊。這種「狀態不一致」,是團隊協作混亂與誤解的根源。
【今天的解法】
我們要打造一個「狀態同步更新器」。我們將讓專案管理工具 (以 Trello 為例) 成為「單一指令來源 (Single Source of Truth)」。只要 Trello 上的卡片狀態一變動,n8n 就會自動在幾秒鐘內,找到 Google Sheets 中的對應任務,並將其狀態欄位更新 (Update) 成最新的狀態。
第一步:設定指令來源 (Jira Trigger)
我們要讓 n8n 的耳朵,專心聆聽來自 Jira 的一舉一動。
💡 專家知識:準備 Jira API Token
Jira 的安全機制非常嚴謹。它不允許你使用帳號密碼直接登入,而是需要產生一組專用的「API Token」。
前往 id.atlassian.com/manage-profile/security/api-tokens
點擊 Create API token,為你的 Token 取一個好記的名字(例如 n8n-workflow)。
立刻複製這串長長的 Token,因為關掉視窗後就再也看不到了。
設定 n8n 的 Jira Trigger
建立一個新的工作流,觸發器選擇 Jira Trigger。
Credential: 點擊 Create New。你需要填寫三項資訊:
Email: 你的 Atlassian 帳號 Email。
Host: 你的 Jira 網域名稱,例如 your-company.atlassian.net。
API Token: 貼上你剛剛複製的那串 API Token。
Events: 選擇 Issue Updated (任務被更新)。
Project Key: 選擇你要監控的專案。
第二步:過濾出「完成」事件 (IF 節點)
Jira 的 Issue Updated 觸發器非常靈敏,任何風吹草動(例如有人加了個留言、改了個描述)都會觸發它。但我們只關心一件事:狀態被更新為「完成」。所以,我們需要一個 IF 節點來做精準過濾。
在 Jira Trigger 後面,加上一個 IF 節點。
Value 1 (Expression):
JavaScript
{{ $trigger.body.changelog.items.some(item => item.field === 'status' && item.toString === 'Done') }}
Operation: Boolean -> Is True。
第三步:在資料庫中定位目標 (Google Sheets - Search)
n8n 確認了這是一個「完成」事件後,它就要去我們的 Google Sheets 總表中,找到對應的那一列。
從 IF 節點的 true 出口,連接一個 Google Sheets 節點。
Operation: Search for Rows (Lookup)。
Document / Sheet Name: 指向我們的「團隊任務總表」。
Key: 選擇用來匹配的欄位。最穩固的作法,是在你的總表中有一個 Jira Key 的欄位,用來存放 PROJ-123 這樣的任務編號。
Value: 填入從 Jira 傳來的任務編號。使用運算式:{{ $trigger.body.issue.key }}。
這一步完成後,n8n 就會得到要更新的那一列的 rowIndex (列編號)。
第四步:執行更新指令 (Google Sheets - Update)
定位到目標後,就可以下達更新指令了。
在 Search for Rows 節點後,再加一個 Google Sheets 節點。
Operation: Update a Row。
Row Number: 填入運算式:{{ $json.rowIndex }}。
Columns: 點擊 Add Column。
Column: 選擇 狀態 欄位。
Value: 填入 已完成。
第五步 (強烈建議):廣播同步結果
在 Update a Row 節點後,加上一個 Slack 節點,在 Text 欄位寫:
✅ 狀態同步成功:Jira 任務 [{{ $trigger.body.issue.key }}] {{ $trigger.body.issue.fields.summary }} 已被更新為【已完成】。
今天,我們打通了團隊核心工具之間的「任督二脈」。你的 n8n 系統,不再只是一個被動的資料庫,它成了一個能主動響應、自我修正的「中央神經系統」。
「辦公室超人工具組」篇章總結
回顧這一週,我們從收集資料 (Google Forms),到加工 (Set)、廣播 (Slack)、查詢 (@mention Bot),再到今天的同步 (Jira),你已經掌握了一套完整的、能解決無數辦公室煩惱的高價值技能。
我們已經將最常見的辦公室場景自動化了。
從明天開始,我們要掀開 n8n 的引擎蓋,學習更底層、更強大的「火力升級」技巧,例如直接與任何網站的 API 對話的 HTTP Request 節點。