Power AutomateとAzure AIで実現する契約書リスク自動分析システム(第1回:システム概要・準備編)

Azure OpenAI
スポンサーリンク

はじめに

みなさん、こんにちは!業務ハックLabのようです。

この記事は「Microsoft Power Automate Advent Calendar 2025」の12月21日担当分の記事です。

いやー、最近は生成AIの話題で持ちきりですよね!
私も色々と試してるんですが、今回は割と実用的なシステムを作ってみました。

契約書のチェックって、めちゃくちゃ時間かかりませんか?
法務担当の方なら分かると思うんですが、一つの契約書を読み込んで、リスク項目を洗い出して、関係者に共有して…って、めちゃくちゃ時間がかかる作業ですよね。
(しかも集中力も必要だし、疲れる… 法務担当者の方、ほんとに尊敬です)

そこで!
今回はAzure Document IntelligenceAzure OpenAIを使って、この作業を自動化しちゃおうという企画です。

この記事シリーズで実現できること

このシリーズを読み終わる頃には、こんなシステムが完成します!

実現できること:

  • SharePointにアップロードされた契約書PDFを自動でテキスト抽出
  • Azure OpenAI(GPT-4.1)によるリスク分析
  • リスクレベルに応じた自動通知とデータ記録

はい、もうこれだけで夢が広がりますよね!

想定読者:

  • Power Automateの基本操作ができる方
  • Azure サービスの利用経験がある方(触ったことがあればOK!)
  • 契約書審査プロセスの自動化に興味がある方

まあ、正直に言うと「Azure触ったことない」って方でも、この記事の通りに進めれば作れるように書いていきますので、ご安心ください!

記事シリーズの構成

全4回に分けて、じっくり解説していきます。

📝 第1回(今回):システム概要・準備編

  • システムの全体像を理解
  • 必要なリソースの準備
  • SharePointの設定

📝 第2回:基礎実装編

  • Power Automateフローの作成
  • 変数の初期化
  • ファイル取得の実装

📝 第3回:AI分析実装編

  • Document Intelligenceの実装
  • Azure OpenAIとの連携
  • JSON解析

📝 第4回:完成・運用編

  • 条件分岐と通知
  • トラブルシューティング
  • 運用のベストプラクティス

それでは、第1回、行ってみましょう!

契約書チェック自動化システムの概要

どういう仕組みなの?

まずは全体の流れを見ていきましょう。

処理の流れ:

  1. トリガー: SharePointに契約書PDFがアップロードされる
  2. テキスト抽出: Azure Document Intelligenceで契約書を解析
  3. リスク分析: Azure OpenAIで契約内容を評価
  4. 判定と通知: リスクレベルに応じて通知・記録

シンプルですよね!
(実装はちょっと大変だけど、それは次回以降で丁寧に解説します)

アーキテクチャ図

文字で書くとこんな感じです。

契約書PDF (SharePoint)
    ↓
Power Automate フロー
    ↓
Azure Document Intelligence
  - 契約書からテキスト・構造を抽出
  - 当事者、契約ID、条項などを認識
    ↓
Azure OpenAI (GPT-4)
  - リスク項目の分析
  - リスクレベルの判定(高/中/低)
  - 対応策の提案
    ↓
結果の記録・通知
  - SharePointリストに保存
  - 高リスク時はTeamsで通知

はい、これが今回作るシステムの全体像です!

各サービスがちゃんと役割分担してるのが分かりますよね。

(ちゃんとテストしてくださいね)

前提条件

では、実際に作り始める前に、必要なものを整理していきましょう。

必要なリソース

1. Azure リソース

Azure Document Intelligence

これは契約書からテキストを抽出するサービスです。

  • リソース名の例: doc-intel-contract-analysis
  • 推奨リージョン: Japan East
  • 価格レベル: Standard S0

Azure OpenAI

こちらがAIの頭脳部分ですね。

  • リソース名の例: openai-contract-risk
  • 推奨リージョン: East US
  • デプロイモデル: gpt-4.1

いろいろモデルはあるので適したものを使いましょう!

2. Microsoft 365

これは皆さん、もう持ってますよね!

  • Power Automate Premium ライセンス(これは必須です!)
  • SharePoint サイト(契約書保管用)
  • Microsoft Teams(通知用)

3. 準備するもの

Azureリソースを作成したら、以下の情報をメモしておいてください。

【Azure Document Intelligence】

  • エンドポイント: https://[リソース名].cognitiveservices.azure.com/
  • APIキー: キー1またはキー2

【Azure OpenAI】

  • エンドポイント: https://[リソース名].openai.azure.com/
  • APIキー: キー
  • デプロイ名: gpt-4.1-contract

これらの情報は、Azureポータルの各リソースの「キーとエンドポイント」から取得できます。

(スクリーンショット撮っておくと便利ですよ!後で「あれ、どこだっけ?」ってなりがちなので…)

Phase 1: SharePointの準備

さあ、ここから実際に手を動かしていきますよ!

まずはSharePointの設定からです。

1-1. 契約書保管用ライブラリの作成

SharePointサイトに行って、新しいドキュメントライブラリを作りましょう。

設定内容:

  • 名前: Contract
  • 説明: リスク分析対象の契約書を保管

はい、これだけです。
シンプルですよね!

作り方は、SharePointサイトの「新規」→「ドキュメントライブラリ」で作成できます。

(もう知ってるよ!って方はサクッと進めちゃってください)

1-2. 分析結果記録用リストの作成

次は、分析結果を保存するためのリストを作ります。

SharePoint サイトで「新規」→「リスト」を選択してください。

リスト名: ContractRiskAnalysisResults

ここが少しだけ面倒なんですが、列をいくつか追加する必要があります。

列の構成:

列名種類設定説明
タイトル1行テキスト既定
FileName1行テキストファイル名
RiskLevel選択肢高/中/低リスクレベル
RiskScore数値小数点以下0桁リスクスコア
OverallRating複数行テキストプレーンテキスト総合評価
HighRiskItemDetails複数行テキストプレーンテキスト高リスク項目詳細
AnalysisDateTime日付と時刻日付と時刻を含める分析日時
FileLinkハイパーリンクファイルリンク

はい、それぞれの列を作っていきます。
ちなみに列名は一番最初は半角英数字で作成しましょう。
(作成後は列名変更で全角に変更しても大丈夫です。)

列の追加方法:

  1. リストを開く
  2. 「列の追加」をクリック
  3. 列の種類を選択
  4. 列名と設定を入力
  5. 「保存」

これを8回繰り返します。
(ちょっと大変ですが、最初だけなので頑張りましょう!)

特に注意が必要なのは「RiskLevel」:

選択肢の列を作る時に、以下の3つの選択肢を入れてください。

これ、順番も大事です。
高→中→低の順にしておくと、後でソートする時に便利ですからね!

確認してみましょう

はい、ここまでで以下の2つができましたか?

✅ 契約書を保管するドキュメントライブラリ
✅ 分析結果を記録するSharePointリスト

できてたら、第1回の準備は完了です!

まとめ

はい、如何でしたでしょうか?

第1回では、システムの全体像と、SharePointの準備まで完了しました!

今回やったこと:

  • システムの仕組みと処理フローを理解
  • 必要なAzureリソースと費用感を把握
  • SharePointのライブラリとリストを準備

次回(第2回)では、いよいよPower Automateでフローを作り始めます。
変数の初期化とか、ファイルの取得とか、基礎的な部分をじっくり解説していきますよ!

(次回は少しコード的な部分も出てくるので、楽しみにしててください!)

それでは皆さん、良い業務ハックライフを~


連載記事:

  • 📍 第1回:システム概要・準備編(今回)
  • 第2回:基礎実装編(次回予告)
  • 第3回:AI分析実装編
  • 第4回:完成・運用編

コメント