BLOG

ClaudeとNotionで「自分専用Notion AI」を作る方法

Notion 公式の AI 機能(月額10ドル)に課金している人、多いと思います。が、Claude API + Notion API で自分専用にカスタマイズされた AIを作れます。月3,000円程度のコストで、公式以上に自分仕様にできる方法を共有します。

なぜ自作するか

Notion 公式 AI の限界

  • 過去のページを横断的に参照する精度が中途半端
  • 自分の業務文脈を学習させづらい
  • 出力フォーマットを自分仕様にできない
  • 料金は容量無制限ではあるが、月額10ドル/ユーザー

Claude + Notion API 自作のメリット

  • system prompt で「自分の業務」「過去のドキュメント」を厳密に教えられる
  • 出力フォーマットを完全自由に
  • Claude Pro 契約者なら追加コストなし(APIは使った分だけ)
  • Skills と組み合わせて、業務単位の AI を量産可能

システム構成

シンプルな構成:

  • 入力:Notion 上のテンプレートページに「質問」「対象ページのURL」を記入
  • 処理:定期的に動く Python スクリプト(GitHub Actions で5分ごとにポーリング)
  • 出力:そのページの下部に Claude が回答を追記

実装:100行で完成

必要なもの

  • Notion API トークン(Notion 設定から発行)
  • Anthropic API キー(Claude)
  • Python 3.10 以上
  • GitHub Actions(無料枠で十分)

主要なコード

import os
from notion_client import Client as NotionClient
import anthropic

notion = NotionClient(auth=os.environ["NOTION_TOKEN"])
claude = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

# 「未処理」ステータスの質問ページを取得
queries = notion.databases.query(
    database_id=os.environ["DB_ID"],
    filter={"property": "Status", "select": {"equals": "未処理"}}
).get("results")

for page in queries:
    question = get_text(page["properties"]["Question"])
    context_url = get_text(page["properties"]["ContextURL"])

    # 参照ページの本文を取得
    context = fetch_notion_page_content(context_url)

    # Claude に問い合わせ
    response = claude.messages.create(
        model="claude-sonnet-4-7",
        max_tokens=2000,
        system="""
あなたは私の業務アシスタントです。
回答は以下の構造で:
1. 結論(1〜2行)
2. 根拠(参照ページから引用)
3. 補足や次のアクション
        """,
        messages=[{
            "role": "user",
            "content": f"参考ページ:n{context}nn質問:n{question}"
        }]
    )

    answer = response.content[0].text

    # ページに回答を追記、ステータス更新
    notion.blocks.children.append(
        block_id=page["id"],
        children=[paragraph_block(answer)]
    )
    notion.pages.update(
        page_id=page["id"],
        properties={"Status": {"select": {"name": "完了"}}}
    )

運用フロー

  1. Notion で「質問テンプレ」ページに質問を書く
  2. 参照ページの URL を指定
  3. 5分以内に Claude が回答を追記
  4. 必要に応じて深掘り質問を追加

応用:用途別のスキル分岐

1つのスクリプトで複数の用途を捌くため、Notion のセレクトプロパティで「スキル」を選ぶ:

  • 議事録要約:会議メモを構造化
  • 提案書叩き台:顧客情報をもとにドラフト生成
  • 競合調査:複数ページの比較
  • 1日の振り返り:日報から学びを抽出

スキルごとに system prompt を切り替えるだけで、5種類のAIが Notion 内で動きます。

3ヶ月運用してわかったメリット

1. 自分専用度が圧倒的

過去の Notion ページを参照させることで、私の業務文脈・口調・好みのフォーマットを完全踏襲した回答に。Notion 公式 AI とは別物の親近感。

2. プロンプトキャッシュで激安

system prompt をキャッシュさせると、月の API 料金は 2,000〜3,500円 程度。Notion 公式 AI(月額10ドル ≒ 1,500円)とほぼ同額か、少し高いだけ。

3. ログが Notion に蓄積される

質問と回答が全部 Notion 内にある。後で検索可能。「3ヶ月前にこの相談したな」がすぐ見つかる。

運用上の注意

1. Notion API のレート制限

1秒3リクエスト程度の制限。5分ポーリング+ベスト10件で問題なし。

2. セキュリティ

Notion API キーと Claude API キーは GitHub Actions Secrets に保存。コードには絶対書かない。

3. 機密ページへの言及

Notion API は「インテグレーションに共有されたページ」のみアクセス可能。機密ページはインテグレーションから外しておけば、Claude には見せない設計に。

「自作 vs 公式」 どっち選ぶか

公式 Notion AI が向く人

  • 個人利用、シンプルな要約・補完で十分
  • コーディングしたくない
  • API 連携の知識がない

自作が向く人

  • すでに Claude Pro 契約者
  • 業務に特化したAI が欲しい
  • API 触れる開発者(または Claude Code に書かせるエンジニア)
  • Notion を業務の中核に置いている

これから挑戦する人へ

「コード書けないから無理」ではなく「Claude Code に書いてもらえばいい」のが2026年。Claude Code に上記の仕様を伝えれば、半日で動くシステムが完成します。

1度作れば3ヶ月でも1年でも資産として残り続ける。Notion を本気で活用したい人ほど、自作の価値が大きいです。

よくある質問

この記事に関連する質問と答えをまとめました。

Q.Notion の有料 AI(月$10)と Claude を組み合わせる利点は?
A.
Notion AI で日常的なノート操作、Claude Pro で深い分析・対話、と使い分けることで、月30ドルで「自分専用Notion AI」が完成します。両者の強みを活かせます。
Q.具体的にどう連携させますか?
A.
Notion でデータベース化し、Claude Projects に Notion のエクスポートを登録する方法が現実的です。MCP サーバー経由で Notion を操作する高度な統合も可能です。
Q.プライベートな情報も入れていい?
A.
Claude.ai は原則として入力データを学習に使いませんが、契約条件は確認を。Notion との連携で扱う情報は、機密性に応じてマスキングや別Project分離を推奨します。