📝
GmailをNotionに無料で自動保存|GASのコピペ用コードと検索条件の設定
Intro

Google Apps Script(GAS)とNotion APIを組み合わせれば、GmailのメールをNotionへ追加費用なしで自動保存できます。
必要なのはGoogleアカウントとNotionアカウントだけです。
請求書や予約確認を毎回手でNotionへコピペする作業は、積み重なると負担です。
ここでは、コピペで動くスクリプトと絞り込み方、止まらないための上限値を説明します。
※本記事にはアフィリエイト広告を含みます。
この記事で分かること
・GASとNotion APIでGmailをNotionへ自動保存する手順(コード付き)
・Gmail検索演算子で保存対象を絞り込む方法
・GASの実行上限とNotion APIのレート制限を踏まえた設定
作業はNotionの準備・コード貼り付け・トリガー設定の3段階です。
その前に、GASで自作する方法と有料ツールのどちらが合うかを確認しておきましょう。
Index
IntroGASで自作するか有料ツールを使うかの判断基準Notion側の準備:データベースとインテグレーションを作るStep 1: 保存先のデータベースを作るStep 2: インテグレーションを作ってシークレットキーをコピーするStep 3: データベースにインテグレーションを接続し、IDを控えるGASにコードを貼り付けて動かすStep 1: プロジェクトを作ってコードを貼るStep 2: スクリプトプロパティにキーとIDを登録するStep 3: 手動で実行して権限を許可するGmail検索演算子で保存するメールを絞り込むトリガー設定と、止まらないための実行上限時間主導型トリガーを追加するGASとNotion APIの上限を押さえるまとめRelated ArticlesRecent Posts
GASで自作するか有料ツールを使うかの判断基準

GASで作る最大のメリットは、追加費用なしで、保存する項目や条件を自由に変えられることです。
Soloプランの同期は5分間隔で、設定画面から連携を選ぶだけで使えます。
ただし、GASではコードをコピペして数か所を書き換える作業が発生します。
また、一定間隔で動くトリガーを使うため、受信から保存まで実行間隔ぶんの遅れが出ます。
費用をかけず、コードを少し触ることに抵抗がないならGAS、コードの保守をしたくない・設定画面だけで済ませたいなら有料ツールが向いています。
ここからは、GASで実装する手順に進みます。
最初にNotion側で、メールの保存先とアクセス用の鍵を用意します。
Notion側の準備:データベースとインテグレーションを作る

GASから書き込むには、保存先のデータベースとシークレットキーが必要です。
Step 1: 保存先のデータベースを作る
Notionで新しいページを作り、フルページのデータベース(テーブル)を追加します。
プロパティは`件名`(タイトル)・`差出人`(テキスト)・`受信日`(日付)・`Gmailリンク`(URL)の4つを作ってください。
プロパティ名は後で貼るコードと一字一句同じにする必要があるため、名前を変える場合はコード側も書き換えます。
Step 2: インテグレーションを作ってシークレットキーをコピーする
notion.so/my-integrationsを開き、種類「内部(Internal)」でインテグレーションを作成します。
表示されたシークレットキーは書き込み用の鍵なので、コピーして他人に見せないでください。
Step 3: データベースにインテグレーションを接続し、IDを控える
データベースページ右上の「•••」メニューから「接続」を選び、作成したインテグレーションを追加します。
この接続を忘れると、キーが正しくてもAPIが「見つからない」エラーを返します。
最後に、データベースのURLで`?v=`の直前にある32桁の英数字をデータベースIDとして控えます。
Notion側の準備はこれで終わりです。
次は、GASにスクリプトを貼り付けて動かします。
GASにコードを貼り付けて動かす

コードは、未保存のメールをNotionへ保存し、処理済みのスレッドにラベルを付ける最小構成です。
Step 1: プロジェクトを作ってコードを貼る
script.google.comで「新しいプロジェクト」を作成し、最初からある`function myFunction() {}`を削除します。
下のコードをすべて貼り付けて保存してください。
Step 2: スクリプトプロパティにキーとIDを登録する
エディタ左側の歯車アイコン「プロジェクトの設定」から「スクリプト プロパティを追加」をクリックします。
`NOTION_TOKEN`にシークレットキーを、`DATABASE_ID`にデータベースIDを入れて保存してください。
キーをコードに直接書かずにここへ置くと、コードを共有してもキーが一緒に漏れません。
Step 3: 手動で実行して権限を許可する
関数選択で`saveGmailToNotion`を選び、「実行」をクリックします。
初回に「このアプリは Google で確認されていません」と出たら、自作スクリプト向けの表示なので「詳細」から進んで許可してください。
Notionのデータベースに行が増え、Gmail側のスレッドに`notion-saved`ラベルが付いていれば成功です。
動作を確認できたら、保存するメールを決める`SEARCH_QUERY`を自分用に書き換えましょう。
Gmail検索演算子で保存するメールを絞り込む

`SEARCH_QUERY`には、Gmailの検索窓に入れるのと同じ文字列をそのまま書けます。
つまり、Gmailで欲しいメールだけが出る検索条件が、そのまま保存条件になります。
全メールを保存するとNotionが散らかり、実行上限にも早く達するため、条件は絞り込みましょう。
| 演算子 | 意味 | 書き方の例 |
|---|---|---|
| from: | 差出人で絞る | `from:billing@example.com` |
| label: | Gmailのラベルで絞る | `label:receipts` |
| subject: | 件名に含む語で絞る | `subject:領収書` |
| newer_than: | 指定期間内に受信 | `newer_than:7d` |
演算子をスペース区切りで並べると、「すべてを満たす」条件になります。
いちばん管理しやすいのは、Gmailのフィルタで保存したいメールにラベルを付け、`label:`で指定する方法です。
こうすれば、保存対象を変えるときもGmailのフィルタ設定だけで済みます。
条件が決まったら、最後にトリガーを設定して自動で動くようにします。
あわせて、途中で止まらないための上限も確認しておきましょう。
トリガー設定と、止まらないための実行上限

自動化はトリガーで完成しますが、GASにもNotion APIにも上限があります。
時間主導型トリガーを追加する
エディタ左側の時計アイコン「トリガー」を開き、「トリガーを追加」をクリックします。
関数に`saveGmailToNotion`、イベントのソースに「時間主導型」を選び、実行間隔を指定して保存してください(Google Apps Script「Installable Triggers」、2026年10月時点)。
エラー通知を「毎日通知を受け取る」にしておくと、失敗したときにメールで気づけます。
GASとNotion APIの上限を押さえる
個人のGoogleアカウントでは、1回の実行は最大6分、トリガーによる実行は1日合計90分までです(Google Apps Script「Quotas for Google Services」、2026年10月時点)。
コードでメールごとに待ち時間を入れ、検索件数を絞っているのはこのためで、大量のメールを一度に処理すると実行時間の上限に当たりやすくなります。
これで自動保存の仕組みは一通り動きます。
なお、このコードは添付ファイルを保存しないので、添付は「Gmailリンク」から元のメールを開いて確認してください。
まとめ
- GAS+Notion APIなら、GmailのNotion自動保存は追加費用なしで作れる
- 保存対象はGmail検索演算子で決める。ラベルを付けて`label:`で指定すると管理しやすい
- GASの実行時間上限と、Notion APIのレート制限を超えない設定にする
最初の一歩は、保存したいメールにラベルを1つ付け、`SEARCH_QUERY`をそのラベル名に書き換えて手動で1回実行することです。
Notionに1行増えたのを確認できたら、トリガーを追加して自動化を仕上げましょう。
エラーを自力で直したい場合は、GASの入門書が手元にあると安心です。
コードの保守をせず、設定画面だけで連携したい場合は2syncが候補です。
参照情報源:
- Google Apps Script「Quotas for Google Services」(https://developers.google.com/apps-script/guides/services/quotas)(参照日:2026-10-06)
- Google Apps Script「Installable Triggers」(https://developers.google.com/apps-script/guides/triggers/installable)(参照日:2026-10-06)
- Notion API「Request limits」(https://developers.notion.com/reference/request-limits)(参照日:2026-10-06)
- Notion API「Create a notion integration」(https://developers.notion.com/docs/create-a-notion-integration)(参照日:2026-10-06)
- Gmailヘルプ「Gmail で使用できる検索演算子」(https://support.google.com/mail/answer/7190?hl=ja)(参照日:2026-10-06)
- 2sync公式サイト(https://2sync.com/ja)(参照日:2026-10-06・為替は$1=150円で換算、2026-10-06時点の概算)
▼ NotionにGmailを自動保存する方法|2syncの料金とGASとの使い分け
▼ NotionとGoogleカレンダーを双方向同期する設定手順|2syncで自動連携するやり方を解説
Xでも、ツールの使い方や効率化のヒントを発信しています。
気になった方はフォローしていただけると嬉しいです👉 @_neko_adventure