[EP-12] 如何在 n8n 分別串接 Gmail 與 Notion
n8n 設定各 API 的串接是繁雜的過程,不過只要習慣了,其實也不會太難。今日介紹如何在 n8n 自動化平台上,串接 Gmail 以及 Notion 的 API 。
你工作的時候,工作的來源是什麼?老闆親自交代? Line 訊息?還是 E-mail ?
就我自己在辦公室工作的場景,同事或長官彼此之間都是透過 Line 或 E-mail 來傳遞訊息。
因此我們經常被大量的訊息淹沒,絕大部分的內容甚至跟自己沒什麼關係,卻還是得點開閱讀,相當浪費時間。
我平常習慣在 Notion 上處理工作,因此我在想,我是不是能夠將信件的內容統整出來,讓 AI 跟我報告今日信件有什麼,然後把資料存放在 Notion 的資料庫中,如果有需要執行的工作內容,則另外再讓 AI 篩選出來?
本期電子報就打算在 n8n 上設定篩選電子報的節點,篩選出來後,存放在 Notion 的資料庫。
如果你還不知道什麼是 n8n ,歡迎你閱讀我在EP-11的電子報。
如何使用自動化工具篩選 Gmail
在 n8n 平台上設定 Gmail 節點
建立新的工作流程
登入你的 n8n 控制面板,點選「New Workflow」來建立一個新的工作流程。
新增 Gmail 觸發器節點
在工作流程中點選「+」號,搜尋並選擇 Gmail Trigger 節點,選擇 On message received 。意思是當我們收到信後要執行什麼動作。
設定 Gmail 帳戶認證
點選 Gmail Trigger 節點的 Credentials 憑證設定,並新增或選擇已配置好的 Gmail OAuth2 憑證。
若尚未建立 OAuth2 憑證,在 Google Cloud 上的設定方式
在 Google Cloud 建立專案
找到左上方的**「選取專案」→「新增專案」**,為自己的專案取個名字。
設定專案的 API
選取剛剛建置的專案,選擇左側的導覽選單上的**「API 和服務」→「程式庫」**。
輸入「Gmail API」搜尋,找到後點擊進去啟用。其他 Google 提供的服務,例如 Google Sheets ,你也在此時一併申請。
一樣是在剛剛建置的專案,選擇左側的導覽選單上的**「API 和服務」**→ 「OAuth 同意畫面」。 User Type 這邊選擇外部,然後建立。
在編輯應用程式註冊申請畫面,星號的部分當然是你必須填寫的,但是**「授權網域」**也要寫,請寫你部署 n8n 的網域。
API 是指應用程式介面,我們人類是直接使用瀏覽器,連上 Google Gmail 的網址。但是如果要讓其他程式去使用 Gmail 服務,就必須透過 API 。
設定權限範圍
也就是給予應用程式的權限,點擊**「新增或移除範圍」**,我這裡先全勾了。
再來就是測試,填寫你的 E-mail。
建立憑證
一樣在**「API 和服務」這裡,在左側導覽選單選擇「憑證」→「+建立憑證**」→「OAuth 客戶端 ID」。
應用程式類型選擇「網頁應用程式」,然後這裡有「已授權的重新導向 URI」欄位要填寫。回到 n8n ,在你要建立的 OAuth2 認證,找到 OAuth Redirect URL ,複製後回到 Google Cloud 貼上並且建立。
在 n8n 繼續設定 Gmail 觸發器
完成 Gmail 觸發器憑證設定
當你在 Google Cloud 建立憑證後,會自動產出用戶端編號(Client ID)以及用戶端密碼(Client Secret),複製後回到 n8n 貼上。最後點擊「Sign with Google」後,選擇授權範圍即可。
設定 Gmail 篩選關鍵字
最後可以在 n8n ,進入 Gmail Trigger 進入設定,點擊「Fetch Test Event」,測試看看是否成功。這裡就可以在 Filters 設定你要篩選的關鍵字。
將篩選後的信件,丟到 Notion 資料庫
現在我們要把篩選後的信件,丟到 Notion 資料庫。當然在這個中間,我們應該還有一個步驟是要讓大型語言模型幫我們閱讀信件。不過這部分牽扯的設定與技術比較複雜,先留到下一期再說。
建立 Notion API
在上面我們已經設定好了 Gmail API ,如果 n8n 要使用 Notion ,當然也要設定 Notion 的 API 。
建立 Notion 新集成
首先連到Notion 提供的 My Integration 頁面 ,點擊 New Integration
分別填上你的 Integration Name 、 WorkSpace , Type 選擇 Internal,然後找一張你喜歡的 Icon 圖上傳,就可以存檔建立。
建立好,可以看到下圖有一個欄位 Internal Integration Secret ,這裡金鑰請你複製起來。
建立 Notion 資料庫
在 Notion 建立 database
在左側欄位點擊 + 號,選擇 table 建立。
欄位請填寫下方欄位,這裡的欄位應該要按照你實際收到的欄位去調整,這裡只是範例。
Title(標題)
Sender(Text類型)
Date(Date類型)
Content(Text類型)
其他自定義,如標籤等
在 Notion 資料庫右上方,點擊三個小點,選擇「Connections」,找到你之前建立的 Notion 集成,點擊確認。
在 n8n 建立 Notion 節點
新增 Notion 節點
在剛剛建置好的 Gmail Trigger 節點,點擊 + 號,選擇「Action in an app」,輸入 Notion 。
找到 Notion 後,點擊進,會看到許多 Action 選項,選擇「 Create a database page 」,因為我們要把篩選出來的信件丟進去。然後再選擇「 Create new credential 」,建立新憑證。此時會有一個「 Internal Integration Secret 」需要填寫,就把我們剛剛複製的金鑰貼上去。
設定 Notion 節點
繼續剛剛的畫面,設定 Resource 為 Database Page 。
設定 Operation 為 Create 。
設定 Database 為 From List ,應該可以找到你之前設定的 Notion 資料庫。
點擊左側的 Execute previous nodes ,先找一封信來測試。然後把你選擇要當標題的部分,用拖曳的方式,拉到 Title 這邊。例如我選擇 Subject ,所以拉到 Title 這裡就會自動填入{{ $json.Subject }}。
底下還有 Properties ,設定方式如同 Title 方式一樣。
覺得自己設定好了,就按一下上方的 Test Step 。如果失敗了,在右側 Output 會有錯誤訊息,此時再把錯誤訊息拿去問 AI 吧!
今天介紹的如何在 n8n 分別串接 Gmail 與 Notion ,下一次我們要試試看如何在這之中,使用大型語言模型幫我們閱讀信件。