ゴールと前提条件
このワークフローで実現すること
契約書の管理と承認フローは、多くの企業で複雑化しています。紙の契約書が社内のあちこちに散らばり、承認待ちの契約書がどこまで進んでいるのか分からない、更新期限を見逃してしまう――こうした課題を抱えている方は少なくないでしょう。
このワークフローでは、契約書の登録から承認、最終的な保管・期限管理までを自動化します。具体的には以下のプロセスを効率化します:
- 契約書の新規作成依頼を受け付け、自動でデータベースに登録
- AIによる契約書の自動レビューとリスク項目のチェック
- 承認者への自動通知と承認フローの進捗管理
- 契約締結後の自動アーカイブと更新期限のリマインド通知
- 契約書の検索性を高める自動タグ付けと分類
このワークフローを導入することで、契約業務にかかる時間を約60%削減し、期限管理のミスをゼロに近づけることができます。
前提となる環境
このワークフローを実装するには、以下のツールとアカウントが必要です:
- Notion:契約書データベースの管理と情報の一元化に使用
- Make(旧Integromat):各ツールを連携させ、ワークフローを自動実行
- ChatGPT API(OpenAI):契約書の内容を自動レビューし、リスク項目を抽出
- Slack:承認依頼や期限通知を関係者に送信
- Google Drive または Dropbox:契約書PDFの保管場所(任意)
また、契約書はPDF形式またはWord形式で管理することを想定しています。電子契約サービス(CloudSign、DocuSign等)を併用している場合も、このワークフローと連携可能です。
全体フローの俯瞰図
このワークフローは、以下の4つのステージで構成されています:
- トリガー:契約書作成依頼の受付
営業担当者や法務担当者がNotionのフォームまたはデータベースに契約書情報を入力すると、自動的にワークフローが起動します。 - 情報整理・AIレビュー
MakeがNotionの新規レコードを検知し、契約書PDFをChatGPT APIに送信。AIが契約内容を解析し、リスク項目(不利な条項、期限、金額など)を自動抽出してNotionに記録します。 - 承認フローの自動実行
契約種別や金額に応じて、適切な承認者に自動的にSlack通知を送信。承認者がNotionで承認/差し戻しを選択すると、次のステップに進みます。複数段階の承認が必要な場合も、順番に通知が送られます。 - 契約締結後の自動保管・リマインド
最終承認後、契約書はGoogle DriveまたはDropboxの所定フォルダに自動保存され、Notionのステータスが「締結済み」に更新されます。契約更新日の30日前、7日前に自動でリマインド通知がSlackに送信されます。
この一連のフローにより、「誰が」「いつまでに」「何をすべきか」が常に明確になり、契約書管理の属人化を防ぎます。
使用するツールと役割
Notion:契約書データベースの中核
Notionは、このワークフローの司令塔として機能します。契約書ごとに以下の情報を一元管理します:
- 契約名、契約先企業名、担当者
- 契約種別(業務委託、秘密保持契約、売買契約など)
- 契約金額、契約期間、更新日
- 契約書PDFファイルのリンク
- 承認ステータス(作成中、承認待ち、承認済み、締結済み)
- AIレビュー結果(リスク項目、要注意条項)
Notionのデータベースビュー機能を使えば、「承認待ちの契約一覧」「今月更新予定の契約」など、目的別に情報を可視化できます。
Make:ワークフロー自動化のエンジン
Makeは、各ツール間のデータ連携と処理の自動実行を担当します。このワークフローでは、以下のシナリオを作成します:
- シナリオ1:新規契約書の登録・AIレビュー
Notionの新規レコード作成をトリガーに、契約書PDFをChatGPTに送信してレビュー結果を取得し、Notionに書き戻します。 - シナリオ2:承認通知の自動送信
Notionのステータスが「承認待ち」に変わった際、承認者にSlack DMを送信します。承認者がNotionで操作した後、次の承認者に通知を送ります。 - シナリオ3:契約更新リマインド
毎日定期実行し、Notionから「更新日が30日以内の契約」を検索してSlackに通知します。
Makeの視覚的なフローエディタを使えば、プログラミング不要で複雑な条件分岐や繰り返し処理を実装できます。
ChatGPT API:契約書の自動レビュー
ChatGPT APIは、契約書の内容を解析し、以下のような情報を自動抽出します:
- 契約の主要な条件(金額、期間、支払条件など)
- リスクとなり得る条項(損害賠償条項、競業避止義務など)
- 不明瞭な表現や要確認ポイント
- 契約種別の自動判定
2025年現在、GPT-4oやGPT-4 Turboを使えば、長文の契約書PDFも高精度で解析できます。ただし、AIレビューはあくまで補助的なものであり、最終的な法的判断は必ず専門家が行う必要があります。
Slack:リアルタイム通知とコミュニケーション
Slackは、ワークフローの各ステージで関係者に通知を送ります:
- 承認依頼の通知(Notionの該当ページへのリンク付き)
- 承認完了の通知
- 契約更新期限のリマインド
- AIレビューで検出されたリスク項目のアラート
Slackのメンション機能を活用すれば、担当者が通知を見逃すリスクを最小限に抑えられます。
手順詳細(ステップバイステップ)
STEP 1:Notionで契約書データベースを構築する
まず、Notionで契約書を管理するためのデータベースを作成します。
1-1. 新しいページを作成し、「データベース(フルページ)」を選択
Notionを開き、サイドバーから「新規ページ」をクリック。「テーブル」または「データベース(フルページ)」を選択し、名前を「契約書管理DB」などとします。
1-2. 必要なプロパティ(項目)を追加する
以下のプロパティを設定します:
| プロパティ名 | タイプ | 説明 |
|---|---|---|
| 契約名 | タイトル | 契約書の名称 |
| 契約先企業 | テキスト | 取引先の会社名 |
| 契約種別 | セレクト | 業務委託、NDA、売買契約など |
| 契約金額 | 数値 | 契約の総額 |
| 契約開始日 | 日付 | 契約の開始日 |
| 契約終了日 | 日付 | 契約の終了日 |
| 更新日 | 日付 | 自動更新の場合の更新日 |
| ステータス | セレクト | 作成中、承認待ち、承認済み、締結済み |
| 承認者1 | ユーザー | 第一承認者 |
| 承認者2 | ユーザー | 第二承認者(必要な場合) |
| 契約書ファイル | ファイル&メディア | 契約書PDFをアップロード |
| AIレビュー結果 | テキスト(長文) | ChatGPTが抽出した要約とリスク項目 |
| 担当者 | ユーザー | 契約の担当者 |
| 備考 | テキスト(長文) | 特記事項 |
1-3. ビューを作成して見やすくする
データベースに以下のビューを作成すると便利です:
- 「承認待ち」ビュー:ステータスが「承認待ち」の契約のみ表示
- 「更新予定」ビュー:更新日が30日以内の契約を表示
- 「締結済み」ビュー:ステータスが「締結済み」の契約を時系列で表示
STEP 2:ChatGPT APIキーを取得する
OpenAIのプラットフォームにアクセスし、APIキーを取得します。
2-1. OpenAIアカウントを作成(未作成の場合)
OpenAIの公式サイトで「Sign up」からアカウントを作成します。
2-2. APIキーを発行
ダッシュボードから「API keys」→「Create new secret key」をクリックし、キーを生成します。このキーは一度しか表示されないため、必ず安全な場所に保管してください。
2-3. 使用量の上限を設定(推奨)
「Usage limits」から月額の上限を設定しておくと、予期しない高額請求を防げます。契約書レビューの場合、月に100件処理しても数千円程度で収まります(GPT-4o使用時)。
STEP 3:Makeでワークフローシナリオを作成する
ここからが自動化の本番です。Makeで3つのシナリオを作成します。
シナリオA:新規契約書の登録とAIレビュー
3-1. Makeにログインし、新しいシナリオを作成
Makeにログインし、「Create a new scenario」をクリックします。
3-2. トリガーモジュール:Notion「Watch Database Items」を追加
- Notionアプリを検索し、「Watch Database Items」を選択
- Notionアカウントと接続し、先ほど作成した「契約書管理DB」を選択
- Trigger設定で「Created」を選択(新規作成時のみ実行)
これで、Notionに新しい契約書が登録されるたびに、このシナリオが自動実行されます。
3-3. 契約書PDFをダウンロード(Notionからファイル取得)
- 「HTTP」モジュール→「Get a file」を追加
- URL欄に、Notionから取得した「契約書ファイル」のURLを指定
- これで契約書PDFをMakeのワークフロー内で利用可能になります
3-4. ChatGPTモジュールを追加してAIレビューを実行
- 「OpenAI」アプリを検索し、「Create a Completion (GPT-4o)」を選択
- APIキーを入力して接続
- Promptに以下のようなプロンプトを設定:
「以下の契約書PDFの内容を分析し、以下の情報を抽出してください:
1. 契約の主要な条件(金額、期間、支払条件など)
2. リスクとなり得る条項(損害賠償条項、競業避止義務、解約条件など)
3. 不明瞭な表現や要確認ポイント
4. 契約種別の判定
5. 総合的なリスク評価(低・中・高)
結果は以下の形式で出力してください:
【契約種別】
【主要条件】
【リスク項目】
【要確認ポイント】
【総合リスク評価】」
- File欄に、前のステップでダウンロードしたPDFファイルを指定
つまづきポイント:PDFの文字数が多い場合、GPT-4oでもトークン制限に引っかかることがあります。その場合は、契約書を複数のチャンクに分割して処理するか、要約を先に作成してから詳細分析する2段階処理にしましょう。
3-5. AIレビュー結果をNotionに書き戻す
- 「Notion」アプリ→「Update a Database Item」を選択
- データベースIDとレコードIDを指定(トリガーで取得したもの)
- 「AIレビュー結果」プロパティに、ChatGPTの出力結果を設定
- 同時に、ステータスを「承認待ち」に更新
3-6. シナリオを保存して有効化
右下の「Save」をクリックし、スイッチをONにしてシナリオを有効化します。これで、Notionに新しい契約書が登録されると、自動的にAIレビューが実行されるようになります。
シナリオB:承認通知の自動送信
3-7. 新しいシナリオを作成
再度「Create a new scenario」をクリックし、承認フロー用のシナリオを作成します。
3-8. トリガー:Notion「Watch Database Items」でステータス変更を監視
- Notionアプリ→「Watch Database Items」を追加
- 同じ「契約書管理DB」を選択
- Trigger設定で「Updated」を選択
- フィルター条件で「ステータスが『承認待ち』に変更された場合のみ」を設定
3-9. 条件分岐:契約金額に応じて承認フローを変える
- 「Router」モジュールを追加(条件分岐)
- ルート1:契約金額が100万円未満の場合→承認者1のみに通知
- ルート2:契約金額が100万円以上の場合→承認者1と承認者2の両方に通知
3-10. Slack通知を送信
- 「Slack」アプリ→「Create a Message」を追加
- Slackアカウントと接続
- チャンネルまたはDMの宛先を設定(承認者のSlack IDを指定)
- メッセージ本文に以下の内容を記載:
「【契約承認依頼】
契約名:{{契約名}}
契約先:{{契約先企業}}
契約金額:{{契約金額}}円
契約期間:{{契約開始日}} 〜 {{契約終了日}}
AIレビュー結果:
{{AIレビュー結果}}
以下のリンクから内容を確認し、Notionで承認/差し戻しを選択してください:
{{NotionページURL}}」
3-11. シナリオを保存して有効化
これで、ステータスが「承認待ち」に変わると、自動的に承認者にSlack通知が送られるようになります。
シナリオC:契約更新リマインド
3-12. 新しいシナリオを作成(スケジュール実行)
「Create a new scenario」で新規シナリオを作成します。
3-13. トリガー:Schedule(定期実行)
- 「Tools」→「Schedule」を追加
- 毎日午前9時に実行するように設定
3-14. Notionで更新日が近い契約を検索
- 「Notion」アプリ→「Search Objects」を追加
- データベースで「契約書管理DB」を選択
- フィルター条件:「更新日が今日から30日以内」かつ「ステータスが締結済み」
3-15. Slack通知を送信(リマインド)
- 「Slack」アプリ→「Create a Message」を追加
- 担当者のDMまたは専用チャンネルに送信
- メッセージ内容:
「【契約更新リマインド】
以下の契約の更新日が近づいています:
契約名:{{契約名}}
契約先:{{契約先企業}}
更新日:{{更新日}}
担当者:{{担当者}}
更新手続きを進めてください。
詳細:{{NotionページURL}}」
3-16. シナリオを保存して有効化
これで、毎日自動的に更新日が近い契約をチェックし、リマインド通知が送られるようになります。
STEP 4:運用テストを実施する
4-1. テスト用の契約書を登録
Notionに架空の契約書データを入力し、ワークフローが正常に動作するか確認します。
4-2. 各ステップの動作確認
- AIレビューが正しく実行され、Notionに結果が記録されるか
- 承認者にSlack通知が届くか
- ステータス変更が正しく反映されるか
- リマインド通知が指定した日時に送信されるか
4-3. エラーが発生した場合の対処
Makeの実行履歴から、どのモジュールでエラーが発生したか確認できます。よくあるエラー:
- Notion接続エラー:NotionのIntegration設定で、該当データベースへのアクセス権限が付与されているか確認
- ChatGPT APIエラー:APIキーが正しいか、トークン数が上限を超えていないか確認
- Slack通知が届かない:Slack AppのOAuth設定で、必要な権限(chat:write、users:read等)が付与されているか確認
STEP 5:チームへの展開と運用ルールの整備
5-1. 運用マニュアルを作成
Notionに、このワークフローの使い方をまとめたマニュアルページを作成します:
- 契約書の新規登録方法
- 承認の進め方
- 差し戻しの方法
- よくあるエラーと対処法
5-2. 関係者へのレクチャー
営業部門、法務部門、総務部門など、契約書に関わる全ての部署に対して、ワークフローの説明会を実施します。特に承認者には、Notionでの承認操作方法を丁寧に説明しましょう。
5-3. 既存契約書の移行
過去の契約書もNotionに登録することで、検索性と管理性が大幅に向上します。ただし、一度に全てを移行すると負担が大きいため、優先度の高い契約(大口取引先、更新日が近い契約など)から段階的に登録していくことをおすすめします。
自動化前後でどう変わるか(ビフォーアフター)
作業時間の変化
| 業務内容 | 自動化前 | 自動化後 | 削減率 |
|---|---|---|---|
| 契約書の新規登録 | 10分/件 | 3分/件 | 70%削減 |
| 契約内容の確認・レビュー | 30分/件 | 10分/件 | 67%削減 |
| 承認依頼の連絡 | 5分/件 | 0分(自動) | 100%削減 |
| 承認状況の確認 | 10分/日 | 1分/日 | 90%削減 |
| 更新期限の管理 | 30分/週 | 0分(自動) | 100%削減 |
| 契約書の検索・参照 | 15分/回 | 2分/回 | 87%削減 |
月間20件の契約を処理する場合、約40時間の作業時間を15時間まで削減できます(約63%削減)。これは週に約6時間分の工数削減に相当します。
ミスの減少
自動化前によくあったミス:
- 承認依頼を忘れ、契約締結が遅れる
- 更新期限を見逃し、自動更新されてしまう
- 契約書が社内の複数の場所に散らばり、最新版が分からなくなる
- 承認者が不在の際、代理承認者への連絡を忘れる
自動化後は、これらのミスがほぼゼロになります。特に更新期限の管理は、リマインド機能により確実にフォローできるようになります。
メンバー間の情報共有
自動化前:契約書の情報が属人化しており、担当者に聞かないと状況が分からない。
自動化後:Notionを見れば、誰でも契約の状況をリアルタイムで確認できる。承認の進捗も一目瞭然で、関係者全員が同じ情報を共有できます。
法務リスクの低減
AIレビュー機能により、契約書の不利な条項や見落としがちなリスク項目を早期に発見できます。これにより、契約トラブルの予防にもつながります。
応用・拡張アイデア
1. 電子契約サービスとの連携
CloudSign、DocuSign、Adobe Signなどの電子契約サービスと連携すれば、契約締結までのプロセス全体を完全にデジタル化できます。MakeにはこれらのサービスのAPIモジュールも用意されているため、比較的簡単に実装可能です。
実装例:
- Notionで最終承認が完了したら、自動的にCloudSignで電子契約書を作成
- 契約先にメールで署名依頼を送信
- 相手方が署名完了したら、Notionのステータスを「締結済み」に自動更新
- 締結済みPDFを自動的にGoogle Driveに保存
2. 契約書の自動分類とタグ付け
ChatGPTに契約書の内容を解析させ、自動的にタグを付けることで、検索性をさらに高められます。
タグ例:
- 契約種別:業務委託、秘密保持、売買、ライセンス
- リスクレベル:低、中、高
- 金額レンジ:〜50万円、50〜100万円、100万円〜
- 自動更新の有無:あり、なし
3. Googleスプレッドシートでの予実管理
Notionのデータを定期的にGoogleスプレッドシートに同期させ、契約金額の集計や予算管理に活用できます。
実装例:
- 毎月1日に、先月締結した契約の一覧をスプレッドシートに出力
- 契約金額を自動集計し、予算との差異を計算
- 経営層にレポートをメールで自動送信
4. AIによる契約書ドラフトの自動生成
さらに進化させるなら、ChatGPTを使って契約書の初期ドラフトを自動生成することも可能です。
実装例:
- Notionで契約の基本情報(契約先、契約内容、期間、金額など)を入力
- ChatGPTが過去の類似契約をベースに、ドラフトを自動生成
- 生成されたドラフトをWord形式で出力し、Google Driveに保存
- 法務担当者が最終チェックして承認フローに回す
ただし、契約書の自動生成は法的リスクを伴うため、必ず専門家のレビューを経ることが必須です。
5. 多言語契約への対応
海外企業との契約がある場合、ChatGPTの多言語対応機能を活用すれば、英語や中国語の契約書も自動レビューできます。
6. Teamsへの通知切り替え
社内でMicrosoft Teamsを使用している場合は、Slackの代わりにTeamsに通知を送ることもできます。Makeには「Microsoft Teams」モジュールが用意されています。
よくある質問・つまづきポイントQ&A
Q1. Makeのシナリオが実行されない
A. 以下の点を確認してください:
- シナリオのスイッチがONになっているか
- Notionとの接続が有効か(Integration設定を確認)
- トリガー条件が正しく設定されているか(例:「Created」なのに「Updated」でトリガーしようとしている)
- Makeのプランで、シナリオの実行回数制限に達していないか
Makeの実行履歴を確認すると、どこでエラーが発生しているか詳細が分かります。
Q2. ChatGPTのAPIコストが気になる
A. GPT-4oの場合、1回の契約書レビュー(約5,000トークン想定)で約10〜20円程度です。月に50件処理しても500〜1,000円程度なので、人件費と比較すれば十分にコストメリットがあります。
もしコストをさらに抑えたい場合は、GPT-3.5 Turboを使用する選択肢もあります(精度は若干下がります)。
Q3. AIレビューの精度が低い
A. プロンプトの改善が効果的です。以下のポイントを意識してください:
- 具体的な出力形式を指定する(箇条書き、表形式など)
- 「リスク項目」の定義を明確にする(例:損害賠償条項、競業避止義務、解約条件など)
- Few-shot学習:良い例と悪い例をプロンプトに含める
- 契約種別ごとにプロンプトを分ける
また、GPT-4oの最新バージョンを使用することで、精度が向上します。
Q4. 承認者が複数いる場合のフロー設計
A. Makeの「Router」モジュールと「Notion」の更新監視を組み合わせることで、多段階の承認フローを実装できます。
実装例:
- 第一承認者が承認すると、Notionのステータスが「第一承認完了」に変更
- Makeが変更を検知し、第二承認者にSlack通知
- 第二承認者が承認すると、ステータスが「承認済み」に変更
Notionに「承認ステップ」というセレクトプロパティを追加し、段階的に進めるのがおすすめです。
Q5. 契約書PDFが画像化されていて、テキスト抽出できない
A. スキャンした契約書など、テキスト情報が埋め込まれていないPDFの場合、OCR(光学文字認識)が必要です。
対処法:
- Google Cloud Vision APIやAWS Textractを使ってOCR処理を追加
- Adobe AcrobatのOCR機能で事前にテキスト化してからアップロード
- ChatGPTのVision機能(GPT-4 Vision)を使って、画像として契約書を読み取る
Q6. 過去の契約書を一括で移行したい
A. Notionの「Import」機能を使えば、CSV形式で一括インポートできます。
手順:
- 既存の契約書情報をExcelやGoogleスプレッドシートでリスト化
- CSV形式で保存
- Notionの「Import」から「CSV」を選択してアップロード
- 各項目を適切なプロパティにマッピング
契約書PDFファイル自体は、手動でアップロードするか、Google DriveのリンクをNotionに貼り付ける形で管理すると効率的です。
Q7. セキュリティ面での懸念
A. 契約書には機密情報が含まれるため、セキュリティ対策は重要です。
推奨対策:
- Notionのアクセス権限を適切に設定(関係者以外は閲覧不可)
- ChatGPT APIは、データ保持なしのオプションを使用(OpenAIのエンタープライズプランまたはAPI設定で「data retention: 0 days」を指定)
- MakeのシナリオにIPアドレス制限を設定(有料プラン)
- 契約書PDFはGoogle DriveやDropboxで暗号化保存
- 特に機密性の高い契約は、このワークフローに乗せず、別途管理
まとめ:まずどこから着手すべきか
このワークフロー全体を一度に構築しようとすると、かなりの時間と労力がかかります。そこで、段階的な導入をおすすめします。
フェーズ1:Notionでの契約書データベース構築(1週間)
まずは、Notionで契約書を一元管理する仕組みを作りましょう。自動化はまだ行わず、手動で登録・管理する形でスタートします。これだけでも、契約書の検索性と可視化が大幅に改善されます。
この段階でのメリット:
- 契約書の一元管理による検索性向上
- 承認状況の可視化
- 更新期限の一覧表示
フェーズ2:承認通知の自動化(2週間)
次に、MakeとSlackを連携させて、承認通知を自動化します。これだけでも、承認依頼の連絡漏れがなくなり、大きな効果を実感できます。
この段階でのメリット:
- 承認依頼の自動化による工数削減
- 承認状況のリアルタイム把握
- 承認遅延の防止
フェーズ3:AIレビューの導入(3週間)
ある程度運用が安定してきたら、ChatGPT APIを連携させてAIレビュー機能を追加します。プロンプトのチューニングに時間がかかるため、段階的に精度を高めていきましょう。
この段階でのメリット:
- 契約レビュー時間の大幅短縮
- リスク項目の自動抽出
- 契約内容の要約による確認作業の効率化
フェーズ4:更新リマインドとその他の拡張(4週間〜)
最後に、更新リマインド機能や、電子契約サービスとの連携など、さらなる拡張機能を追加していきます。
この段階でのメリット:
- 更新漏れの完全防止
- 契約締結プロセスの完全デジタル化
- 経営データとしての活用
最初の一歩:今日からできること
「いきなり全部は難しい」という方は、まずNotionで契約書データベースを作るところから始めてください。既存の契約書を5件だけでもいいので、Notionに登録してみましょう。
それだけでも、「情報が一箇所にまとまっている」という安心感と、検索のしやすさを実感できるはずです。そこから少しずつ自動化を進めていけば、無理なくワークフローを構築できます。
導入効果の測定
ワークフローを導入したら、以下の指標で効果を測定しましょう:
- 契約書の登録から承認までの平均日数
- 承認遅延の発生件数
- 更新期限の見逃し件数
- 契約書検索にかかる平均時間
- 法務担当者の契約業務にかける時間
これらの数値が改善されていれば、ワークフローが確実に効果を発揮している証拠です。
契約書管理は、企業にとって非常に重要な業務でありながら、属人化しやすく、ミスも起こりやすい領域です。このワークフローを導入することで、「誰が見ても分かる」「自動で漏れなく管理される」仕組みを作ることができます。
まずは小さく始めて、徐々に拡張していく――そのアプローチで、確実に業務効率化を実現していきましょう。