「毎朝届く大量のメール、誰かが要約してくれたら助かるのに…」
そう感じたことはありませんか?忙しいビジネスパーソンにとって、毎日のメールチェックは思いのほか時間を奪われる業務の一つです。
そこで今回は、無料で使えるRPAツール「Power Automate Desktop(PAD)」と、生成AI「ChatGPT」を組み合わせて、メール本文を自動で要約し、転送してくれる仕組みをつくる方法をご紹介します。
難しそうに感じるかもしれませんが、ご安心ください。
この記事で紹介するのは、筆者のような非エンジニアの事務職でもできた、とてもシンプルな方法です。
RPAやAIに初めて触れる方でも、ステップに沿って進めれば実現できますので、ぜひチャレンジしてみてください。
自動化の全体設計
今回の自動化フローは次のような流れです:
-
Outlookを起動し、受信メールの本文と差出人情報を取得
-
メール本文の改行を削除し、ChatGPTが読みやすい形に整形
-
プロンプト(要約指示文)の変数を設定
-
ChatGPT APIを呼び出して要約を取得
-
要約結果(JSON)をカスタムオブジェクトに変換
-
要約された本文をメールとして自動送信
それでは、具体的な手順を見ていきましょう。
① 初期設定:Power Automate DesktopとChatGPT APIの準備
まずは以下2点の初期設定が必要です:
-
Power Automate Desktopのインストール。詳細は以下の記事で解説しています
-
ChatGPT APIの取得 ※取得方法は以下の記事で解説しています
② Power Automate Desktopでの構築ステップ
1. ChatGPT APIキーの変数設定
「変数の設定」アクションを追加し、生成変数「APIkey」に取得したChatGPTのAPIキーを入力します。
機密性の高い値として、サングラスのおじさんのマーク(?)にチェックを入れておいてください。
2. Outlookを起動
「Outlookを起動します」アクションでOutlookを開きます。
生成変数は「OutlookInstance」。
3. 受信メールを取得
「メールメッセージを取得」アクションで取得したいメールの条件を追加します。
今回はテスト実行なので件名や送信者などをかなり絞り込んでいます。「取得」を「未読メッセージ」に変更すれば、未読のメッセージのみ取得することも可能です。
生成変数は「RetrievedEmails」。
4. メール1通ずつ処理
「For Each」アクションで各メールを反復処理します。
対象は「%RetrievedEmails%」。
各処理の中で行うこと:
-
「%CurrentItem.Body%」を取得し、「EmailBody」に格納
-
正規表現で差出人のメールアドレスを抽出(生成変数「Match」)
- 改行コードを削除するため、変数の設定をする
-
改行コードを削除(置換アクション)し、「Replaced」に格納
③ ChatGPT APIを呼び出す
「Webサービスを呼び出します」アクションで、ChatGPT API(gpt-4oなど)をPOSTリクエストします。
設定内容は以下の通りです:
-
URL:
https://api.openai.com/v1/chat/completions
-
AuthorizationヘッダーにBearerトークン(APIkey)
生成された返答は「WebServiceResponse」に格納されます。
「リダイレクトに追従します」「要求本文をエンコードします」のチェックを外しておきます。
要求本文には以下のJSONコードを書きます。
--------------------------------------------
{
"model": "gpt-4o-mini",
"messages": [
{
"role": "system",
"content": "あなたは日本語に対応した丁寧で正確なビジネスメールの要約アシスタントです。出力は口調を整え、読みやすい文体で200文字前後に要約してください。なお、メールに含まれる定型的な挨拶文(例:お世話になっております、何卒よろしくお願いいたします等)や署名は省略してください。冒頭の差出人情報(〜さんからメールが届いています)はそのまま残し、その後に本文の要約を続けてください。"
},
{
"role": "user",
"content": "%Match% さんからメールが届いています。\n\n以下のメール本文を要約してください。\n\n==== 要約対象ここから ====\n%Replaced%\n==== 要約対象ここまで ===="
}
],
"max_tokens": 200,
"temperature": 0.5
}
----------------------------------------------
Web版と異なり、API版はプロンプトはかなり細かく指定しないと思った返答が返ってこないことがあります。
④ 要約結果を取得し、メール送信
-
「WebServiceResponse」をJSONとしてカスタムオブジェクトに変換(生成変数「JsonAsCustomObject」)
-
「メールメッセージの送信」アクションで要約結果を転送
-
本文には「%JsonAsCustomObject.choices[0].message.content%」を設定
-
これで、ChatGPTが自動で要約したメールを、指定の宛先に送ることができるようになります。
▼全体のフロー
テスト実行例
今回は「ChatworkからのAPI仕様変更のお知らせ」という以下のような長文メールを読み込ませてみました。
ChatGPTが出力した要約は以下の通りです:
差出人@gmail.com さんからメールが届いています。
Chatworkからの重要なお知らせです。2025年7月3日より、APIリクエストの仕様が変更されます。POSTおよびPUTメソッドでのクエリパラメーター受付が廃止され、HTTPメソッドの指定方法も変更となります。期日までに修正が必要です。詳細はAPIドキュメントを参照してください。
要点がきちんとまとまり、読みやすく、実用的なアウトプットです。
応用アイデア:毎朝の要約送信を自動化
このフローを応用すれば、例えば次のような運用も可能です:
-
「未読メールのみ」を取得するように設定
-
For Each内にメール送信アクションを追加
こうすることで、Power Automate Desktopを毎朝1クリックで実行するだけで、自動的に要約メールを転送してくれる秘書のような動きを再現できます。
Slackへの送信も可能!
もし要約結果をメールではなくSlackに送りたい場合は、以下の方法が便利です:
まとめ:生成AI×RPAで、日常業務に小さな革命を
ChatGPTとPower Automate Desktopを組み合わせることで、手間のかかるメールチェック業務がグッと楽になります。しかも、ChatGPTのAPI利用料は初回800円程度から始められるので、導入コストも非常に低めです。
「AIやRPAって難しそう…」という方も、ぜひこの記事の手順を参考に、最初の一歩を踏み出してみてください。少しの工夫とツールの力で、あなたの業務がもっとスマートになりますよ。
💡 もっと詳しく自動化やAPI連携を極めたい方へ:
AIとPower Automate Desktopを組み合わせた業務自動化に興味がある方には、以下のような書籍もおすすめです👇
![]() |
Power Automate for desktop×ChatGPT業務自動化開発入門 RPAとAIによる自動化&効率化テクニック 新品価格 |
RPAとAIによる効率化テクニックが実践的に学べる一冊です。
筆者のように、初心者からステップアップしたい方にもピッタリ!
▼この記事が役に立ったらブックマークをお願いします