Contents
前提条件とアカウント設定
| 必要項目 | 取得・確認手順 | 補足 |
|---|---|---|
| Notion の内部統合トークン | 1. Notion → 「設定とメンバー」→「インテグレーション」 2. 「新しいインテグレーションを作成」ボタンで名前・権限(Read content と Update content)を設定 3. 作成後に表示される 内部統合トークン をコピー |
トークンは Full Access が必要な場合は対象ページ/データベースへ共有してください。 |
| Zapier アカウントとプラン | 1. Zapier にサインアップまたはログイン 2. 右上の「Plan」から現在のプランを確認 |
無料プランはシングルステップ Zaps のみ利用可能(※後述)。 |
| 対象 Notion データベースへの共有 | 1. 対象データベースページを開く 2. 「共有」→「招待」から先ほど作成した内部統合トークンの名前(=インテグレーション)を追加し、アクセス権を Can edit に設定 |
権限が不十分だと Zap が失敗します。 |
Notion API の最新レートリミット
公式ドキュメント(2024年 5月更新)によると、Notion API は 1 秒あたり最大 3 リクエスト(per‑integration)が上限です。
「If you exceed the rate limit, a
429 Too Many Requestsresponse will be returned. The limit is 3 requests per second for each integration.」 – Notion API Rate Limits
実務での対策
| ケース | 推奨対策 |
|---|---|
| 高頻度トリガー(例:Slack の新メッセージが数秒ごと) | Zap に Delay アクションを挟んで 30‑60 秒のインターバルを設定。 |
| バッチ処理(例:1 分間に多数アイテム作成) | 複数アイテムは Chunk(10 件ずつ)して送信し、各バッチ間に Delay を入れる。 |
Zapier の無料プランでできることと制限
Zapier 公式の料金ページ(2024年 3月閲覧)では、Free プランはシングルステップ Zaps のみ作成可能 と明記されています。
- シングルステップ Zap:トリガーと 1 つのアクションだけ
- マルチステップ Zap(2 以上のアクション):Starter プラン(月額 $19.99)以上が必要
出典: Zapier Pricing
実務上の影響
| シナリオ | 無料プランで可能か |
|---|---|
| Slack → Notion(1 件作成) | ✅ 可能(シングルステップ) |
| Gmail ラベル → Notion 更新 + Slack 通知 | ❌ マルチステップが必要なため有料プランへアップグレード |
| ChatGPT 出力 → Notion 作成 → Google Sheets に保存 | ❌ 同上 |
認証方式の選び方 — OAuth と内部統合トークン (IT)
| 項目 | OAuth(Zapier が自動取得) | 内部統合トークン(手動貼り付け) |
|---|---|---|
| 設定難易度 | ★★☆☆☆(ボタン 1 回で完了) | ★★★☆☆(トークン取得+共有設定が必要) |
| 権限粒度 | アカウント全体に対する Read/Write 権限。細かいデータベース単位の制御は不可。 | 任意のページ/データベースへ個別に 共有 できるため、最小権限で運用可能。 |
| セキュリティ要件 | 組織ポリシーで「外部アプリは OAuth のみ許可」とある場合に適合。 | 社内情報保護規定が厳しく、特定データベースだけにアクセスさせたいケース向け。 |
| 代表ユースケース | - 個人や小規模チームでの簡易自動化 - 1 アカウントですべての Notion ページを対象にしたい場合 |
- 部門ごとに別インテグレーションを作成し、権限を分離したい企業向け - 法務・人事データベースなど、アクセス制御が必須なシーン |
| 更新の手間 | アカウント所有者がトークンを自動でローテーション。ユーザーは意識不要。 | トークン有効期限は基本的に無期限だが、権限変更時は手動で再共有が必要。 |
選択指針
1. 「すぐに試したい」→ OAuth を推奨。
2. 「最小権限・監査ログが必須」→内部統合トークン を採用し、対象ページだけに共有する。
代表的な自動化シナリオ
以下は実務でよく利用される 3 パターンです。すべて Zapier エディタ上の手順 と Notion 側の前提設定 を併記しています。
1️⃣ Slack 新規メッセージ → Notion タスクデータベース作成
| 手順 | 内容 |
|---|---|
| トリガー | Slack – New Message Posted to Channel(対象チャンネル例:#tasks) |
| アクション 1 | Notion – Create Database Item ・Database ID を指定 ・プロパティマッピング例: - Name ← メッセージ本文(先頭 150 文字) - Status ← 「To Do」固定値 - Assignee ← Slack ユーザー名 → Notion の Relation に変換 |
| オプション | Delay(30 秒)でレートリミット対策、Filter で ⚠️ を含むメッセージだけ通す |
ポイント:Assignee の Relation は Zapier がユーザー ID(Notion ページ UUID)を渡す必要があります。事前に「メンバー」データベースを作成し、Zap 内で検索(Find Database Item)して取得すると自動化が完結します。
2️⃣ Gmail ラベル付メール → Notion ページ更新
| 手順 | 内容 |
|---|---|
| トリガー | Gmail – New Labeled Email(ラベル例:projectX) |
| Formatter (Optional) | Text – Extract URL で本文中の案件リンクを抽出 |
| アクション 1 | Notion – Search Database Items 検索キー: 「プロジェクト名」列がメール件名と一致 |
| アクション 2 | Notion – Update Page - Status ← 「In Review」 - Last Email ← メール本文抜粋 - Attachment ← 添付ファイル URL(別データベースへ Relation) |
| エラーハンドリング | Path → If no match → Create Database Item で新規ページ作成 |
ポイント:Gmail のラベルは自動化のスイッチになるため、社内ルールに合わせた命名規則を設けると管理が楽です。
3️⃣ ChatGPT(OpenAI API) → Notion ページ自動保存
| 手順 | 内容 |
|---|---|
| トリガー | 任意(例:Google Sheets の「Prompt」列に新行追加) |
| Webhook (POST) | Webhooks by Zapier で OpenAI chat/completions エンドポイント呼び出しHeaders: Authorization: Bearer YOUR_OPENAI_API_KEYBody(JSON)例: { "model":"gpt-4", "messages":[{"role":"user","content":"{{Prompt}}"}] } |
| Formatter | Utilities – Parse JSON → choices[0].message.content を抽出 |
| アクション | Notion – Create Page - Parent Database: 「AI生成コンテンツ」 - Title: Prompt の要約(文字数制限で Truncate) - Content: 生成テキスト(Rich Text) |
| Relation (Optional) | 作成したページを「プロジェクト」データベースと Relation 化し、Rollup で「総文字数」を集計 |
ポイント:OpenAI の利用料金は別途発生します。Zapier の Code by Zapier(JavaScript)でも同様に呼び出せますが、Webhook が最もシンプルです。
高度設定 – Filter・Formatter と Relation/Rollup の活用例
1. 条件分岐とテキスト整形
| シナリオ | Filter 条件 | Formatter 処理 |
|---|---|---|
| 重要度が高い Slack メッセージだけ保存 | Message Text に「⚠️」が含まれるか |
Text – Truncate(200 文字) |
| Gmail の PDF 添付のみ対象 | Attachment MIME Type = application/pdf |
File – Rename({{date}}_{{subject}}.pdf) |
| ChatGPT 出力が 500 字以上の場合だけ Notion に保存 | Length of Content > 500 |
Text – Capitalize Sentences |
実装ヒント:Filter が失敗したタスクは自動的に「Skipped」扱いになるため、Task History のレポートで見逃しがないか定期確認してください。
2. Relation と Rollup でデータ分析基盤を構築
- データベース設計
Tasks(タスク) データベース:Assignee(Relation →Members)、Status、Due Date等-
Members(メンバー) データベース:Task Count(Rollup → Relation:Tasks, Aggregation: Count) -
Zapier 側のマッピング
text
Notion – Create Database Item (Tasks)
Assignee = {{Member Page ID}} ← 事前に「Members」データベースで検索して取得 -
活用例
- ダッシュボードページで
Membersの Rollup を表示し、リアルタイムの 未完了タスク数 が把握できる。 - 週次レポートを自動生成し、Slack に通知する Zap(Filter: Status = "In Progress")を組み合わせれば、マネジメント層への情報提供が自走化。
テスト、エラーハンドリング、運用メンテナンス
1. テスト実行のベストプラクティス
| 手順 | 内容 |
|---|---|
| Step 1 | Zap 編集画面右上の Test ボタンで各ステップごとにサンプルデータを流す。 |
| Step 2 | 成功したら Notion に実際に項目が作成されているか確認(プレビューまたは UI)。 |
| Step 3 | 失敗時は Zapier の Task History でエラーメッセージを取得し、スクリーンショットやメモとして保存。 |
| Step 4 | 本番環境向けに「テスト用」データベースと「本番用」データベースを分離し、テストは必ず前者で行う。 |
2. よくあるエラーと対策
| エラー種別 | 主な原因 | 推奨対策 |
|---|---|---|
| API レートリミット (429) | 短時間に多数リクエスト送信 | Delay(30‑60 秒)や Schedule アクションで間隔を調整 |
| プロパティ型不一致 | テキストを数値フィールドへマッピング | Formatter – Numbers → Convert to Integer 前処理 |
| ページ権限エラー (403) | トークンが対象データベースに共有されていない | Notion 側でインテグレーションをページ/データベースに Can edit で招待 |
| 検索結果なし | キーワードがデータベースに存在しない | Path → “If no match” → Create Database Item(フォールバック) |
3. 定期的なメンテナンスフロー
- 週次レビュー
- Zapier の Task History → 「Failed」タスクを抽出。
-
エラー原因別にシート化し、改善アクション(Delay 延長、トークン再発行等)を記録。
-
月次権限チェック
- Notion の内部統合トークンがアクセスできるページ・データベース一覧をエクスポート。
-
変更があれば Zap 設定の Database ID や Relation を更新。
-
年次アップデート
- Notion API のバージョンやレートリミット方針に変更がないか公式ドキュメントを確認。
- Zapier のプラン・価格改定情報も併せてチェックし、必要ならプラン変更を検討。
全体まとめとチェックリスト
重要ポイント(簡潔版)
| 項目 | 要点 |
|---|---|
| 内部統合トークン取得 | Notion のインテグレーション作成 → トークンコピー → 対象ページに Can edit で共有 |
| Zapier プラン確認 | 無料プランはシングルステップのみ。マルチステップが必要なら Starter 以上へアップグレード(出典: Zapier Pricing) |
| 認証方式選択 | 手軽さ重視 → OAuth 最小権限・監査必須 → 内部統合トークン |
| API レートリミット | 1 秒あたり 3 リクエスト(公式: Notion API Rate Limits) Delay アクションで対策 |
| 代表シナリオ | Slack→Notion、Gmail→Notion、ChatGPT→Notion の3パターンを実装例として提示 |
| 高度設定 | Filter/Formatter でノイズ除去、Relation+Rollup で分析基盤構築 |
| テスト・運用 | 各ステップの Test → Task History に記録 → 週次レビューと月次権限チェックを実施 |
実装前最終チェックリスト
- [ ] Notion の内部統合トークンは取得済みかつ 対象ページに共有 されている。
- [ ] Zapier アカウントのプランが、構築したいフローに対して十分である(マルチステップ必要なら有料)。
- [ ] OAuth と内部統合トークンのどちらを使うか判断し、要件シートに記載。
- [ ] 各 Zap に Delay(30 秒以上)または Schedule アクションでレートリミット対策が入っている。
- [ ] テストデータベースでフローを 1 回以上実行し、Notion 側に期待通りの項目が作成・更新されることを確認。
- [ ] エラーハンドリング(Filter/Path)と Task History のモニタリング設定が完了している。
次のステップ:本稿で示した手順とチェックリストに沿って、まずは「Slack → Notion タスク作成」Zap を構築し、テスト・レビューサイクルを回すことから始めましょう。実装が安定したら、他シナリオや Relation/Rollup の活用へ拡張してください。
本ガイドは 2024 年 5 月時点の情報に基づき作成しています。公式ドキュメントや料金プランの変更があった場合は随時更新してください。