Home

    データ・計測 

最終更新日: 2025年10月20日

Google Apps Script|Notionデータベースを自動更新!

プロフィール画像

エンジニアチーム

    #データ・計測

ツイート シェア
プロフィール画像

エンジニアチーム

    #データ・計測

ツイート シェア

この記事を読んでる方へ

▼データマーケティングの教科書 上

初心者の方から、より詳しくなりたいという方へ。
本書ではデータマーケティングの基礎から学び、データを通じて顧客の行動や感情を理解し、 より確かな意思決定を目指します。

みなさん、こんにちは!

Notionで日々タスクや情報を管理していると、こんな風に感じたことはありませんか?「このデータ、Notionに自動で入ればもっと楽なのに…」「スプレッドシートの情報を、Notionのデータベースにも自動で反映させたい!」手作業でのデータ入力や更新は、時間がかかるだけでなく人為的なミスの原因にもなりがちです。

しかし、Google Apps Script (※略:GAS)でNotion APIを扱うことで、GoogleスプレッドシートなどのGoogleサービスとNotionの連携を効率的に行うことができ、手間なくデータベースを更新することができます。

今回は、Notion APIを使ってデータベースを自動更新する方法を、初心者の方でも分かりやすく解説します。ぜひ、日常業務にご活用ください!

Notionとは

Notionは、メモ・タスク管理・データベース・共有機能がひとつにまとまった「オールインワンの仕事ツール」 です。個人のメモ帳から企業のナレッジベースまで、様々な用途で利用できます。Notionには下記のような特徴があります。

・メモやドキュメント作成

  ・Wordのように文章を書いたり、画像や動画を貼り付けられます。

  ・議事録や日記、読書メモなどに便利。

・タスク管理

  ・ToDoリストを作って「完了」「未完了」を整理できます。

  ・カレンダー形式にして予定管理も可能。

・データベース管理

  ・表を作って、顧客リストや読書記録を整理できます。

  ・表をカンバンボード、カレンダー、ギャラリーなどいろんな見方に切り替え可能。

・チームでの情報共有

  ・複数人で同時に編集できるので、プロジェクトの進捗管理や社内Wikiとして使えます。

Notion APIでできること

Notion APIは、Notionのページやデータベースを外部のツールやサービスと連携させ、強力なワークフローを構築するためのインターフェースですAPIを活用することで、Notionの機能をさらに拡張し、業務効率化生産性向上を実現できます。

データベース

Notionのデータベースは、情報を構造的に整理・管理する中核的な機能であり、Excelやスプレッドシートに似た形式で情報の分類・蓄積・検索が可能です。

データベースの新規作成データのクエリ(検索)ページの追加・更新などが可能になります。例えば、外部ツールと連携して収集データをリアルタイムでNotionに反映できます。

対応する表示形式は、テーブル、ボード、タイムライン、カレンダー、リスト、ギャラリーの6種類です。

ページ

Notionにおける「ページ」とは、文書やタスク情報などを格納する単位で、テキストや画像、チェックリストなど多様なコンテンツを自由に配置できます。ページ内に子ページを作成することで階層的なフォルダ構造も構築可能です。

APIを活用すれば、ページの新規作成取得更新削除ページプロパティ項目の取得、プロパティの更新といった一連の操作を自動化できます。例えば、Googleカレンダーの予定に基づいてページを自動生成する、といった使い方ができます。

ブロック

ブロックとは、Notionのページ内にある最も小さなコンテンツ単位のことで、テキスト、画像、動画、表などが該当します。

APIを活用することで、ブロックの取得や追加、別ページへの移動を自動化できます。定型報告書の自動生成や外部サービスからのデータ取得・反映にも応用可能です。

ワークスペースのユーザーの情報取得

ワークスペースはNotionを利用するための作業領域であり、ユーザーには管理者、メンバー、ゲストといった役割が設定されています。

APIを使えば、ユーザー一覧の取得やユーザーIDの検索、botユーザー情報の取得といった操作が自動化できます。

その他

コメントに関するAPI: ページや既存のディスカッションスレッドへのコメント作成、コメントの取得が可能です。

検索に関するAPI: タイトルでの検索(統合によって共有されている全ての親ページ・子ページとデータベースを検索)が可能です。

認証に関するAPI: アクセストークンの作成、トークンのアクティブステータスやスコープ、発行時刻の取得、アクセストークンの取り消しが可能です。

データベースを自動更新しよう

Notion APIを使いこなせば、Notion内のデータを自由に操作できるようになります。

しかし「特定の条件を満たした時に自動でデータを更新したい」「GoogleスプレッドシートにあるデータをNotionにも反映させたい」といったより高度な自動化を実現するには、Notion APIを外部のツールと連携させる必要があります。

そこで今回はGASを使い、Notion APIと組み合わせることで、手間なくデータベースを自動更新できるようにします。

Notion APIの事前準備

まずはNotion APIを使うための事前準備が必要です。事前準備は、主に以下の3つのステップで行います。

1. インテグレーションの作成
2. データベースIDページIDの取得
3. インテグレーションの追加(コネクト設定

これらの手順を完了することで、API経由でNotionのデータにアクセスできるようになります。

1. Notionインテグレーションの作成

手順①

Notionの右上の3点リーダーから、①接続>②インテグレーションを開発をクリック。

手順②

インテグレーション設定画面で、「新しいインテグレーション」をクリック。

もしくは https://www.notion.so/profile/integrations から「新しいインテグレーション」をクリック。

手順③

インテグレーションに名前を付け、連携するワークスペースを選択。

手順④

でてきたポップアップの「インテグレーション設定」をクリック。

手順⑤ トークンの取得

読み取りや更新、挿入、削除などのAPIに必要な権限を選択。必要に応じてアイコンを設定することも可能です。

また、内部インテグレーションシークレット」が表示されます。このトークンの値がAPI接続に必要な文字列となるため、必ず取得して安全な場所に保管してください。

手順⑥ データベースIDの取得

Notionの左サイドバーから対象のデータベースを選択します。そのページのURLからデータベースIDを取得します。

https://www.notion.so/<データベースID>?v=<ビューID>

また、データベースの右上にある「・・・」ボタンをクリックし、選択肢の中から「ビューのリンクをコピー」をクリックでもOKです。

取得したIDは安全な場所に保存しておいてください。

手順⑦ インテグレーションの追加(コネクト設定)

作成したインテグレーションを特定のNotionのページやデータベースと連携させることで、APIからそのページやデータベースの情報のみにアクセスできるようになります

1.  連携したいNotionのページ、またはNotionデータベースページの右上にある「・・・」ボタンをクリック

2. ドロップダウンメニューから「接続」をクリック

3. 作成したインテグレーションの名前を検索して選択

4. 連携を承認

これらの準備を終えることで、Notion APIを使ってデータベースからのデータ取得、ページの作成や更新、ブロックの操作、ユーザー情報の取得など、さまざまな操作が可能になります。

GASのスクリプト作成

GASでNotion APIを操作し、新しいページをデータベースに追加するツールを作成します。

①Notion APIの情報を設定

// Notion APIの情報を設定
const NOTION_TOKEN = "〇〇〇〇〇〇"; const DATABASE_ID = "〇〇〇〇〇〇";

新規のスクリプトを作成し、先ほど事前準備で取得したトークンデータベースIDをGASで定義します。

②データをJSON形式で送信

<サンプルコード>

// Notionデータベースに新しいページを追加する関数
function addPageToNotion() {
  const url = 'https://api.notion.com/v1/pages'; // 新しいページを追加するAPIエンドポイント

  // 送信するデータ(JSON形式)
  const payload = {
    parent: { database_id: DATABASE_ID },
    properties: {
      名前: { title: [{ text: { content: 'テスト項目' } }] },
      ステータス: { select: { name: '未着手' } }
    }
  };

 // APIリクエストのオプション
  const options = {
    method: 'post',
    headers: {
      'Authorization': 'Bearer ' + NOTION_TOKEN, // 認証トークンの設定
      'Content-Type': 'application/json', // コンテンツタイプをJSONに設定
      'Notion-Version': '2022-06-28' // 使用するAPIのバージョン
    },
    payload: JSON.stringify(payload)
  };

 // APIリクエストの実行
  const response = UrlFetchApp.fetch(url, options);
  Logger.log(response.getContentText()); // 実行結果をログに出力
}

このコードは、GASからNotion APIを呼び出して、データベースに新しいページを追加する処理です。実行すると名前が「テスト項目 」、ステータスが 「未着手」のページがNotionに反映されます。(コードの properties: { 名前: ..., ステータス: ... } は、Notionデータベースの列名に合わせる必要があります。)

データベースの詳しい操作方法については、公式ページをご覧ください。

③実行

GASのメニューバーの実行ボタンをクリック。関数を実行すると、Notionデータベースにページが追加されます。

活用事例

弊社では、Notion APIを使ってデータベースの自動更新をしたり、取得したデータを他ツールと組み合わせて使ったりなど、さまざまな場面で社内の業務効率化を図っています。

・Googleスプレッドシートのデータを元に、Notionの社員名簿のデータベースを更新

・週一で特定のNotionページの内容を取得し、Geminiと組み合わせながらスライドを作成

・Notionのチェックボックスにチェックが入ったらSlackに通知

その他のNotion API連携

カレンダーアプリ(Googleカレンダーなど)

Notion APIと外部ツール(GASやZapier、Makeなど)を活用することで、GoogleカレンダーとNotionのデータを自動で同期させることが可能です。これにより、手動でのスケジュール管理の手間や更新漏れを防ぎ、Notion上でも最新の予定を確認できるようになります。

ビジネスチャットツール(Slackなど)

Notionのデータベースやページが更新された際に、Slackなどのビジネスチャットツールへ自動で通知を送信するよう設定できます。これにより、情報共有の手間が大幅に削減され、業務効率の向上につながります。

ExcelやBIツール(Looker Studioなど)

NotionのデータベースとExcelやBIツールを連携させることで、常に最新の情報をもとにした分析やレポート作成が可能になります。外部ツールやスクリプトを活用することで、手動のデータ転記を省き、業務効率とデータの正確性を向上させることが期待できます。

まとめ

本記事では、Google Apps Script (GAS) とNotion APIを連携させ、Notionデータベースを自動更新する方法を解説しました。

Notion APIの事前準備から、実際にデータベースを検索・更新するGASのコードまで、具体的な手順を追うことで、手作業によるデータ入力から解放され、業務効率を向上させることができます。

今回ご紹介した社員名簿の更新システムや更新方法はあくまで一例ですが、この方法を応用すれば、様々な外部サービスとNotionを連携させ、よりスマートなワークフローを構築できます。ぜひ、ご自身の業務に合った自動化に挑戦してみてください。

もし設定に不安があったり、時間をかけずに導入したいとお考えでしたら、こちらよりお気軽にご相談ください。

この記事を読んでる方へ

▼データマーケティングの教科書 上

初心者の方から、より詳しくなりたいという方へ。
本書ではデータマーケティングの基礎から学び、データを通じて顧客の行動や感情を理解し、 より確かな意思決定を目指します。

プロフィール画像

編集者
エンジニアチーム

編集者
エンジニアチーム

GASやLooker Studio、TROCCOなどのツールを活用した、業務効率化やデータ活用のノウハウをわかりやすく発信しています!

おすすめ記事