EP.1 使用 Make 自動化工具輕鬆串接 Gmail 與 Notion,建立個人知識庫

Connect Gmail and notion by make

EP.1 使用 Make 自動化工具輕鬆串接 Gmail 與 Notion,建立個人知識庫

這是第一篇 Make 自動化教學示範,有興趣先瞭解 Make 這款工具的朋友可以參考此篇文章:


為什麼要將 Gmail 信件匯入 Notion?

很多人應該都有訂閱一些 E-mail 每天接收新資訊、學習新知甚至使用付費的方式在購買這些 E-mail 的服務資訊。那當然這些資訊就不能只是在 E-mail 當中看看就過了,而且信件量一大管理就不容易,把它給放到 notion 這樣的資料庫或者其他可以筆記、記錄的地方,在適時的附上自己的筆記,對於之後反覆複習或者與小組們討論也都非常方便。

所以透過自動化將重要信件匯入 Notion 知識庫的好處:

  • 快速檢索信件內容,不怕找不到
  • 可加入自己的筆記、標籤,建立信件知識網絡
  • 匯入 Notion 資料庫,進一步整理、追蹤信件相關任務

事前準備工作 – 帳號創建

  1. 註冊 Notion 帳號,建立一個「Email 知識庫」頁面
    notion 建立 mail 知識庫
  2. 在 Notion 建立資料庫,設定欄位:
    • 信件主旨 >>> 刪除,信件主旨為 Page Name
    • 寄件者
    • 信件內容 >>> 刪除,信件內容直接進到 Page Content 內就好
    • 收件時間
    • 自訂標籤
      notion mail 知識庫的欄位建立
  3. 註冊 Make 帳號 (自動化整合工具)
  4. 取得 Gmail API (這步驟很重要,沒設定的話會不能串接 Gmail)
    • 首先要使用你的 Google 憑證,所以需要登入 Google Cloud Console。從前有新增過專案的夥伴應該會看到跟我一樣的畫面,沒有的話則必須新增專案。Google Cloud Console 設置
    • 當專案新增後找到並點擊「API 和服務」,接著看到「啟用 API和服務」,點擊後搜尋 Gmail API,並且啓用它。

Google Cloud Console 啟用 API 以及 OAuth、憑證設置

喜歡自己參考文件動手做的可以參考 Make 官方寫好的文件:

Connecting to Google services using custom OAuth client

安裝 Gmail API 後到 OAuth同意畫面設置

OAuth 畫面設置

儲存並繼續後,新增範圍的部分要參照 Make 提供的範圍進行新增,範圍如下:

  • https://mail.google.com/
  • https://www.googleapis.com/auth/gmail.labels
  • https://www.googleapis.com/auth/gmail.send
  • https://www.googleapis.com/auth/gmail.readonly
  • https://www.googleapis.com/auth/gmail.compose
  • https://www.googleapis.com/auth/gmail.insert
  • https://www.googleapis.com/auth/gmail.modify
  • https://www.googleapis.com/auth/gmail.metadata

可參照以下影片示範:

OAuth同意畫面設置後的範圍設置

設置範圍

建立 OAuth 用戶端 ID 憑證

這邊最重要的地方在「已授權的重新導向 URI 」要加入 https://www.integromat.com/oauth/cb/google-restricted ,這是專給Gmail 或 Google Drive 所使用。

建立 OAuth 用戶端 ID 憑證

用戶端編號 以及 用戶端密鑰 稍後會用到

憑證建立後可以先把 用戶端編號 以及 用戶端密鑰 給記下來,如下圖:

 用戶端編號 以及 用戶端密鑰

如果這邊沒記到的話,你可以在「憑證」頁面當中選擇你設置好的 OAuth 2.0 用戶端 ID 的名稱,內頁也會有這些資訊:

 用戶端編號 以及 用戶端密鑰
進行到這邊後 API 的設置就暫時告一個段落。其實如果是用 Zapier 的話不用到這麼麻煩... XD


建立 Gmail 到 Notion 自動化流程步驟

註冊 Make 帳號並建立新的 Scenario

建立 Scenarios 的方式非常簡單,只要進到 Scenarios 功能列表當中點擊”Create a new scenario”後就可以新增了。

新增 Gmail 模組作為觸發器,設定為接收到新郵件時觸發

而我們剛剛記錄起來的 用戶端編號 以及 用戶端密鑰,在 Make 當中建立 Scenario 時,如果要串接 Gmail App 就會需要使用編號以及密鑰來連結。影片中我呈現的 Client ID 以及 Client Secret 就是輸入編號以及密鑰的地方。

但也要先注意這邊:

在輸入完編號以及密鑰後會出現該應用程式未驗證的資訊,此爲正常現象,可以點擊「進階」後繼續訪問給予權限的網頁,直到授權成功。
在輸入完編號以及密鑰後會出現該應用程式未驗證的資訊,此爲正常現象,可以點擊「進階」後繼續訪問給予權限的網頁,直到授權成功。

設定 Gmail 觸發

Gmail 這端 Trigger 可以設置篩選

SCR 20240421 ohkw

篩選是為了不要每封郵件寄過來後都被匯進 notion 當中(除非你要這麼做),所以這些欄位可以注意:

  • Folder:用來篩選你要匯入的信件標籤(Label),你可以只針對特定標籤匯入
  • Filter type:這個操作會切換下方的 Criteria
    • Simple filter:你可以選定要匯入的 mial 是全部還是要未讀或者已讀的?
    • Gmail filter:你可以設置包含特定 Query 的mail 匯入

新增 Notion 模組,選擇要匯入的資料庫

在設定 notion 模組時,到 Connection type 時會有兩個選項: Notion Public 以及 Notion Internal。

可以參閱此文件:Connect Notion to Make

我建議可以先使用 Notion Public,因爲使用 Notion Internal 的話還需要輸入 token 來連結你 notion 內的 Internal Database 而且 Notion 資料庫不會出現在資料庫 ID 欄位的搜尋選項當中,遇到這個狀況時就會有許多作業要處理。

所以我們選擇 Notion Public 直接走 OAuth 驗證,就可以直接的去選定要使用哪個 Database 囉。

選擇串聯 notion 所要使用的模式

設定 Notion 模組的對應欄位:

接著要注意我們在 notion 這端要選的是”Create a Database Item“,那主要也是因為我在 E-mail 知識庫 這個 workspace 是設置 Database 而非 Page。

設定時,要注意 Database 需要在 Module 當中先抓好你要匯入的目的地,可參考以下影片操作:

此爲抓取 notion database 的操作
Make - notion 欄位 mapping

確定 Database ID 有抓到後,接著進行欄位 Mapping:

  • Name → Gmail 主旨
  • 收件時間 → mail 收到的時間

Tags 的部分可以自己依照想要設置的 Tag 去分類。


這次要做 Append a Page Content

前面那一步是先把 notion 的 Database Item 給建立出來,這一步是要做針對那個 Database Item 的內頁去做內容匯入:

Make - 設置 append a page content

確認好幾個部分:

  • Page ID 要選 “Create a Database Item” 內的 “Database Item ID”
  • Content Objects 內選擇 “Paragraph”,下方的 Item type 選”Text”
  • 接著將 Content 設置為 Gmail 的”Text content”
現在將 Mail 匯入 notion 有個缺點就是,沒辦法很完整的將圖片以及格式呈現在 notion 上。但好處就是這段操作建立起來後會是自動化的、可以直接匯入後就進行 co-work 或者筆記等。

測試執行流程,確認 Gmail 郵件是否成功匯入 Notion

開啟自動化流程,之後 Gmail 每接收一封新郵件就會自動匯入 Notion。

Make-點擊 Run once 就可以執行了
點擊 Run once 就可以執行了

結語

老實說我做到一半時發現有蠻多問題的,所以這樣的匯入聯動到底實不實用就看個人囉。希望這些簡單的思路可以讓大家瞭解整個流程的製作過程以及設置細節。有問題都歡迎詢問!