広告に使っているタレント・モデルの写真と動画の使用期限を素材台帳から拾い、停止か延長交渉かを判定して広告主の担当へ知らせる
素材台帳から使用期限の近いタレント・モデルの写真と動画を毎朝拾い、契約条件の記載と掲出中の媒体を照らして、停止の手配か延長の交渉かを判定します。結果は広告主の担当の営業へ Teams で届けます。
- 生成AI
- Azure OpenAI Service/Claude
- 連携・自動化
- Make/n8n/Power Automate
- 対象業界
- EC/小売/広告/飲食
- 対象部門
- マーケティング/営業
- 対象業務
- 内容確認・チェック/台帳・マスタ管理
- 主な課題
- 属人化している/期限・対応漏れが起きる/確認ミスが多い
- AIで行う処理
- 判定
- 主な効果
- 対応スピード向上/工数削減/機会損失防止
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 月初に制作管理部の担当者が素材台帳を使用期限で並べ替え、60日以内の行を書き出す
- 1件ずつ、その素材がいまどの媒体に出ているかを、掲出計画の表と営業へのメールで確かめる
- 契約条件メモを読み、延長の可否、申し入れの期限、使える媒体と地域を拾う
- 掲出の予定が使用期限より先まで続くものについて、停止か延長交渉かの見立てを書く
- 店頭やサイネージに出ているものは、撤去にかかる日数を足して、いつまでに決める必要があるかを書く
- 広告主ごとにまとめて、担当の営業へメールで送る
- 営業が広告主と相談し、延長するなら制作管理部が事務所と交渉し、止めるなら各媒体の担当へ停止を依頼する
- 自動平日の毎朝7時にフローが動き、素材台帳から使用期限まで60日以内の行を取り出す
- 自動掲出計画のリストから、その素材を使っている掲出の行(媒体・地域・掲出の終了予定日)を引く
- 自動媒体ごとの撤去にかかる日数の表を引き、「止めるならいつまでに決めるか」の日付を計算する
- 自動AI Builder のプロンプトが、契約条件メモと掲出の行を読み、`stop` / `negotiate` / `no_action` / `needs_review` を判定する
- 自動判定と根拠を素材台帳の「期限対応」の欄に書き、前回と変わったものだけを残す
- 自動営業ごとにまとめて、決める期限の近い順に並べ、Teams のフロー ボットから届ける
- 人営業が広告主と相談し、延長するか止めるかを台帳の「決定」の欄に入れる
- 人制作管理部が `needs_review` と、延長と決まったものの事務所との交渉を担う
- 自動決めるべき日を過ぎても「決定」が空のものを、制作管理部のチャネルへ回す
各工程の詳しい説明を読む
- 月初に制作管理部の担当者が素材台帳を使用期限で並べ替え、60日以内の行を書き出す
- 1件ずつ、その素材がいまどの媒体に出ているかを、掲出計画の表と営業へのメールで確かめる
- 契約条件メモを読み、延長の可否、申し入れの期限、使える媒体と地域を拾う
- 掲出の予定が使用期限より先まで続くものについて、停止か延長交渉かの見立てを書く
- 店頭やサイネージに出ているものは、撤去にかかる日数を足して、いつまでに決める必要があるかを書く
- 広告主ごとにまとめて、担当の営業へメールで送る
- 営業が広告主と相談し、延長するなら制作管理部が事務所と交渉し、止めるなら各媒体の担当へ停止を依頼する
(a)月初の1回では間に合わないものがある。 月の途中で延長の申し入れ期限が来る素材は、月初に拾っても、営業が広告主と話す前に期限を過ぎることがあります。月1回の洗い出しでは、期限の近いものほど遅れます。
(b)契約条件メモの読み方が人で違う。 「延長可(要相談)」を、延長できると読む人と、事務所に聞くまで分からないと読む人がいます。同じ書き方の素材が、担当者によって「延長交渉」と「停止」に分かれます。
(c)止めるのに日数がかかる媒体を忘れる。 Web 広告は止めたことを確かめやすい一方、店頭のポスターは店舗に任せたままになりがちです。期限の翌週に、店舗に貼られたままのポスターが見つかるのは、たいていこの型です。
(d)営業へのメールが読まれない。 広告主ごとに長いメールで届くため、急ぎのものが埋もれます。どれから手を付けるかが書かれていないと、営業は全部を後回しにします。
- 【自動】 平日の毎朝7時にフローが動き、素材台帳から使用期限まで60日以内の行を取り出す
- 【自動】 掲出計画のリストから、その素材を使っている掲出の行(媒体・地域・掲出の終了予定日)を引く
- 【自動】 媒体ごとの撤去にかかる日数の表を引き、「止めるならいつまでに決めるか」の日付を計算する
- 【自動】 AI Builder のプロンプトが、契約条件メモと掲出の行を読み、
stop/negotiate/no_action/needs_reviewを判定する - 【自動】 判定と根拠を素材台帳の「期限対応」の欄に書き、前回と変わったものだけを残す
- 【自動】 営業ごとにまとめて、決める期限の近い順に並べ、Teams のフロー ボットから届ける
- 【人】 営業が広告主と相談し、延長するか止めるかを台帳の「決定」の欄に入れる
- 【人】 制作管理部が
needs_reviewと、延長と決まったものの事務所との交渉を担う - 【自動】 決めるべき日を過ぎても「決定」が空のものを、制作管理部のチャネルへ回す
7番目と8番目が、この設計の分かれ目です。 AIが出すのは見立てまでで、延ばすか止めるかを決めるのは広告主と営業、交渉するのは制作管理部です。 判定をそのまま停止の依頼に流す設計にすると、延長できたはずの素材まで止まります。
4番目でAIに読ませるのは、契約条件メモと掲出の行だけです。 期限までの日数や決める期限の日付は、フローが計算して渡します。日付の計算をAIにさせると、月末をまたぐところで1日ずれます。
02今回想定するシステム構成
素材台帳(SharePoint:素材ID・広告主・出演者・種別・使用期限・契約条件メモ・期限対応・決定) ▼【トリガー】繰り返し(平日 毎朝7時) Power Automate(スケジュールされたクラウド フロー) ├──▶ Get items:使用期限が60日以内 かつ 決定が空 ├──▶ 掲出計画のリストから媒体・地域・終了予定日を引く ├──▶ 撤去日数の表から「決める期限」を計算する ├──▶ プロンプトを実行する(AI Builder のプロンプト、JSON 出力) │ 契約条件メモ+掲出の行 → 判定・根拠・確認事項 ├──▶ 素材台帳の「期限対応」に Update item ├──▶ 営業ごとにまとめ、決める期限の近い順に並べる └──▶ Teams:チャットまたはチャネルでメッセージを投稿する(フロー ボット) ▼ 【営業】広告主と相談し「決定」を入れる /【制作管理部】要確認と延長の交渉
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Power Automate(スケジュールされたクラウド フロー、SharePoint コネクタ) | Make、n8n |
| 生成AI | AI Builder のプロンプト(「プロンプトを実行する」アクション、JSON 出力) | Azure OpenAI(Microsoft Foundry)、Claude |
| 保管 | SharePoint のリスト(素材台帳、掲出計画、撤去日数の表) | Dataverse |
| 通知 | Microsoft Teams(フロー ボットとのチャット、制作管理部のチャネル) | Outlook のメール |
新しく足すのは、フロー1本と、撤去日数の表だけです。 素材台帳と掲出計画は今のリストを使い、素材台帳に「期限対応」「決める期限」「決定」の3列を足すのが最初の準備作業です。 撤去日数の表は、媒体ごとに「止めると決めてから外れるまでの日数」を1行ずつ持つ小さなリストです。
入口は、スケジュールされたクラウド フローです。 公式ドキュメントでは、スケジュールされたフローは「毎日午前 10 時」や「毎週月曜日の午前 9 時」などの定期的なスケジュールで実行され、作成すると繰り返しのトリガーが追加されるとされています。
素材台帳は SharePoint コネクタの Get items で読みます。 OData のフィルター クエリで取り出す行を絞り込めて、取得件数(Top Count)の既定は「すべて」です。列の多いリストでは、ビューで列を絞る指定もあります。
判定は、AI Builder のプロンプトを「プロンプトを実行する」アクションで呼びます。 2025年5月以降に「プロンプトを使用して GPT でテキストを作成する」から名前が変わったアクションで、プロンプトの入力に前のアクションの値を渡せます。 出力は JSON にでき、保存した時点の形式が固定されます。
出口は Teams の「チャットまたはチャネルでメッセージを投稿する」です。 投稿者にフロー ボットを選び、営業へはフロー ボットとのチャットで、制作管理部へはチャネルで届けます。
03どうやって実装するのか
処理の起点を決める
平日の毎朝7時に1回動かします。 月初の1回にしないのは、第3章の(a)のとおり、月の途中で来る申し入れ期限を拾うためです。 毎朝動かしても、営業に届くのは前日から判定が変わったものと、決める期限が近づいたものだけにします。
| 届けるきっかけ | 条件 | 届け先 |
|---|---|---|
| 初回 | 使用期限まで60日を切った | 担当の営業 |
| 決める期限の14日前 | 「決定」が空 | 担当の営業 |
| 決める期限の3日前 | 「決定」が空 | 担当の営業と制作管理部のチャネル |
| 決める期限を過ぎた | 「決定」が空 | 制作管理部のチャネル |
「決める期限」は、次の2つのうち早いほうです。 契約条件メモにある延長の申し入れ期限と、使用期限から撤去日数を引いた日です。どちらも過ぎると、選べる道が減ります。 申し入れ期限を過ぎれば延長の交渉が難しくなり、撤去日数を割り込めば期限までに外しきれません。
土日と祝日は動かしません。 決める期限が週末に当たるものは、前の金曜日を期限として扱います。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 素材の行 | 素材ID、広告主、出演者(タレント・モデル)、所属事務所、種別(写真/動画)、使用開始日、使用期限、担当の営業 | 素材台帳 |
| 契約条件メモ | 延長の可否、申し入れの期限、使える媒体と地域、二次使用の可否などを転記した文章 | 素材台帳の「契約条件メモ」の欄 |
| 掲出の行 | その素材を使う掲出ごとの媒体、地域、掲出の開始日と終了予定日、媒体の担当 | 掲出計画のリスト |
| 撤去日数 | 媒体ごとの「止めると決めてから外れるまでの日数」 | 撤去日数の表 |
| 前回の判定 | 前回の判定と根拠、届けた日 | 素材台帳の「期限対応」の欄 |
質を決めるのは、契約条件メモです。 メモが「延長可(要相談)」の1行しかなければ、AIにも延長の条件は読めません。その場合は needs_review にして、制作管理部が契約書の原本を見ます。 メモの書き方がそろうほど、needs_review は減ります。
撤去日数の表は、営業と媒体の担当で一度決めれば足ります。 たとえば SNS の広告とリスティングは1日、自社サイトのバナーは2日、店内のデジタルサイネージは5日、店頭のポスターと交通広告は14日、といった値です。この値が実態より短いと、決める期限が遅く出ます。
データの取得方法を決める
素材台帳は Get items で読みます。フィルター クエリは次のとおりです。
UsageEnd le '@{formatDateTime(addDays(utcNow(), 60), 'yyyy-MM-dd')}' and UsageEnd ge '@{formatDateTime(utcNow(), 'yyyy-MM-dd')}' and Decision eq null
使用期限を過ぎた行は、別のフィルターで取ります。 期限を過ぎてもまだ掲出の行が残っているものは、判定に回さず、そのまま制作管理部のチャネルに「期限切れで掲出中」として出します。 ここはAIが判定する段階ではありません。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 期限の近い素材の行 | 素材台帳(Get items) | 判定の対象 |
| 掲出の行 | 掲出計画のリスト(Get items、素材IDで絞る) | いま出ている媒体と終了予定日 |
| 撤去日数 | 撤去日数の表(Get items) | 決める期限の計算 |
| 営業の連絡先 | 素材台帳の「担当の営業」の列(ユーザーの列) | Teams の受信者 |
| 前回の判定 | 素材台帳の「期限対応」の欄 | 変わったかどうかの比較 |
担当の営業の列は、ユーザーの列にしておきます。 名前の文字列だと、異動や同姓で送り先を誤ります。ユーザーの列ならメールアドレスが取れ、それをそのまま Teams の受信者に使えます。
日付は日本時間でそろえます。 utcNow() は UTC を返すので、朝7時の実行では前日の日付になります。比べる前に日本時間に直してから日付だけを取り出します。 最初に数件で確かめます。
AIへ渡す前に整形する
- 掲出の終了予定日との比較 … すべての掲出の終了予定日が使用期限より前なら、AIを呼ばずに
no_actionとします - 決める期限の計算 … 掲出の行ごとに「使用期限 − 撤去日数」を出し、いちばん早い日を素材の撤去の期限とします
- 契約条件メモの長さの確認 … 空のときはAIを呼ばず
needs_reviewにします - 出演者の個人情報の除去 … メモに事務所の担当者の電話番号やメールアドレスがあれば、渡す前に伏せます
- 前回の判定との比較 … 契約条件メモと掲出の行が前回から変わっていなければ、AIを呼ばずに前回の判定を使います
- 同じ撮影の素材のまとめ … 同じ出演者・同じ使用期限の素材は、営業へのメッセージで1つにまとめます
1番目を軽く見ないでください。 期限の近い素材の多くは、キャンペーンが先に終わっていて何もしなくてよいものです。ここでAIを呼ばずに落とすと、判定に回る件数が大きく減り、営業に届く件数も減ります。
5番目は、毎朝同じ判定を作り直さないためです。 判定が日によって揺れると、営業は前日の連絡と見比べて混乱します。入力が変わったときだけ判定し直します。
AIに処理させる
させるのは、契約条件メモと掲出の行を読み、4つのうちどれに当たるかを、根拠の文字列を付けて判定することだけです。
| 判定 | 当てはまるとき |
|---|---|
negotiate | 掲出が使用期限より後まで続き、メモに延長できる旨がある(申し入れ期限を過ぎたかはフローが日付で見る) |
stop | 掲出が使用期限より後まで続き、メモに延長できない旨がある |
needs_review | メモから延長の可否が読み取れない、または媒体・地域の範囲がメモと掲出で食い違う |
no_action はAIに選ばせません。 掲出が期限より前に終わるかどうかは日付の比較で決まるので、前処理でフローが付けます。AIが見るのは、掲出が期限より後まで続く素材だけです。
あわせて、掲出の行ごとに「メモの範囲に入っているか」を in_scope / out_of_scope / unclear で返させます。 期限より前でも、契約に無い媒体に出ていれば問題です。範囲から外れた掲出が1つでもあれば、判定は needs_review に寄せます。
| させないこと | 理由 |
|---|---|
| 延長できるかの最終判断 | 契約の解釈は法務と制作管理部が行う。AIの判定は見立て |
| 延長料の見積 | メモに料率があっても、計算は人が契約書で確かめる |
| 申し入れ期限の日付計算 | 「満了の1か月前」を日付にするのはフローの側。AIには文言を写させる |
| 事務所や広告主への連絡文 | 相手との関係に関わる。営業と制作管理部が書く |
| メモに無い条件の補完 | 業界の慣行で埋めると、契約に無い条件が生まれる |
5行目がいちばん起きやすい失敗です。 「延長可」としか書かれていないメモを渡すと、「一般に申し入れは満了の1か月前まで」と補って negotiate にします。メモに無い条件で見立てを出すと、営業はその期限を信じて動きます。
指示内容を固定する
あなたは広告会社の制作管理部で、タレント・モデルを起用した広告素材の
使用期限が近づいたときに、停止の手配か延長の交渉かの見立てを作る補助です。
最終的に決めるのは広告主と営業です。あなたは見立てだけを出します。
【入力】
- 素材:{asset}(素材ID、出演者、種別、使用開始日、使用期限)
- 契約条件メモ:{contract_note}
- 掲出の行:{placements}(媒体、地域、開始日、終了予定日)
【してほしいこと】
1. 契約条件メモから、次の4点を書かれているとおりに写してください。
延長の可否/申し入れの期限の文言/使える媒体/使える地域
書かれていなければ「記載なし」としてください。
2. 掲出の行ごとに、媒体と地域がメモの範囲に入っているかを
in_scope/out_of_scope/unclear で答えてください。
3. 次の基準で verdict を1つ選んでください。
- negotiate:メモに延長できる旨がある
- stop:メモに延長できない旨がある
- needs_review:延長の可否が「記載なし」か「要相談」など
どちらとも読める、または out_of_scope/unclear の掲出がある
4. 判定の根拠にしたメモの文字列を evidence にそのまま写してください。
【厳守事項】
- メモに書かれていない条件を、業界の慣行や一般論で補わないでください。
- 「要相談」「応相談」は、延長できる旨として扱わないでください。
- 日付の計算をしないでください。申し入れの期限は文言のまま写してください。
- 延長料の金額を計算しないでください。
- 迷ったときは needs_review を選んでください。
- 回答に JSON マークダウンを含めないでください。
「要相談を延長できる旨として扱わない」を明記しないと negotiate になります。 「延長可(要相談)」には「可」の字があり、何も言わなければそれを根拠に選びます。第3章の(b)で人によって読み方が分かれていたのは、まさにこの書き方です。 迷う書き方は人に回す、と決めておくことで、担当者による揺れをなくします。
日付の計算を禁じているのは、フローの側で計算するためです。 AIには「満了の1か月前まで」という文言を写させ、フローがその文言の型(「満了のN日前」「満了のNか月前」)を見て日付にします。 型に合わない文言は needs_review に回します。
最後の1行は、公式ドキュメントの FAQ にある対処です。 モデルが JSON をマークダウンで囲むと形式の検証が通らないことがあり、この一文を足すよう案内されています。
出力形式を固定する
プロンプトの出力を JSON にし、次の形の例を渡して形式を「カスタム」で保存します。
{
"asset_id": "",
"contract_terms": {
"extension": "",
"notice_deadline_text": "",
"allowed_media": "",
"allowed_region": ""
},
"placements": [
{ "placement_id": "", "media": "", "region": "", "scope": "in_scope | out_of_scope | unclear" }
],
"verdict": "negotiate | stop | needs_review",
"evidence": [ { "quote": "" } ],
"open_points": [ { "point": "" } ]
}
1つ目の理由は、根拠と判定を分けて見られることです。 営業へのメッセージには verdict と evidence を並べて出し、なぜその見立てかを1行で読めるようにします。 判定だけが届くと、営業はメモを開き直します。
2つ目は、形式が固定されることです。 公式ドキュメントでは、プロンプトを保存すると最新の自動検出の形式または定義したカスタムの形式がロックされ、フローで使うときは保存された形式が使われるとされています。毎朝同じ形で返ってくるので、台帳への書き込みとメッセージの組み立てが壊れません。
注意が1つあります。 公式ドキュメントの制限事項に、フィールドのキーの無い JSON(["abc", "def"] のような配列)はサポートされないとあります。evidence と open_points を文字列の配列にせず、キー付きの要素の配列にしているのはこのためです。
営業に届くメッセージは、フローの側で次の形に組み立てます。
【起用素材の使用期限のお知らせ】(決める期限の近い順)
■ ○○食品/出演:A さん/動画(15秒)
使用期限:12月15日 決める期限:11月14日(延長の申し入れ期限)
見立て:延長交渉(negotiate)
根拠:「延長は満了の1か月前までに書面で申し入れ」
掲出中:SNS 広告(全国)・店内サイネージ(関東)
→ 台帳の「決定」に、延長/停止を入れてください
見立ては契約条件メモから作ったものです。
延長の可否は契約書と事務所への確認で決まります。
最後の2行は毎回入れる定型文です。 見立てがAIの作ったものであることと、最終的な可否は契約書で決まることを、届くたびに思い出してもらいます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 素材台帳 | SharePoint コネクタ(Get items/Update item) | 期限の近い素材を取り出し、「期限対応」と「決める期限」を書く |
| 掲出計画のリスト | SharePoint コネクタ(Get items) | 素材ごとの掲出の行を取り出す |
| 撤去日数の表 | SharePoint コネクタ(Get items) | 媒体ごとの日数を引く |
| AI Builder のプロンプト | プロンプトを実行する | 判定・根拠・範囲の照合を JSON で返す |
| Microsoft Teams | チャットまたはチャネルでメッセージを投稿する | 営業へはフロー ボットとのチャット、制作管理部へはチャネル |
素材台帳の「決定」の列には書き込みません。 この構成が書くのは見立てまでで、「決定」を入れるのは営業です。 判定から停止の依頼を自動で出す仕組みも作りません。止める作業は、各媒体の担当が管理画面と店舗への連絡で行います。
Teams への投稿には上限があります。 公式ドキュメントでは、メッセージの大きさは約28KBが上限で、フロー ボットの操作は接続あたり300秒で25回とされています。営業ごとに1通にまとめ、1通に入れる素材は10件までにします。 送る営業が25人を超える朝は、送信の間に待ちを入れます。
Teams の管理センターで、Workflows のアプリが許可されている必要があります。 公式ドキュメントでは、メッセージの投稿は Workflows(旧 Power Automate)のアプリが使えて、管理センターで「許可」になっていることが前提とされています。制作管理部のチャネルはプライベート チャネルにしません。 プライベート チャネルへの投稿は現在サポートされていないとされています。
人が確認する
判定のすべてを、営業か制作管理部のどちらかが確かめます。 この構成は見立てを早く、そろった形で届けるためのもので、判定を確定させる段はありません。
- 営業が
negotiateとstopを見る … 根拠の文字列を読み、広告主と延長するか止めるかを話して「決定」を入れます - 制作管理部が
needs_reviewを見る … 契約書の原本を開き、延長の可否と申し入れの期限を確かめて、契約条件メモを書き直します - 制作管理部が延長の交渉を担う … 「決定」が延長になったものについて、事務所へ申し入れます
- 媒体の担当が停止を確かめる … 「決定」が停止になったものについて、媒体ごとに止めた日を掲出計画に入れます
2番目で契約条件メモを書き直すのが、いちばん効く作業です。 次にその素材や同じ事務所の素材が出てきたとき、メモがそろっていれば needs_review になりません。
4番目を省かないでください。 店頭のポスターは、店舗に連絡しただけでは外れたか分かりません。止めた日が掲出計画に入らない掲出は、使用期限の翌日に「期限切れで掲出中」として制作管理部のチャネルに出ます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 契約条件メモが空 | AIを呼ばず needs_review。制作管理部が契約書から転記する |
| 申し入れ期限の文言が型に合わない | 「決める期限」を撤去の期限だけで出し、needs_review を併記 |
| 掲出の行が見つからない | 掲出計画の未登録を疑い、営業に掲出の有無を聞く |
| 範囲外の掲出がある | needs_review。期限より前でも制作管理部へ |
| 使用期限を過ぎて掲出が残る | 判定に回さず「期限切れで掲出中」として制作管理部のチャネルへ |
| 担当の営業が異動した | ユーザーの列が引けない。制作管理部のチャネルへ回す |
| JSON を生成できなかった | 1回だけやり直し、失敗したら needs_review として届ける |
| メッセージが大きすぎる | 約28KBが上限。1通10件までにして分ける |
| 延長が決まったのに使用期限が更新されない | 「決定」が延長で、使用期限が前のままなら、期限の7日前に制作管理部へ |
最後の行は、延長の交渉が終わった後の更新漏れを拾います。 延長が決まっても、台帳の使用期限を書き換えないと、期限の翌日に「期限切れで掲出中」の誤報が出ます。 逆に、交渉がまとまらなかった素材がそのまま掲出され続けることも防ぎます。
記録を残す
- 判定ごとの入力(契約条件メモ、掲出の行、撤去日数)と、AIが返した JSON の全文
- 営業に届けた日時と、決める期限
- 「決定」が入った日時と、決めた人
- 見立てと「決定」が食い違ったもの …
negotiateだったが停止にした、などの記録 - 使用期限を過ぎて掲出が残った件数と、外れるまでの日数
4つ目は、判定の精度ではなく、メモの書き方を直す材料です。 食い違いの多くは、広告主の都合で延ばさなかっただけで、AIの誤りではありません。ただし、stop と出たのに延長できたものは、メモの書き方を疑います。
最後の行が、この構成の効き目を測る数字です。 期限切れの掲出が0件の月が続くことが、作業時間の削減より大事な目標です。
04実装レベルの3段階
本記事の想定は半自動化です。 洗い出しと掲出の照合、見立て、営業への連絡が毎朝自動で行われ、制作管理部は needs_review と延長の交渉に時間を使います。1件10分が3分になるのは、この段階です。 最小構成では、①の掲出の確認が残ります。 掲出計画の表を開いて営業に聞く作業は変わらず、短くなるのは②の契約条件メモを読むところだけです。 本格構成は、この記事の範囲を超えます。 契約書の原本から条件を読み取るには、契約書の管理の仕組みとの連携と、契約の解釈を誰が確かめるかの取り決めが要ります。半自動化で契約条件メモの書き方をそろえてから考えます。
05工数削減シミュレーション
導入後 180件 × 3分 ÷ 60 = 9 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 複数の広告主のキャンペーンでタレント・モデルの写真と動画を使い、使用期間・媒体・地域の条件が素材ごとに違う広告会社や、自社で広告を作る小売・EC・飲食の宣伝部門。素材台帳を SharePoint のリストで持ち、使用期限を毎月だれかが目で追っている場合。期限が切れた素材が店頭や Web に残っていたことがある場合。
- タレント・モデルを起用する素材が年に数点で、担当者が手帳で追えている場合。素材の契約条件が台帳に無く、契約書の紙の綴りにしか書かれていない場合(先に台帳への転記が要ります)。なお、契約の解釈、延長の可否と料金の交渉、事務所への連絡は、この構成では代替できません。
07最小構成で試す方法
- 使用期限まで60日以内の素材から20件を選ぶ(メモが長いもの、「要相談」だけのもの、媒体の範囲が書かれたものを混ぜる)
- その20件の契約条件メモと掲出の行を、事務所の連絡先を伏せてから、AI Builder のプロンプトのテスト画面に貼る
- 第7章のプロンプトで判定させ、出力を JSON で見る
- 制作管理部のベテランが、同じ20件について自分ならどう見立てるかを先に書いておく
- 両者を突き合わせ、食い違ったものについて理由を書き出す
20件は必ずやってください。 フローを組む前に、「契約条件メモから見立てが立つのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| ベテランの見立てとほぼ同じだった | フローに進む |
| 「要相談」を延長できると判定した | 指示の書き方で直る。構成は有効 |
needs_review が半分を超えた | 契約条件メモの書き方が先。 AIの問題ではない |
3行目が出ても失敗ではありません。 ベテランは契約書の中身を覚えていて、メモに書かれていないことで判断しているということです。メモに「延長の可否」「申し入れの期限」「媒体」「地域」の4つの見出しを先に置くと、転記する人によるばらつきが減ります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 「要相談」が延長できる扱いになる | 指示に明記する。迷う書き方は needs_review へ |
| メモに無い条件が補われる | 「業界の慣行で補わない」と書き、根拠の文字列を必ず写させる |
| 申し入れ期限の日付がずれる | AIに計算させない。文言を写させ、フローで日付にする |
| 撤去の期限が遅く出る | 撤去日数の表を媒体の担当と決める。店頭は長めに |
| 日付が1日ずれる | utcNow() は UTC。日本時間に直してから日付を取る |
| 同じ連絡が毎朝届く | 入力が変わったときだけ判定し、届けるきっかけを表で決める |
| 期限が過ぎても掲出が残る | 判定に回さず、期限切れで掲出中として制作管理部へ |
| 延長後に期限が更新されない | 「決定」が延長で期限が前のままなら制作管理部へ |
| JSON の形式の検証が通らない | 「回答に JSON マークダウンを含めないでください」を足す |
| メッセージが送れない | 約28KBの上限。1通10件までに分ける |
| フロー ボットが送れない | Teams の管理センターで Workflows のアプリを許可する |
| 制作管理部のチャネルに届かない | プライベート チャネルは非対応。標準のチャネルに置く |
上の3行が、この構成の失敗のほとんどです。 どれも「契約に書かれていないことを、AIが書かれているように扱う」という同じ問題から出ています。根拠の文字列を写させ、迷うものは人に回す線を、指示と運用の両方で守ります。
撤去日数の行も、早く効いてきます。 日数が短く入っていると、決める期限が遅く出て、延長も停止も間に合わない素材が出ます。 最初は長めに入れ、実際に外れるまでの日数を記録して縮めます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 出演者の氏名と所属事務所、素材の使用条件、広告主のキャンペーンの媒体と期間です。未発表のキャンペーンの計画が含まれることがあります。
- AIに渡す範囲を契約条件メモと掲出の行に限る … 契約書の原本や出演料の金額は渡しません。前処理で事務所の担当者の連絡先を伏せます
- 処理される地域を確かめる … 公式ドキュメントのモデルの可用性の表では、日本で使える GPT-4.1 などに GA(クロスジオ) と付いており、クロスジオのモデルはリージョン外でデータを処理する可能性があるとされています。広告主との守秘の取り決めと照らして、選ぶモデルを決めます
- 見立てを決定の代わりにしない … メッセージに毎回「延長の可否は契約書で決まる」と入れ、「決定」の列はフローから書き込みません
- 停止の依頼を自動で出さない … 誤って止めれば広告主のキャンペーンが止まり、誤って延長を前提にすれば期限切れの掲出が残ります。 どちらも人が決めます
- 送り先をユーザーの列で決める … 名前の文字列から送り先を引くと、別の広告主を担当する営業に、未発表の計画が届きます
- 出演者が未成年の素材を扱うときは、契約の確認を厚くする … 保護者の同意など、契約の条件が増えることがあります。
needs_reviewに寄せる区分を台帳に持たせます
誤りが起きた場合のリスクは、延長できない素材の掲出を続けることと、延長できた素材を止めてしまうことの2つです。 前者はメモに無い条件を補うと起き、後者は「要相談」を停止と読むと起きます。どちらも契約条件メモの読み方から出ているので、迷うものを人に回す線だけは設計で守ります。
10まず何から始めるか
1週目:撤去日数の表と台帳の列を作る
媒体の担当と営業で、媒体ごとの「止めると決めてから外れるまでの日数」を決め、撤去日数の表を作ります。素材台帳に「期限対応」「決める期限」「決定」の3列を足し、担当の営業の列がユーザーの列になっているかを確かめます。
2週目:20件で試す
使用期限の近い20件を選び、プロンプトのテスト画面で判定させます。ベテランの見立てと突き合わせ、「要相談」を延長できると読んでいないか、メモに無い条件を補っていないかを最優先で見ます。
3週目:制作管理部のチャネルにだけ流す
毎朝のフローを作り、営業ではなく制作管理部のチャネルに出します。 決める期限の計算、届けるきっかけ、前回との比較が正しいかを1週間見ます。
4週目:営業に届け始める
担当する広告主の多い営業から届け始め、「決定」が入るまでの日数を見ます。
2か月目: 「期限切れで掲出中」の検知と、延長後の期限の更新漏れの検知を足します。needs_review の素材の契約条件メモを書き直していきます。3か月目以降: 見立てと「決定」の食い違いを月1回見て、メモの見出しと指示を直します。期限切れの掲出が0件の月が続いた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| スケジュールされたクラウド フローが「毎日午前 10 時」などの定期的なスケジュールで実行され、作成すると繰り返しのトリガーが追加されること | Microsoft Learn: トリガー | 2026-10-09 |
| Get items のフィルター クエリ(OData)、取得件数(Top Count)の既定がすべてであること、ビューで列を絞る指定があること。Update item があること | Microsoft Learn: SharePoint コネクタ | 2026-10-09 |
| 「プロンプトを実行する」アクションの名前が2025年5月以降に変わったこと、プロンプトの入力に前のアクションの値を渡せること、使用制限や容量の調整の対象になりうること | Microsoft Learn: Power Automate でプロンプトを使用する | 2026-10-09 |
| プロンプトの出力を JSON にでき、保存時に形式がロックされること。キーの無い JSON は非対応であること。JSON を生成できないときに「回答に JSON マークダウンを含めないでください」を足す対処 | Microsoft Learn: JSON 出力 | 2026-10-09 |
| 日本で使えるプロンプトのモデルに GA(クロスジオ)が付き、リージョン外でデータを処理する可能性があること | Microsoft Learn: リージョン別のプロンプトのモデル可用性 | 2026-10-09 |
| 「チャットまたはチャネルでメッセージを投稿する」の投稿者と投稿先、メッセージの約28KBの上限、フロー ボットの操作が接続あたり300秒で25回であること、Workflows のアプリの許可が要ること、プライベート チャネルへの投稿が非対応であること | Microsoft Learn: Microsoft Teams コネクタ | 2026-10-09 |
延長の可否、申し入れの期限、使える媒体と地域は、出演者の所属事務所との契約で決まります。 本記事は Microsoft の公式ドキュメントで確認できた範囲の仕組みだけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1177)についてのご相談はこちらから。
