商談資料をTeamsで共同編集しPower Automateで承認する!
「資料の最新版がどれか分からない」「承認依頼のメールが埋もれてしまって承認が遅れる」「承認状況がいちいち確認しに行かないと分からない」。こんな悩みを抱えている営業チームも多いのではないでしょうか。
Power AutomateとTeams、そしてSharePointを組み合わせることで、商談資料の共同編集から承認、そして承認状況の通知までの一連の流れを、効率的に自動化できます。この記事では、営業チームの生産性を向上させ、迅速な意思決定を支援する具体的な方法を解説します。
なぜ商談資料の共同編集と承認を自動化することが大切なのでしょう?
営業資料の作成から承認までのプロセスを自動化することは、営業活動のスピードと質を高める上で非常に重要です。どんな良いことがあるのか、一緒に見ていきましょう。
資料作成と編集がスムーズになるから
TeamsとSharePointの連携により、商談資料を複数人で同時に共同編集できるようになります。これにより、ファイルのやり取りの手間が省け、常に最新版の資料にアクセスしながら効率的に作業を進められます。Power Automateは、この共同編集された資料が「承認待ち」状態になったことを検知し、次のステップへと自動で繋げます。
承認プロセスが迅速化し、営業機会を逃さないから
手動での承認依頼は、メールの見落としや承認者の多忙により、承認が遅れてしまうリスクがあります。しかし、Power Automateで承認フローを自動化すれば、資料が「承認待ち」になった時点で、上長や承認者にTeams上で直接通知が届き、その場で承認・却下のアクションを取れるようになります。これにより、承認までの時間を大幅に短縮し、迅速な商談対応が可能になり、貴重な営業機会を逃しません。
承認状況が「見える化」されるから
「今、資料は誰の承認待ちなんだろう?」「承認されたのか、まだなのか?」といった疑問は、営業担当者にとってストレスです。Power Automateによる自動通知は、承認依頼が送信されたこと、承認されたこと、却下されたことなど、ステータスの変化をTeamsにリアルタイムで通知します。これにより、営業担当者は常に最新の承認状況を把握でき、総務部門への問い合わせも減らせます。
人的ミスが減り、管理の正確性が高まるから
資料のバージョン管理の誤りや、承認依頼の漏れ、ステータスの更新忘れなど、手動プロセスでは様々な人的ミスが発生しがちです。自動化されたワークフローは、これらのヒューマンエラーのリスクを大幅に削減します。常に正確な情報に基づいた承認プロセスが実行されるため、資料管理の正確性と信頼性が向上し、コンプライアンスの遵守にも貢献できるでしょう。
管理システムの準備を始めましょう
商談資料の共同編集と承認を自動化する仕組みを構築する前に、いくつか確認し、準備しておくべきことがあります。これらを事前に整理しておくことで、スムーズに自動化を進めることができます。
商談資料の「置き場所」を決めましょう
共同編集を行うため、商談資料はOneDrive for BusinessまたはSharePoint Onlineに保存する必要があります。Teamsのファイルタブは、裏側でSharePointと連携していますので、Teamsのチャネルにファイルを保存するのが最も効率的です。
Teamsのチャネルにドキュメントライブラリを作成/活用
- 商談資料を管理するためのTeamsチャネル(例:
営業部_商談資料、〇〇プロジェクト_資料)を作成するか、既存のチャネルを活用します。 - 各チャネルには、自動的にSharePoint上のドキュメントライブラリが紐づいています。このドキュメントライブラリの中に、商談資料を保存するフォルダ構造を決めましょう(例:
/顧客名/商談資料/)。
SharePointリストで「承認ステータス」を管理しましょう
資料の承認ステータスを管理するために、SharePointリストを利用します。これにより、フローが資料のステータス変更を検知し、承認プロセスを動かせるようになります。
ドキュメントライブラリに列を追加:商談資料が保存されるSharePointドキュメントライブラリに、以下の列を追加します。
- 承認ステータス: 選択肢列(例:
編集中、承認待ち、承認済み、却下)。既定値は編集中とします。 - 承認コメント: 複数行テキスト列(承認者からのコメント用)。
- 承認者: ユーザー列(承認を実行したユーザーを記録)。
承認者と通知先を決めましょう
誰が資料を承認するのか、そしてどこに通知を送るのかを事前に明確にしておきましょう。
承認者
- 特定の個人(例: 営業部長、チームリーダー)。
- 特定のAzure ADグループ(例:
営業部承認者グループ)。 - 資料の担当者(フローの実行時に設定)。
通知先
- 承認依頼: 承認者個人または承認者グループのTeamsチャット。
- 承認結果: 申請者(資料作成者)のTeamsチャット、関連するTeamsチャネル(例: 営業部チャネル)。
通知メッセージの内容を考えましょう
自動で送信される通知メッセージは、簡潔かつ分かりやすく、必要な情報が過不足なく含まれている必要があります。
- 承認依頼通知(承認者向け): 申請者、資料名、更新日、承認・却下アクションボタン、承認コメント入力欄。
- 承認完了通知(申請者向け): 資料名、承認結果(承認/却下)、承認者、承認コメント、資料へのリンク。
- チャネルへの全体通知(オプション): 資料名、承認結果、資料へのリンク。
Power Automateで自動化を設定しましょう(基本編)
Power Automateを使って商談資料の承認フローを作成していきます。資料のステータス変更をトリガーに、承認依頼を送信し、結果をTeamsに通知する基本的なフローから見ていきましょう。
フローを作成する場所を決めましょう
Power Automateのウェブサイトにアクセスし、左側のメニューから「作成」を選択します。今回は、SharePointのドキュメントが特定の状態になったときに自動的に実行されるフローなので、「自動化したクラウド フロー」を選択します。
トリガーを設定しましょう
フローのトリガーとは、「いつ」このフローを実行するかを決定するものです。ここでは、商談資料の「承認ステータス」が承認待ちに変更されたときにフローを実行します。トリガーには「項目が変更または作成されたとき (SharePoint)」を選択します。
作成例1:商談資料のステータスが「承認待ち」になったらTeamsで承認を依頼
このフローは、SharePointドキュメントライブラリ内の商談資料の「承認ステータス」列が「承認待ち」になったことを検知し、承認者にTeamsで承認依頼を送信します。
- Power Automateにサインインします。お使いのMicrosoft 365アカウントでPower Automateのウェブサイト(https://make.powerautomate.com/)にアクセスし、サインインします。
- 「作成」から「自動化したクラウド フロー」を選択します。左側のナビゲーションペインにある「作成」をクリックし、表示されるオプションの中から「自動化したクラウド フロー」を選択します。
- フロー名を指定し、トリガーを検索します。フロー名には「商談資料承認フロー」など、分かりやすい名前を付けます。「フローのトリガーを選択してください」の検索ボックスに「SharePoint」と入力し、「項目が変更または作成されたとき (SharePoint)」を選択して「作成」をクリックします。
- トリガーの詳細を設定します。
- サイトのアドレス: 商談資料が保存されているTeamsチャネルに紐づくSharePointサイトのURLを選択します(例: Teamsチャネルの「ファイル」タブの「SharePointで開く」からURLを確認できます)。
- リスト名: 商談資料が保存されているドキュメントライブラリを選択します(例:
ドキュメント)。
- 新しいステップを追加し、ステータスの変更を検知する条件分岐を設定します。
- 「条件」アクションを追加します。
- 左側の値: 動的なコンテンツのリストから「承認ステータス 値」(トリガーからの出力、新しい値)を選択します。
- 演算子: 「次の値と等しい」を選択します。
- 右側の値: 「
承認待ち」と入力します。 - 補足: これにより、資料の承認ステータスが「承認待ち」になった場合のみ「はい」のパスに進みます。
- 「はい」のパスに「アクションを開始して承認を待機します (承認)」アクションを追加します。「+ アクションの追加」をクリックし、検索ボックスに「承認」と入力し、「アクションを開始して承認を待機します」を選択します。
- 承認の種類: 「最初の応答」(いずれか1人の承認者が応答すればOK)または「全員が承認」(指定した全員が承認しないと先に進まない)を選択します。
- タイトル:
商談資料の承認依頼: @{triggerOutputs()?['body/Title']}(TitleはSharePointのファイル名です) - 割り当て先: 承認者のメールアドレスを入力します。複数人の場合はカンマ区切りです。(例:
sales.manager@貴社ドメイン.com) - 詳細:
以下の商談資料の承認をお願いいたします。 資料名: @{triggerOutputs()?['body/Title']} 申請者: @{triggerOutputs()?['body/Editor/DisplayName']} (最終更新者を表示) 最終更新日時: @{formatDateTime(triggerOutputs()?['body/Modified'], 'yyyy/MM/dd HH:mm')} 資料の確認はこちら: @{triggerOutputs()?['body/{Link}']}(SharePointのファイルリンク) - 項目へのリンク:
@{triggerOutputs()?['body/{Link}']}(SharePointのファイルへの直接リンク) - 項目への説明:
資料を確認し、承認または却下してください。
- 新しいステップを追加し、承認結果によって処理を分岐します。「+ 新しいステップ」をクリックし、「条件」アクションを追加します。
- 左側の値: 「アクションを開始して承認を待機します」アクションの
Outcomeを選択します。 - 演算子: 「次の値と等しい」
- 右側の値: 「
Approve」と入力します。
- 左側の値: 「アクションを開始して承認を待機します」アクションの
- 「はい」のパス(承認された場合)に、SharePointアイテムの更新とTeams通知アクションを追加します。
- 「項目を更新します (SharePoint)」アクション:
- サイトのアドレス: SharePointサイトのURL
- リスト名:
ドキュメント - ID: トリガーの
IDを選択します。 - タイトル: トリガーの
Titleを選択(既存値を維持) - 承認ステータス: 「
承認済み」を選択します。 - 承認コメント: 「アクションを開始して承認を待機します」アクションの
Responses Commentsを選択します。 - 承認者: 「アクションを開始して承認を待機します」アクションの
Responses Approver Nameを選択します。
- 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション(申請者向け):
- 投稿先: チャット
- 受信者: トリガーの
Editor Email(最終更新者のメールアドレス)を選択します。 - メッセージ:
@{triggerOutputs()?['body/Editor/DisplayName']}様 申請された商談資料「@{triggerOutputs()?['body/Title']}」が【承認されました】。 承認者: @{outputs('アクションを開始して承認を待機します')?['body/responses'][0]['approver/displayName']} 承認コメント: @{outputs('アクションを開始して承認を待機します')?['body/responses'][0]['comments']} 資料はこちら: @{triggerOutputs()?['body/{Link}']}
- (オプション)「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション(営業部チャネル向け):
- 投稿先: チャネル
- チーム: 営業部のTeamsチーム
- チャネル: 営業部の情報共有チャネル
- メッセージ:
【資料承認完了】商談資料「@{triggerOutputs()?['body/Title']}」の承認が完了しました。 承認ステータス: 承認済み 最終更新日時: @{formatDateTime(triggerOutputs()?['body/Modified'], 'yyyy/MM/dd HH:mm')} 資料はこちらからご確認ください: @{triggerOutputs()?['body/{Link}']}
- 「項目を更新します (SharePoint)」アクション:
- 「いいえ」のパス(却下された場合)に、SharePointアイテムの更新とTeams通知アクションを追加します。
- 「項目を更新します (SharePoint)」アクション:
- 承認ステータス: 「
却下」を選択します。 - 承認コメント: 「アクションを開始して承認を待機します」アクションの
Responses Commentsを選択します。 - 承認者: 「アクションを開始して承認を待機します」アクションの
Responses Approver Nameを選択します。
- 承認ステータス: 「
- 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション(申請者向け):
- 投稿先: チャット
- 受信者: トリガーの
Editor Email - メッセージ:
@{triggerOutputs()?['body/Editor/DisplayName']}様 申し訳ございません。申請された商談資料「@{triggerOutputs()?['body/Title']}」は【却下されました】。 承認者: @{outputs('アクションを開始して承認を待機します')?['body/responses'][0]['approver/displayName']} 却下理由: @{outputs('アクションを開始して承認を待機します')?['body/responses'][0]['comments']} 内容を修正の上、再度申請してください。資料はこちら: @{triggerOutputs()?['body/{Link}']}
- 「項目を更新します (SharePoint)」アクション:
- フローを保存してテストします。
- Teamsのファイルタブ(SharePointドキュメントライブラリ)に新しいExcelやWordファイルをアップロードするか、既存のファイルの「承認ステータス」列を「承認待ち」に変更します。
- Power Automateの実行履歴でフローが起動し、承認者にTeamsで承認依頼が届くことを確認します。
- 承認依頼に対して「承認」または「却下」を行い、その結果がTeamsに通知され、SharePointリストの「承認ステータス」が更新されることを確認します。
アクションを設定しましょう
トリガーが発動したら、次に「何を」するのかを設定します。これがアクションです。
承認アクション
「アクションを開始して承認を待機します」: Teams上で承認依頼のカードを送信し、承認者からの応答を待ちます。これが承認フローの中心的なアクションです。
SharePointアクション
「項目を更新します」: 承認結果に基づいて、SharePointドキュメントライブラリの「承認ステータス」列を更新します。
Teamsアクション
「チャットまたはチャネルにメッセージを投稿する」: 承認依頼の送信時や、承認結果の通知(申請者へ、チャネルへ)に使用します。
通知メッセージのカスタマイズをしましょう
メッセージの内容は、動的なコンテンツを利用して、資料名、申請者、承認者、コメントなどを自動的に埋め込むことができます。
- 資料名:
Title - 申請者:
Editor/DisplayName(SharePointの最終更新者) - 承認者:
Responses Approver Name(承認アクションの出力) - 承認コメント:
Responses Comments(承認アクションの出力) - 資料へのリンク:
{Link}またはWebUrl(SharePointのドキュメントのリンク)
これらの情報をメッセージ本文に適切に配置することで、受け取った人が一目で何の資料か、誰が承認したのか、結果はどうだったのかを把握できるように工夫しましょう。特に承認依頼では、資料への直接リンクと承認・却下ボタンが重要です。
Power Automateで自動化を設定しましょう(応用編)
基本編で作成したフローをさらに便利にするための応用テクニックを見ていきましょう。
承認後に資料を特定のフォルダに移動・コピーする
承認が完了した資料を、「承認済み資料」フォルダや、別部署がアクセスするアーカイブフォルダに自動で移動またはコピーするフローを組み込むことができます。
作成例2:承認後に資料を特定のフォルダに移動・コピーする
「はい」のパス(承認済みの場合)に、ファイルの移動またはコピーアクションを追加します。
- 基本編のフローの「はい」のパス(承認された場合)内を開きます。
- 「項目を更新します (SharePoint)」アクションの後に、以下のいずれかを追加します。
- ファイルをコピーする場合:
- 「ファイルのコピー (SharePoint)」アクションを追加します。
- 現在のサイトのアドレス: 現在のSharePointサイト
- コピー元のファイル:
@{triggerOutputs()?['body/{FullPath}']}(SharePointのファイルへのフルパス) - 宛先サイトのアドレス: コピー先のSharePointサイト(同じサイトの場合は同じものを選択)
- 宛先フォルダー: コピー先のフォルダーパス(例:
/Shared Documents/承認済み資料/) - 同じ名前のファイルが既に存在する場合: 「既存のファイルを置き換える」または「エラー」を選択。
- ファイルを移動する場合:
- 「ファイルの移動 (SharePoint)」アクションを追加します。
- 現在のサイトのアドレス: 現在のSharePointサイト
- ファイル:
@{triggerOutputs()?['body/{FullPath}']}(SharePointのファイルへのフルパス) - 宛先サイトのアドレス: 移動先のSharePointサイト
- 宛先フォルダー: 移動先のフォルダーパス(例:
/Shared Documents/承認済み資料/) - 宛先ファイル名:
@{triggerOutputs()?['body/{FilenameWithExtension}']}(元のファイル名を維持) - 同じ名前のファイルが既に存在する場合: 「エラー」を選択。
- ファイルをコピーする場合:
- フローを保存してテストします。資料を承認し、SharePointの指定フォルダに資料がコピーまたは移動されていることを確認します。
定期的に承認待ちの資料をリマインドする
承認依頼を送ったものの、承認者が忙しくてなかなか対応できない場合のために、一定期間承認されていない資料を自動でリマインドするフローを追加できます。これは別の「スケジュール済みクラウド フロー」として作成するのが適切です。
作成例3:定期的に承認待ちの資料をリマインドするPower Automateフロー(別フロー)
このフローは、定期的に実行され、承認待ちの資料の中から、一定期間(例:24時間以上)承認されていないものを検索し、承認者にTeamsでリマインダーを送信します。
- 新しいフローを「スケジュール済みクラウド フロー」として作成します。
- フロー名:「承認待ち資料リマインダー」
- 繰り返し: フローを実行したい頻度を設定します。例:毎日、午前9時。
- 新しいステップを追加し、SharePointリストから承認待ちのアイテムを取得します。「アイテムの取得 (SharePoint)」アクションを追加します。
- サイトのアドレス: 商談資料が保存されているSharePointサイト
- リスト名:
ドキュメント - フィルタークエリ:
承認ステータス eq '承認待ち' - 上位の制限: 必要に応じて、取得するアイテム数を制限します。
- 新しいステップを追加し、取得した各アイテム(資料)に対して処理を繰り返します。「アプライ トゥー イーチ」コントロールを追加し、「アイテムの取得」アクションの値を選択します。
- 「アプライ トゥー イーチ」の中に条件分岐を追加し、リマインド対象かチェックします。
- 「条件」アクションを追加します。
- 左側の値: 「式」タブを選択し、
formatDateTime(items('アプライ_トゥー_イーチ')?['申請日時'], 'yyyy-MM-ddTHH:mm:ssZ')(資料が承認待ちになった日時、または作成日時) と入力します。 - 演算子: 「次の値より小さい」を選択します。
- 右側の値: 「式」タブを選択し、
addHours(utcNow(), -24)(現在時刻から24時間前) と入力します。 - 補足: これにより、24時間以上承認待ちの資料のみ「はい」のパスに進みます。
- 「はい」のパスにTeamsへのリマインダー通知アクションを追加します。
- 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション(承認者向け):
- 投稿先: チャット
- 受信者: 承認者のメールアドレス(承認者をSharePointリストの列に持たせていれば、そこから取得できます。なければ固定値で入力)。
- メッセージ:
【リマインダー】以下の商談資料が承認待ちです。 資料名: @{items('アプライ_トゥー_イーチ')?['Title']} 申請者: @{items('アプライ_トゥー_イーチ')?['Editor']?['DisplayName']} 申請日時: @{formatDateTime(items('アプライ_トゥー_イーチ')?['Created'], 'yyyy/MM/dd HH:mm')} ご確認の上、承認をお願いいたします: @{items('アプライ_トゥー_イーチ')?['{Link}']}補足:
CreatedはSharePointアイテムの作成日時です。承認依頼が送られた日時を別途記録しておくと、より正確なリマインドが可能です。
- 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション(承認者向け):
- フローを保存してテストします。SharePointの商談資料の「承認ステータス」を「承認待ち」にし、しばらく待ってからフローを手動で実行し、リマインダーが届くことを確認します。
エラー対策とトラブルシューティングを確認しましょう
Power Automateフローは、確実に動作することが求められます。よくあるエラーとその対策、そしてトラブルシューティングのポイントをご紹介します。
権限不足のエラーが出た場合
「アクセスが拒否されました」といったエラーメッセージが表示される場合、Power AutomateがSharePointのドキュメントを操作したり、Teamsにメッセージを送信するための権限が不足している可能性があります。
対策: フローを実行するアカウントが、対象のSharePointサイトやドキュメントライブラリに対して「編集」権限(ステータス更新やファイル移動のため)と、Teamsチャネルへのメッセージ投稿権限を持っていることを確認してください。営業部門のリーダーやシステム管理者、または専用のサービスアカウントがフローを作成・管理するのが望ましいでしょう。
通知がTeamsに届かない場合(フローは成功しているのに)
Power Automateの実行履歴ではフローが「成功」しているのに、Teamsに通知が届かない場合があります。
対策
- Teamsの通知設定: 受信側のTeamsで、Flow botからの通知がブロックされていないか、ミュートされていないかなどを確認してください。
- チャネル/チャットの選択ミス: 「チャットまたはチャネルにメッセージを投稿する」アクションで、意図したチャネルや受信者が正しく選択されているか、タイプミスがないかを再確認しましょう。
- 接続の正常性: Power Automateの「データ」→「接続」で、Teamsへの接続が正常に確立されているかを確認しましょう。
トリガーが動作しない場合
フローが全く実行されない場合、設定したトリガーの条件が満たされていない可能性があります。
対策
- SharePointサイト/ライブラリの正確性: トリガーで選択したSharePointサイトとドキュメントライブラリが、実際に更新される資料の場所と完全に一致しているか確認しましょう。
- 列名の確認: 「承認ステータス」など、SharePointの列名がフローの条件で正確に指定されているか確認します。大文字小文字や半角全角の違いに注意してください。
- テスト更新: フローを保存後、対象のSharePointドキュメントの「承認ステータス」列を「承認待ち」に手動で変更し、Power Automateの「実行履歴」でフローが起動したかを確認しましょう。
フローの履歴を確認しましょう
エラーが発生した場合や、フローが意図通りに動作しない場合は、Power Automateのフロー実行履歴を確認することが最も重要ですされます。
手順
- Power Automateの「マイ フロー」から、該当のフローを選択します。
- 「実行履歴」タブをクリックします。
- 失敗した実行、または成功したものの動作が怪しい実行を選択すると、フローの各ステップがどのように実行されたか、どこでエラーが発生したか、そしてエラーメッセージの詳細を確認できます。
ポイント: 各アクションの「入力」と「出力」を確認することで、どのデータがどのように処理され、どこで問題が発生したのかを詳細に把握できます。特に承認アクションの出力は、承認結果やコメントが含まれているため、入念に確認しましょう。
セキュリティとアクセス管理を確認しましょう
商談資料は会社の機密情報を含む重要なドキュメントです。自動化システムを構築する際は、セキュリティとアクセス管理に十分な配慮が必要です。
SharePointドキュメントライブラリの権限設定を適切にしましょう
商談資料が保存されるSharePointドキュメントライブラリの権限は厳密に管理する必要があります。
- 編集権限: 資料作成者や共同編集者、および承認者など、必要なメンバーにのみ「編集」権限を付与しましょう。
- 閲覧権限: 資料の内容に応じて、営業部門全体に閲覧を許可するか、特定のプロジェクトメンバーに限定するかを決めましょう。
- フォルダ単位での管理: 顧客情報や機密性の高い資料は、特定のフォルダに保存し、そのフォルダに対してのみアクセス権限を細かく設定しましょう。
フローの作成と実行権限を管理しましょう
この自動化フローは、機密性の高い商談資料の承認に関わるため、不用意に作成・変更・実行できないように、適切な権限管理が必要です。
- フロー作成者の制限: 重要なフローの作成権限は、営業部門のリーダーや特定のシステム管理者にのみ付与することを検討しましょう。
- 共有の最小化: フローを他のユーザーと共有する際は、実行のみの権限に限定し、共同所有者としての共有は慎重に検討しましょう。共同所有者はフローを編集できるため、意図しない変更のリスクがあります。
- サービスアカウントの利用: フローの実行アカウントが個人アカウントではなく、専用のサービスアカウントであれば、個人の人事異動や退職の影響を受けにくく、権限管理も一元化しやすいでしょう。
監査ログを確認しましょう
Power Automateの実行履歴や、SharePointのファイル変更履歴、Teamsのメッセージログは、誰が、いつ、どのような操作を行ったかの証拠となります。
定期的な確認: これらのログを定期的に確認し、不正な利用や誤動作がないかを監査する体制を構築しましょう。
まとめ
Power AutomateとTeams、SharePointを組み合わせることで、商談資料の共同編集から承認、そして承認状況の自動通知を行う方法について、基本的な設定から応用、エラー対策、そしてセキュリティとアクセス管理まで、詳細に解説してきました。
この自動化された承認システムは、営業チームが商談資料をより迅速に作成・編集し、承認プロセスをスムーズに進めるための強力なツールとなるでしょう。手動でのやり取りによる遅延やミスを排除し、営業機会を逃すことなく、効率的な営業活動をサポートします。

