EP-32|n8n AI 工作流:從 Google Drive 傳入不同格式資料讓 AI 處理
本文介紹如何使用 n8n AI 工作流自動處理來自 Google Drive 的多種格式文件(如PDF、Word、Excel等),讓AI自動產生摘要。工作流包含了Google Drive監控、檔案下載、格式判斷、AI摘要等步驟,可大幅減少人工重複操作的工作。
哈囉,各位大家好,上一次我們稍微談了 n8n 的 AI Agent ,今天就要來講 AI Agent 的相關應用啦!
最近我看到身邊很多朋友都開始玩 AI 了,大家都會去 ChatGPT、Gemini 這些網站問問題,然後把回答複製貼到 Word、Excel 或 Notion 裡面。
偶爾用用當然沒問題啦!
但如果是每天都要用呢?比方說你是研究人員,每天要看一大堆論文和會議紀錄,要一份一份讀完做摘要。或者你每天要收一堆文件,下班前還要給主管一份總結。
雖然用 ChatGPT 已經比較方便了,但你還是要一直開檔案、複製貼上、自己整理,超麻煩的!
不過現在有了 n8n AI 工作流,這些煩人又單調的工作就不用你來做了,全部都可以交給工作流和 AI 幫你搞定。
如果你還不知道 n8n 是什麼,它其實就是一個開源的自動化工具,你可以裝在自己電腦上或雲端。對新手來說我建議直接裝在 Zeabur 比較簡單。想知道怎麼裝可以看這篇:[EP-11] 利用自動化工具解放人類的第一步!使用 Zeabur 部署安裝 n8n
這次的工作流會用到 n8n 的 AI Agent 節點,之前已經講過了,這邊就不多說,有興趣可以看看:
能夠閱讀多種不同類型檔案的工作流
前期提要,我上了一堂大型語言模型與流程自動化(RPA)設計實務進階班,因此打算複習上課提及的 AI 工作流。
上次介紹完 AI Agent 之後,今天我們要來看看它有哪些實用的應用。
想像一下,如果你每天都要看一堆文件,然後還要把它們整理成摘要。與其自己慢慢讀完再寫摘要,不如讓 AI 幫你讀完直接產生摘要,然後自動存到記事本裡。
這就是我們今天要介紹的這個超實用工作流!
老師原本是把 n8n 裝在電腦裡面,然後監控電腦上的資料夾。只要有新檔案放進去,工作流就會自動開始跑。
不過呢,我覺得把 n8n 裝在電腦上其實蠻麻煩的,你會遇到很多問題,比如說:
Windows 跟 Mac 的檔案路徑不一樣,要分開處理
要先裝一堆東西,像是 Node.js、npm 或 Docker
可能會跟你電腦裡其他的程式打架
如果想從外面連進來(例如用 Webhook),還要設定一大堆複雜的網路設定
反而把 n8n 放在 Zeabur 這種雲端平台上超方便的!系統會幫你處理掉這些麻煩的設定,你只要專心設計工作流就好。
既然 n8n 都放在雲端了,那要監控的資料夾當然也要放在雲端啊!Google Drive 就非常適合。
Google Drive 就是一個雲端硬碟,讓你可以在網路上存檔案、分享檔案。每個 Google 帳號都有 15GB 的免費空間可以用。
在 n8n 裡面,我們可以用 Google Drive 節點來看著特定的資料夾,只要有新檔案上傳,工作流就會自動開始工作。這樣比監控電腦上的資料夾穩定多了!
你可以先去 Google 官網下載安裝 Google Drive 電腦版,設定好要監控的資料夾,之後只要把檔案丟進去,工作流就會自動幫你處理囉!
1. 設定 Google 認證
我們第一個節點是 Google Drive Trigger
但是在此之前,你必須先設定 Google 認證(Credential),連結你的 Google Account 。
在 n8n 的首頁點擊右上方的「Create Workflow」旁的向下鍵,點擊「Create Credential」。
進去可以看到底下的畫面。首先 OAuth Redirect URL 每個人都不同,然後底下有 Client ID 與 Client Secret ,這兩部分的資訊我們要去 Google Cloud Platform (GCP) 取得。
我們在 n8n 的畫面就先放著不動,開啟另一個分頁搜尋 Google Cloud Platform Console 。
為了讓 n8n 能夠存取 Google 服務,例如 Google Drive、Gmail、Google Sheets 等。我們要在 Google Cloud Platform (GCP) 中建立一個 OAuth 2.0 客戶端 ID,然後將憑證配置到 n8n 中。
如果是第一次使用 GCP,需要建立一個新專案。點擊頁面上方的專案挑選器,然後點擊「新增專案」。
在 GCP Console 的左側導覽列中,選擇「API 與服務」->「已啟用的 API 和服務」,再點擊「+ 啟用 API 和服務」。
你現在應該會在 API 程式庫的畫面,我建議把常用的服務都裝一裝,省得麻煩。所以在這邊搜尋並啟用需要使用的 Google 服務 API,例如:
Google Drive API
(用於 Google Drive 節點)Gmail API
(用於 Gmail 節點)Google Sheets API
(用於 Google Sheets 節點)Google Docs API
(用於 Google Docs 節點)Google Calendar API
(用於 Google Calendar 節點)
回到「API 和服務」,設定 OAuth 同意畫面 (OAuth Consent Screen)
設定應用程式資訊,如名稱、E-mail
目標對象選擇外部
接著就一直下一步,該填的資料都填一填
點擊「建立 OAuth 用戶端」
在應用程式類型,選擇「網頁應用程式 (Web application)」
設定名稱,隨便你寫
已授權的重新導向 URI,在這邊回到 n8n ,複製 OAuth Redirect URL ,回來貼上,按下建立。
建立完成後會自動跳出視窗,這裡會有用戶端編號,也就是 n8n 認證畫面的 Client ID **。**所以可以複製後回去n8n那邊貼上。
問題是 n8n 還有一個 Client Secret 啊?你在 GCP 這裡按下確定後,會跳到 OAuth 2.0 用戶端 ID 的列表,點擊你剛剛設定的名稱,進去後就可以看到「用戶端密鑰」。就能後回去 n8n 貼上。所以 GCP 剛剛怎麼不一起出現 ID 與 Secret ?有夠瞎。
再回到 GCP ,在 GCP Console 的左側導覽列中,選擇「API 與服務」->「OAuth 同意畫面」,點選「目標對象」,再點擊發佈應用程式。如果沒做,會遇到錯誤代碼 403: access_denied。
回到在 n8n 認證設定畫面最下方,可以看到「Sign in with Google」按鈕,點進去。你可能會看到「這個應用程式未經 Google 驗證」,點選「進階」,前往你的 App。
選取你的 App 要存取的範圍,這裡就全勾啦!按下「繼續」,就大功告成了!
2. Google Drive Trigger 監聽資料夾
接著開始我們在 n8n 上的第一個節點,Google Drive Trigger 。
輪詢時間(Poll Times):設定為每分鐘(Every Minute)檢查一次
觸發條件(Trigger On):設定為監控特定資料夾的變更(Changes Involving a Specific Folder)
資料夾(Folder):可以從清單中選擇要監控的上傳資料夾
監控類型(Watch For):設定為監控檔案建立(File Created)的事件
另外在底部應該會提示:子資料夾的變更不會觸發此節點(Changes within subfolders won't trigger this node)。
3. 使用 Google Drive: download file 下載檔案
第一個節點是監控資料夾內有沒有新的檔案加入,下一個節點就必須下載新增的檔案到 n8n 上。
此時只要選擇 Google Drive 節點時,選擇 Download file 。
這個節點應該不需要做什麼設定。
4. Switch 節點判斷檔案格式
不同的檔案格式,處理的方式就會不同,所以我們需要使用 Switch 來分類。
在這裡我們採用 Mime Type(Multipurpose Internet Mail Extensions Type),是指一種標準化的字串,用來標示網際網路上傳輸的檔案或文件的性質與格式。 當 Google Drive 節點接收到檔案時,檔案的元數據(Metadata)包含了 mimeType
屬性。我們可以利用這個屬性來判斷檔案類型。
設定方式如下:
Mode (模式):
設定為 "Rules"(規則),定義一系列的規則來判斷檔案的副檔名。
Routing Rules (路由規則):
前面我們一律設定為 {{ $json.mimeType }} ,接著選擇 String、is equal to ,然後依照不同檔案格式設定不同的規則
PDF:application/pdf
DOCX:application/vnd.openxmlformats-officedocument.wordprocessingml.document
TXT:text/plain
XLSX:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
CSV:text/csv
5. Extract from File 讀取檔案的資料
這個節點是 Extract from File ,有許多選項,可以讀取 PDF、HTML、JSON、XLS 。
不過 CSV 與 XLSX 讀取後,要另外接 Aggregate 聚合節點。
然後此節點不支援 docx ,也就是不能讀 Word 檔。這部分要另外設定。
6. 讀取 Excel 檔必備的 Aggregate 聚合節點
這個節點的用途是將多個獨立的輸入項目(items),聚合成單一的輸出項目。
不管是 CSV 還是 XLSX 檔案,通常都包含多行記錄,每一行可以被視為一個獨立的項目。
所以上一個節點 "Extract from File" ,處理一個 CSV 檔案時,它會把檔案的每一行解析成一個獨立的項目(item)。
因此我們需要將項目聚合起來。
在此節點內,我們選擇以下設定:
Aggregate(聚合):All Item Data (Into a Single List),會將所有輸入項目中的資料全部收集起來,封裝成單一的列表(array)
其他部分就照初始設定,Put Output in Field 這裡就寫 data 。
7. 讀取 Word 檔要額外設定
Word 檔比較麻煩,必須另外轉檔成 Google Doc 。
你需要三個節點。
HTTP Request
Method: 設定為 POST 方法
URL: 使用 Google Drive API 的檔案複製端點:https://www.googleapis.com/drive/v2/files/{{$json.id}}/copy
認證類型:選擇 Google Drive OAuth2 API
Google Drive 帳戶:需要選擇已授權的 Google 帳戶憑證
Send Query Parameters: 開啟
Specify Query Parameters: 選擇 Using Fields Below
Query Parameters 設定:
Name: 設為 convert
Value: 設為 true
參數設為 true 時,系統會自動將上傳的文件轉換成對應的 Google 文件格式。
Name: supportsAllDrives
Value: true
確保 API 請求可以訪問所有類型的 Google Drive,包括個人 Drive、共享 Drive 等。設為 true 表示支援所有 Drive 類型的檔案操作。
Send Body: 開啟
自訂轉換後 Google Doc 的檔案名稱。
Name:
title
Value:
{{ $json.name.replace('.docx', '') }}
此表達式會取得原始檔案的名稱 (
$json.name
),並使用 JavaScript 的replace()
方法移除.docx
副檔名,讓新的 Google Doc 有一個乾淨的檔名。
指定儲存資料夾:
如果希望將轉換後的 Google Doc 存放到特定資料夾,可以新增一個名為
parents
的 Body Parameter。Name:
parents
Value:
{{ [ { "id": "這裡填上指定的Google Drive ID" } ] }}
Google Docs
資源(Resource):選擇 Document
操作(Operation):設定為 Get
Doc ID or URL:使用 {{ $json.id }} 動態獲取文件 ID
這是處理 Word 文件轉換過程中的一個重要步驟,它會在文件被轉換成 Google Doc 格式後讀取內容。
Edit Field
我們取得的檔案是用 “content” 取名,但是為了配合其他節點,我一律都要用{{ $json.data }}。
所以才需要此節點。
Mode:選擇 Manual Mapping
Fields to Set:取名為data,然後把{{ $json.content }}拉近來。
8. AI Agent 節點
上次說過了,這次不贅述,請閱讀 **EP-31|使用 n8n 建立你第一個 AI Agent/工作流 | 能夠上網搜尋的語言模型 [圖文] 。**
9. 轉換成二進位 Binary 格式
現在我們要把檔案轉成二進位格式,意思就是變成檔案。
因為下一個節點我們要把檔案再度上傳到 Google Drive 的另一個資料夾。
10. 上傳檔案到 Google Drive 的另一個資料夾
現在我們要把摘要上傳至 Google Drive 的另一個資料夾。
主要需要注意的設定有:
檔案名稱 (File Name): 使用動態格式 "summary-" + 當前日期 + ".txt",例如 "summary-2025-06-07.txt"
Parent Drive: 通過 ID 選擇目標 Google Driv。你在 Google Drive 新建資料夾後,點開資料夾,網址 folders/ 後面所接的一串英文+數字,就是ID。
Parent Folder: 選擇根目錄 (Root folder) 作為上傳位置
這個節點的目的是將處理完的檔案以特定命名方式上傳到指定的 Google Drive 位置。檔案名稱會自動包含當天的日期,方便管理和追蹤。
問與答
Q1: 本期 n8n AI 工作流的主要目的?
A: 這個工作流程是為了自動化處理不同格式的文件(PDF、Word、Excel等),讓 AI 自動產生摘要,減少人工重複操作的工作。
Q2: 此工作流程可以處理哪些檔案格式?
A: 可以處理 PDF、DOCX(Word)、TXT、XLSX(Excel)和 CSV 等格式的檔案。
Q3: Word 檔案處理有什麼特別之處?
A: 如果要讀取 Word 檔案,需要先轉換成 Google Doc 格式,要額外設定三個節點:HTTP Request、Google Docs 和 Edit Field。
Q5: 這個工作流程的主要優勢是什麼?
A: 可以自動化處理日常重複性的文件摘要工作,節省人工操作時間,特別適合需要定期處理大量文件的工作場景。
今天展示的 n8n AI 工作流的小範例,只是自動化的起點。
要能夠讓自動化工具與大型語言模型,真正為生活與工作帶來幫助,你就必須認真地對待工作,拆解工作流程,並且瞭解手邊的數位工具,才能知道如何應用。
這不是容易的事。
可是,你不需要一個人獨自地緩慢升級,結合眾人的力量,才能走得更遠。
Decode AI 週報專注於打造以 AI 驅動的個人化生產力系統,歡迎訂閱,讓我們一起在 AI 時代共同升級。