Power Automate の良いところとハマりどころ

この記事は GMOインターネットグループ Advent Calendar 2025 1日目の記事です。
Power Automateの活用法や利点、実際の業務自動化事例、ハマりどころをエンジニア視点で分かりやすく解説。MS365連携による効率化の魅力を紹介します。

はじめに

この記事を書こうと思った理由

GMOペイメントゲートウェイの羽鳥と申します。普段はクレジットカード会社向けのシステム開発・運用を担当しつつ、社内でのAI活用推進にも取り組んでいます。

システム運用の現場では、システムとのインターフェースが「メール中心」であることに気づきます。障害や異常を知らせる通知の中心がメールだからです。そこで、メール受信をトリガーにした Power Automate のフローを作成しているうちに、「これ、もっと色々できるのでは?」「ちゃんとしたアプリケーションも作れそうだ」と感じるようになりました。

Power Automate の可能性を、多くの人にもっと知ってほしいという思いから本記事を書いています。

Power Automate とは?

Power Automate は Microsoft が提供するクラウドベースの自動化サービスです。Word、Excel、Teams といった Microsoft 365 アプリはもちろん、さまざまな外部サービスとも連携し、業務プロセスをノーコードで自動化できます。

ドラッグ&ドロップでワークフローを構築でき、分岐・繰り返し・並列実行など、プログラミング的な処理も定義可能です。

基本的な分岐・繰り返しを定義できる。

例えば以下のような処理が簡単に作成できます。

  • Outlook で受信したメールの添付ファイルを自動で OneDrive に保存
  • SharePoint に新しいファイルが追加されたら Teams に通知
  • 各種データ処理や承認フローの自動化

これらにより日々の作業が効率化され、ケアレスミスの防止にもつながります。


Power Automate の良いところ

1. 複雑な認証処理なしで「自分のデータ」にアクセスできる

通常、外部サービスのデータを扱うには認証処理が必要ですが、Power Automate は Microsoft 365 ファミリーの一員です。

そのため、Teams や SharePoint など同じ Microsoft 365 サービスとは、追加の認証処理なしで簡単に連携できます。
データを Microsoft 365 に寄せておけば、認証を意識することなくデータ取得・加工が可能です。アプリケーション構築のうえで大きなアドバンテージになります。

2. 複雑な処理も「関数」がそろっていて簡単に書ける

データの分割・結合や数値計算はもちろん、

  • 2つのリストの共通要素抽出(intersection)
  • Base64 文字列の取得
  • 配列を任意の区切り文字で結合(join)

といった少し高度な処理も関数として用意されています。

もしこれらを自前で書こうとすると、分岐や繰り返しを組み合わせた複雑なロジックが必要になりますが、関数のおかげでシンプルに実現できます。

3. データベースもちゃんと使える

アプリケーションにとってデータベースは欠かせませんが、Power Automate には選択肢がいくつかあります。

Excel

テーブルを定義すれば、条件付きの検索が可能です。お手軽なデータベースとして使えます。

SharePoint Lists(特におすすめ)

クラウド上で表形式データを管理でき、CRUD 機能も備わっています。
データ定義だけで本格的なクラウドデータベースが構築でき、Power Automate からも簡単にアクセスできます。

Sharepoint Listsの例。データ定義だけでDBが作成できる。

4. 困ったら Copilot に質問できる

関数の使い方やフローの組み方など、迷ったときは Copilot が強力にサポートしてくれます。実際、今回私が作った機能も Copilot に助けられながら短期間で仕上げられました。


実際に作った機能の紹介

私が担当しているシステムはリリース前で、外部ベンダーが開発しています。
運用は当社側で行うため、システムテスト中に発生するアラートメールの発生理由や頻度を調査する必要がありました。

そこで、以下を自動化するフローを作成しました。

  • アラートメールの分類
  • 発生回数のカウント

カウントは簡単ですが「分類」が課題でした。
メール本文の前方・後方一致だけでは分類できませんし、アラートごとにIDも振られていません。

そこで採用したのが ジャッカード係数(Jaccard Index) です。

2つの文章を単語集合に分割し、「共通している単語数 ÷ 全体の単語数」で類似度を算出する手法

これを Power Automate 上で実装しました。

必要だった処理は以下です。

  • 過去のメール・件数を保存するデータベース → SharePoint Lists で実現
  • メールを単語に分解し、重複を除外する → union 関数
  • 2つの集合の共通単語数を求める→ intersection 関数
  • 2つの集合の合計単語数を求める→ union 関数

こうして、Power Automate だけで「メールの類似度判定+自動集計」を実現できました。

作ったフローの一部。Power Automateだけでここまでできました。

ハマりどころ(注意点)

使っている中で困った点・誤解しやすい点もいくつかありました。

1. 四則演算が Excel のようには書けない

Power Automate の関数は Excel に似ていますが、演算子の書き方は異なります。

  • Excel: 1 + 2
  • Power Automate: add(1, 2)

慣れるまでは少し戸惑います。

2. 除算(div)は小数点以下が切り捨てられる

div(2, 5)0 を返します。
小数点を扱いたい場合は、少数で計算させる必要があります。

例:2 ÷ 5 を小数点2桁で出したい

div(2.00, 5)

ジャッカード係数の算出でこれに気づかず、だいぶハマりました。

3. Compose アクションは強制的に「文字列」になる

Compose アクションは変数名や型定義が不要な便利な仕組みですが、
内部的には文字列として扱われます。

そのため、数値比較などで Compose の値をそのまま使うとエラーになります。
必要に応じて float() などで数値に変換する必要があります。

Power Automate のエラーメッセージは正直わかりづらく、原因特定に時間がかかりました…。


まとめ

Power Automate を使えば、ノーコードであっても意外なほど複雑なアプリケーションを構築できます。
さらに Copilot という強力な味方がいるため、開発効率も高いです。

実際、今回紹介した機能も、試行錯誤はあったものの 正味1.5日ほどで作れました。

もし Power Automate を使わなければ、

  • サーバの準備
  • データベースの構築
  • Outlook API や認証周りの実装

など、多くの準備作業が必要になります。
これらがすでに用意されているだけでも、Power Automate の価値は非常に大きいと感じています。

この記事をきっかけに、少しでも Power Automate に興味を持っていただき、業務効率化に活用していただければ幸いです。

ブログの著者欄

羽鳥 樹

GMOペイメントゲートウェイ株式会社

GMOペイメントゲートウェイ所属のプログラマー。クレジットカード決済システムや、カード会社様向けシステムの開発に主に従事。社内向けに技術関連の発信をときどきやっています。

採用情報

関連記事

KEYWORD

TAG

もっとタグを見る

採用情報

SNS FOLLOW

GMOインターネットグループのSNSをフォローして最新情報をチェック