これからPower Automateで業務を効率化したいという方の参考になれば幸いです。
⚠️ 実行環境と注意事項
今回のフローではAI Builderの「センチメント分析をする」アクションを使用します。

このアクションを利用するには、Power Automateのプレミアムプランへの加入が必要です。
無料プランやMicrosoft 365標準ライセンスでは利用できませんのでご注意ください。
実行環境の例:
- Power Automate(クラウドフロー)
- Microsoft 365(Outlook、Teams)
- AI Builder(プレミアム機能)
GitHubからフローをダウンロードできます
この記事で紹介するフローは、GitHubで公開しています。
完成済みのZIPファイルをインポートするだけで使えますし、自分で一から作ってもOKです。
▼GitHubリンク:isamu7pad-alt/powerautomate-flows: Powerautomate-flow
このフローでできることと解決できる課題
このフローは「クレーム対応メールを自動で感情分析し、ネガティブな内容を検知したらTeamsに通知する」仕組みです。
・クレームメールに気づくのが遅れ、対応が後手に回る
・重要なメールが大量の受信メールに埋もれてしまう
・初動が遅れることで顧客満足度が低下する
このフローを導入することで、ネガティブなメールだけを即座にTeamsに通知できるため、対応スピードが向上します。

AIを使った感情分析にで上記の課題を解決するフローを作ってみました!
今回やること(大きな流れ)
- Office 365 Outlookで「新しいメール」をトリガーにする
- AI Builderでメール本文を感情分析(日本語対応)
- ネガティブ判定ならTeamsに通知
完成イメージ
フロー全体図はこんな感じです。

このフローで使うアクション一覧と目的
- 新しいメールが届いたとき (V3):メール受信をトリガーにするため

- センチメントを分析する:AI Builderで本文をポジティブ・ネガティブ・中立に分類
今回のメインアクションはこちらです!

- 条件分岐 (If):ネガティブ判定なら次の処理へ進む

- Teamsにメッセージ投稿:Flow botで通知し、対応を即開始できるようにする

ハンズオン手順
それでは今回のフロー作成手順をステップバイステップで解説していきます。
① トリガー設定:新しいメールが届いたとき
カテゴリ:Office 365 Outlook
目的:メール受信を検知するため

※今回はフィルタは設定していません。
② AI Builderで感情分析
カテゴリ:AI Builder
目的:メール本文を解析し、ネガティブ度を数値化
テキスト欄設定する式:
@triggerOutputs()?['body/body']
動的コンテンツ:新しいメールが届いた時→本文 を選択選択
テキストの欄には下図の通り、


今回のポイントなる『センチメント感情分析』アクションについてすこし掘り下げて解説します
✅ センチメント分析アクションとは?(今回のポイント)
メール本文やチャットメッセージを解析し、次の3種類の感情に分類します:
- positive(ポジティブ)
- neutral(中立)
- negative(ネガティブ)

Outlookのメール本文をAIに渡して、上記3つの感情のどれかに自動で振り分けてくれます
✅ 出力される内容(レスポンス構造)
1. 判定結果(sentiment)
outputs('センチメントを分析する')?['body/responsev2/predictionOutput/result/sentiment']
- 値:
positive/neutral/negative
2. スコア(documentScores)
outputs('センチメントを分析する')?['body/responsev2/predictionOutput/result/documentScores/negative']
outputs('センチメントを分析する')?['body/responsev2/predictionOutput/result/documentScores/positive']
outputs('センチメントを分析する')?['body/responsev2/predictionOutput/result/documentScores/neutral']
- 値:0〜1の数値(例:
negative: 0.85→ ネガティブ度が高い)
センチメント分析アクションでは、3つの感情の分類に加えて、その度合いを数値で表してくれます。

数値が1に近いほど各々の感情度合いが高いことになります
✅ 実際の出力例(メール本文を解析した場合)
“neutral”な要素が : 0.13
“negative”な要素が : 0.85

ネガティブ度の高いメールが来たので、早急に対応するためにteams通知することにします。↓
「
③ 条件分岐
判定が「negative」ならTeams通知へ
式:
@equals(outputs('センチメントを分析する')?['body/responsev2/predictionOutput/result/sentiment'],'negative')
左の欄:動的コンテンツの【センチメントを分析する】カテゴリから、【テキスト全体の感情】を選択します。

中央の欄:等しい
右の欄:negative と直接記入
以下、上記の内容を入力済みの画面です。


テキスト全体の感情分析が”negative”と判定されれば、teamsで通知します。
④ Teams通知
カテゴリ:Microsoft Teams
目的:対応担当者に即通知
メッセージ本文(HTML形式):
<p>⚠️ ネガティブメールを検知しました<br>
差出人: @{triggerOutputs()?['body/from']}<br>
件名: @{triggerOutputs()?['body/subject']}<br>
判定: @{outputs('センチメントを分析する')?['body/responsev2/predictionOutput/result/sentiment']}<br>
ネガティブスコア: @{outputs('センチメントを分析する')?['body/responsev2/predictionOutput/result/documentScores/negative']}</p>

teamsメッセージ本文の動的コンテンツの選び方

どの動的コンテンツを選べばいいか迷う時があるので、以下スクショで補足説明です
差出人:新しいメールが届いたとき

件名:新しいメールが届いた時

判定:センチメントを分析する

ネガティブスコア:センチメントを分析する

テスト方法
テストとして以下のようなメールをoutlookメールで自分宛に送信して試してみます:

ネガティブなメール内容なので、AIが”negative“判定をして、teams通知が届くはずです
以下はネガティブメールのサンプルです。
このメールの文面をoutlookに貼り付けて自分宛に送信してみてください。
件名:納品遅延について
本文:今回の対応は非常に不満です。
約束された期限が守られず、業務に重大な損害が発生しました。
この状況は受け入れられません。
信頼は完全に失われ、継続は不可能だと考えています。 早急な対応がなければ契約を打ち切ります。
Teamsに通知が届けば成功です。

めちゃくちゃnagativeな内容ですね、、、。
以下テスト方法の動画手順
社内のPowerAutoamte講座で『テスト手順がよーわからん!』といった声を時々聞くので、手順動画でご紹介。
結果:Teamsにはこんな通知が届きます

まとめ
この仕組みを使えば、クレーム対応の初動をスピードアップできます。
GitHubでフローを公開していますので、ぜひ試してみてください。
▼GitHubリンク:isamu7pad-alt/powerautomate-flows: Powerautomate-flow
ライセンス:MIT

コメント