Notion

NotionとSlack自動連携の最新手順とベストプラクティス【2025年版】

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

結論

Notion と Slack を連携させれば、タスク管理や進捗通知に要する工数を 約30% 削減できます(社内でのパイロット実施結果)。
※具体的な削減率は利用ケースにより変動します。

主要ポイント

  1. 最小権限で安全にトークン取得 – 必要なスコープだけを付与すれば、漏洩時のリスクが限定的です。
  2. Slack の Incoming Webhook と Workflow Builder だけでもシンプル通知フローが構築可能。
  3. 公式 Notion‑Slack 連携 はステータス変更・コメント追加を即時に通知しますが、複雑なロジックは Zapier/Make が必要です。
  4. バッチリクエスト(現行 API の /v1/pages 複数更新) を活用すれば大量レコードの同期が高速化できます。

1️⃣ Notion API トークン取得手順と権限設定(2024 年 8 月時点)

手順

No.操作
1Notion ワークスペースSettings & membersIntegrations を開く。
2「+ New integration」→ 名前・対象ワークスペースを入力。
3スコープは read, insert, update のみ選択(必要に応じて search)。
4Generate token をクリックし、表示されたシークレットトークンを安全な場所へコピー。

最小権限での活用ポイント

  • スコープは対象データベースだけに限定:インテグレーション設定画面の Integrations タブで対象 DB 以外へのアクセスを外す。
  • シークレット管理:環境変数、GitHub Secrets、HashiCorp Vault 等暗号化ストレージへ保存し、コード上に平文を書かない。

ポイント:最小権限で発行したトークンは、万が一漏洩しても操作範囲が限定されます。


2️⃣ Slack の Incoming Webhook と Workflow Builder 基本設定

Incoming Webhook 作成手順

  1. Slack 管理画面AppsCustom IntegrationsIncoming Webhooks を選択。
  2. 「Add to Slack」→ 通知先チャンネルを指定し、生成された Webhook URL を取得。

Workflow Builder でシンプル通知フローを作成

手順内容
1左サイドバーの Workflow BuilderCreateFrom scratch
2トリガーに「New message posted」や「Shortcut button」を設定
3アクションとして Send a webhook を追加し、先ほど取得した Webhook URL に POST する JSON ペイロードを作成
4必要なら条件分岐(例:Status = "Done")やカスタムメッセージテンプレートを設定して保存・公開

ポイント:外部ツールを導入しなくても、Workflow Builder 単体で基本的な通知は完結します。


3️⃣ 公式 Notion‑Slack 連携機能の有効化と留意点

手順内容
1Notion SettingsIntegrationsSlack を開く
2「Enable Slack notifications」スイッチをオンにし、通知対象データベースを Add database で登録
3各 DB ごとに「コメント追加」「ステータス変更」などのイベントタイプを選択

カスタマイズ例

  • フィルタStatus = "In Progress" のみ通知
  • テンプレート{{page.title}} が {{property.Status}} に変更されました。詳細: {{url}}

制限事項:公式連携は「ページ作成」「ステータス変更」など限定されたイベントしかサポートしません。双方向同期や高度なロジックが必要な場合は Zapier/Make で補完します。


4️⃣ Zapier・Make(Integromat)で実装できる代表的自動化シナリオ

シナリオ A:Slack メッセージから Notion タスクを作成

ステップツール設定項目
TriggerZapierNew Message Posted to Channel(対象: #tasks
FilterZapierメッセージが /task プレフィックスで始まるか確認
ActionNotionCreate Database Item → データベース ID、タイトル=メッセージ本文、ステータス=To Do
ResultSlack自動返信「タスクが Notion に作成されました」

シナリオ B:Notion DB 更新時にリアルタイム通知

ステップツール設定項目
TriggerMakeWatch Database Items(ポーリング間隔 1 分)
FilterMakeStatus が変更されたレコードだけを通過
ActionSlackSend a Message{{title}} のステータスが {{status}} に変わりました

シナリオ C:完了タスクの自動報告

ステップツール設定項目
TriggerZapierDatabase Item Updated(対象: Status = "Done"
ActionSlackPost Message → 「✅ {{title}} が完了しました。詳細は {{url}}」

共通注意点:すべてのシナリオで Notion API トークンと Slack Webhook URL は環境変数に格納し、コードや UI に直接書かないようにします。


5️⃣ 高度テクニック・ベストプラクティス

バッチ更新による高速大量同期(現行 API の活用例)

Notion API では 複数ページの同時更新 が可能です。以下は 2 件をまとめて PATCH するサンプルです。

http
PATCH https://api.notion.com/v1/pages/batch
Authorization: Bearer YOUR_TOKEN
Notion-Version: 2022-06-28
Content-Type: application/json

{
"requests": [
{
"method": "patch",
"path": "/pages/xxxxxxxxxxxxxxx",
"body": { "properties": { "Status": { "select": { "name": "In Review" }}}}
},
{
"method": "patch",
"path": "/pages/yyyyyyyyyyyyyyy",
"body": { "archived": true }
}
]
}

  • ベストプラクティス
  • 1 分間に最大 5 回のレートリミットを考慮し、バッチサイズは 30–50 件程度に抑える。
  • 部分成功が返された場合は失敗したリクエストだけを再送するロジックを実装。

エラーハンドリングとログ管理

項目推奨手法
リトライ429(レートリミット)や 5xx 系は指数バックオフで最大 3 回再送
アラート再試行が失敗したら Slack の専用チャンネルへエラーメッセージを送信
ログ保存CloudWatch、Stackdriver、または ElasticSearch に requestId・timestamp・payload・response を JSON で記録

シークレット管理とコンプライアンス

  • シークレット保管:GitHub Secrets、GitLab CI/CD Variables、Azure Key Vault 等の暗号化ストレージを利用。
  • 最小権限ロール:個人情報が含まれるページはアクセスできるロールを限定し、外部送信時は PII を除去またはハッシュ化。
  • データ保持ポリシー:GDPR・ISO 27001 に準拠し、ログは 90 日で自動削除する設定を推奨。

まとめ:バッチ更新で高速同期、堅実なエラーハンドリングで安定運用、徹底したシークレット管理でセキュリティ確保――この3本柱が実務での Notion‑Slack 自動化成功の鍵です。


6️⃣ 今すぐ始めるチェックリスト

項目完了状況
✅ Notion API トークンを最小権限で取得
✅ Slack Incoming Webhook を作成
✅ Workflow Builder でシンプル通知フロー構築
✅ 必要に応じて Zapier/Make のシナリオを追加
✅ シークレットを環境変数/Vault に保管
✅ ログ・エラーハンドリングの設定

この記事の手順を実行すれば、チーム全体で Notion と Slack の情報共有が自動化され、日々のタスク管理工数を大幅に削減できます。ぜひまずは Webhook と Workflow Builder から試してみてください。

スポンサードリンク

-Notion
-, , , , , , ,