デジタル人材への第一歩!「Power Automate」ではじめるローコードでの業務自動化

Power Automateをフルで活用した、業務プロセス改善フローの作成 ~受注業務プロセスの自動化

第3回では、Power Automate for desktopの特徴でもある、UI要素のセレクター編集を使った最適なフロー作成について解説しました。

最終回の第4回では、クラウドフローとAI Builderという機能を活用した業務プロセス全体の自動化の例と、その方法について解説します。

Power AutomateはWindows 11に標準搭載されているRPA機能の⁠Power Automate for desktop⁠が特に注目されています。ただ、組織内でのPower Automateの展開を考えると、有償ライセンスを導入した際に実現できる業務プロセス全体の自動化と運用方法について知ることが重要です。

有償ライセンスでは便利な機能は数多く用意されていますが、今回は業務プロセス全体の自動化についてフォーカスして解説します。

今回作成するフローの全体像

今回は注文書をメールで受領し、AI OCRによって読み取ったデータを売上登録するまでの流れを解説します(出荷処理を想定した処理については割愛します⁠⁠。

作成するフローの想定する業務の流れは次のとおりです。

  1. お客様より注文書をメールで受領する
  2. 受領ファイルはクラウドストレージの所定フォルダーへ保存する
  3. メールで受領した注文内容をもとに出荷処理を行う
  4. 売上情報をシステムへ登録する
フローのイメージ
図1

今回もフローを作成するにあたり、前回までと同じように以下のサイトを使います。

また、クラウドフローと連携するため、Power Automateにもアクセスできることを確認します。Power AutomateのWebポータル画面のURLは以下です。

なお、今回紹介するフローの作成環境は以下のとおりです。

  • OS:Windows 11 Pro
  • Power Automate for desktop:2.27.00186.22340(2022年12月更新のストア版)
  • ブラウザー:Microsoft Edge
  • ライセンス:
    • Microsoft 365 E3
    • Power Automate per user with attended RPA plan

AI Builderとは

AI Builderは、利用者が独自のAIを構築できるMicrosoft Power Platformの機能の一つです。利用者は誰でも簡単に要件にあわせたAIを構築し、Power AutomateやPower Appsなどとも連携し、業務プロセス全体の自動化を図ることが可能になります。

AI Builderのトップページ
図2

AI Builderができることは以下のとおりです。 ※2023年2月時点

  • ドキュメント解析(AI OCR機能⁠
    • 名刺データのデータ化
    • 請求書データのデータ化
    • 領収書データのデータ化
    • パスポートや免許証などの身分証明書のデータ化
  • テキスト解析
    • テキストデータからの感情分析
    • テキストデータの言語検出
    • キーフレーズ抽出、分類
    • 言語翻訳
  • 画像解析
    • 画像データからの物体検出
  • 構造化データ解析
    • 蓄積された履歴データから将来予測

詳しくは、Microsoft LearnのAI Builderの概要を参照してください。

なお、AI Builderを使うためには、Power AppsやPower Automate、Dynamics 365の有償ライセンスを保有している必要があります(利用量に応じて、追加で利用権を購入することも可能です⁠⁠。今回はPower Automateのアテンド型RPAが利用できるライセンス(Power Automate per user with attended RPA Plan)がアカウントに付与されていることを前提として解説します。

AI Builderを使ってみる

Power AutomateやPower Appsを使用し、構築済みのAIモデルをすぐに利用できます。

今回は事前構築済みのモデルを利用し、注文書データの読み取りをしてみましょう。用意したシンプルな注文書のデータが、AI Builderのページでどのようにデータ化されるか確認してみます。

はじめにPower AutomateのWebポータル画面へアクセスします。そしてメニューからAI Builderのタブを展開し、⁠詳細を確認」を選択します。

AI Builderの「詳細を確認」ページ
図3

次に「請求書から情報を抽出する」を選択します。⁠請求書から情報を抽出する⁠のウィンドウが表示されるので、⁠新しいアップロード」をクリックし、事前に用意した注文書のファイルを選択します。

今回利用するフォーマット
図4
請求書から情報を抽出する
図5

結果を確認してみましょう。⁠抽出された情報⁠に表示されている値はアップロードした注文書をデータ化した値が表示されています。⁠請求書の日付」「請求書の合計金額⁠⁠、⁠品目」の明細情報など項目ごとに抽出した結果が見て取れます。これらの値は、Power AutomateやPower Appsに組み込んだ際に利用が可能となります。

AI Builderの処理結果
図6

なお、今回利用した⁠請求書から情報を抽出する⁠は、本来、請求書用に用意されたモデルです。しかし、ある程度フォーマットが似ている情報の場合は情報をうまく抽出できます。フロー開発の時間を削減する際には、上手に事前構築済みモデルを活用していくことも重要なポイントとなってきます。

また「フローで使用する」をクリックすることで、新規に注文書の情報をAI Builderを使ってデータ化するフローのテンプレートを利用することもできます。ただ今回はテンプレート機能を使わず、メールの受信をきっかけにフローが自動的に動作する内容を一から新規で作成します。

フローのテンプレート
図7

AI Builderを使ったクラウドフローを作成する

確認したAI Builderの請求書モデルを実際のフローの中に組み込んでいきます。

はじめにPower AutomateのWebポータル画面から、作成ページを開きます。

クラウドフローの作成ページ
図8

自動化したクラウドフローを選択し、新規にフローを作成していきます。

選択すると、⁠自動化したクラウドフローを構築する⁠ウィンドウが表示されるので、フロー名を入力し、フローのトリガーにOffice 365 Outlookコネクタの「新しいメールが届いたとき(V3)を選択します。設定が完了したら作成ボタンをクリックします。

検索窓に⁠Outlook⁠⁠新しいメール⁠などとキーワードを入れて検索することもできます。利用可能なトリガーは多く用意されているため、検索機能を活用し効率良くトリガーやアクションを見つけましょう。

なお、新しいメールが届いたとき(V3)はOffice 365 Outlookコネクタとは別にOutlookコネクタも用意されます。そのため、組織で利用するメールをトリガーにするのか、個人で利用しているメールをトリガーにするのか、確認してからトリガーの設定を行いましょう。

また、フローを実行するためのイベントのことをPower Automate(クラウドフロー)では「トリガー」と表現しています。たとえば、メールを受信したらフローを実行したい、OneDriveやDropboxなどのクラウドストレージにファイルが格納されたらフローを実行したい、といった特定のイベントをきっかけにしてフローを実行することになります。

自動化したクラウドフローを構築するウィンドウ
図9

フローの作成画面が開いたら、⁠新しいメールが届いたとき(V3⁠⁠」のトリガーのオプションを設定します。

トリガー内の⁠詳細オプションを表示する⁠を展開し、設定していきます。

新しいメールが届いたときのトリガー設定
図10

詳細オプションを展開すると、トリガー条件のメール受信フォルダー設定の他に、宛先や差出人、件名での条件、添付ファイル付きかどうかなどの条件を設定できます。今回は以下のとおりに設定します。他のメールでトリガーしないようにしておきます。

  • フォルダー:Inbox ※受信フォルダーの意味です
  • 添付ファイルを含める:はい
  • 件名フィルター:【Gihyo4】注文書
  • 添付ファイル付きのみ:はい
トリガーのオプション設定
図11

添付ファイルをOneDrive for Businessに格納する処理を追加します。新しいステップをクリックし、以下のとおりアクションを追加します。

  • コネクタ:OneDrive for Business
  • アクション:ファイルの作成
  • フォルダーのパス:/(ルートフォルダ)
    ※OneDrive for Businessの直下に格納します。所定のフォルダーがあれば所定フォルダーを指定します
  • ファイル名:添付ファイル名
  • ファイルコンテンツ:添付ファイルコンテンツ(新しいメールが届いたとき)
メールに添付されたファイルのOneDrive for Businessへの保存
図12

設定が完了したら一旦フローを保存します。

フローの保存(どちらかの保存ボタンをクリックすると保存できる)
図13

最後に、AI Builderコネクタの「請求書から情報を抽出する」アクションを設定します。アクション設定の注文書ファイルには、⁠添付ファイルコンテンツ(新しいメールが届いたとき⁠⁠」の動的コンテンツを設定します。

AI Builderの「請求書から情報を抽出する」アクションの設定
図14

ここまでのフローを保存しておきます。

ここまで作成したクラウドフローの全体
図15

デスクトップフローの作成

続いてデスクトップフローの設定を行います。練習用サイトを起動し、ログイン処理を行った後、売上入力画面に注文書データを入力するフローを作成します。

1. レコーダーを使ってデスクトップフローを作成する

はじめにフローを新規作成します。

フローの新規作成
図16

そしてレコーダー機能を活用し、ブラウザーの起動から売上入力を行う操作まで行います。レコーダーのアイコンをクリックし、レコーダー機能を起動します。

フローデザイナー画面の起動
図17

レコーダーウィンドウの右上にある、3点リーダー > 新しいWebブラウザーを起動する > Microsoft Edgeから起動するブラウザーの設定をします。空のMicrosoft Edgeが起動後、URL欄に「https://support.asahi-robo.jp/learn」を設定します。

レコーダー機能の開始と、Webブラウザーの起動
図18
練習用サイトの起動
図19

記録ボタンをクリックしてレコーダーを開始します(レコーダーの使い方については、第2回を参照してください⁠⁠。

レコーダー機能を使って操作の記録
図20
レコーダーで記録したアクション①②
図21
レコーダー機能を使って作成したフロー
図22

ここまで完了したら、一度フローを保存しておきましょう。

2. クラウドフローとやりとりするための変数を設定する

クラウドフローとやり取りする値(入出力変数)を設定していきます。

入出力変数とは、フローの外部とやり取りする変数です。フロー変数がフローの内部で利用する変数であることに対し、入出力変数はフローの外部(コンソール画面からの実行や、他のデスクトップフロー、クラウドフロー)とのやり取りで扱うことができる変数になります。うまく活用し、組織内に展開することでフローの細分化(ログイン処理や特定の処理など、共通処理を1つのフローとしてメンバー間で共有し利用する)を図ることもできます。

実際に、変数ペインの入出力変数から+アイコンをクリックして入出力変数を追加しましょう。クリック後、入力変数か出力変数を選択できます。入力変数を選択してください。

入出力変数の作成
図23

新しい入力変数のウィンドウが表示されます。設定項目は以下のとおりです。

  • 変数名:フローの内部で利用する変数名を設定します
  • データの種類:テキスト型や数値型、リスト型、データテーブル型などの変数の型を指定します
  • 既定値:初期値を設定します
  • 外部名:呼び出し元(コンソール画面からの実行や、他デスクトップフローからの呼び出し、クラウドフローからの呼び出し)に表示される変数名を定義します
  • 機密情報としてマーク:入力値を機密情報として設定します

それに対して、⁠得意先名称」⁠売上日」⁠金額」の入力変数を以下のとおり設定します。

「得意先名称」
  • 変数名:TokuisakiNameInput
  • データの種類:テキスト
  • 外部名:TokuisakiNameInput
「売上日」
  • 変数名:UriageDateInput
  • データの種類:テキスト
  • 外部名:UriageDateInput
「金額」
  • 変数名:KingakuInput
  • データの種類:数値
  • 外部名:KingakuInput
得意先名の入力変数
図24
売上日の入力変数
図25
金額の入力変数
図26

設定後の変数ペインは以下のようになります。

設定後の変数ペイン
図27

次に、入力変数で受け取る売上日はYYYY-MM-ddの形式となっていますので、年月日それぞれに値を分割し、変数に格納します。フローの先頭(1行目)「テキストの分割」アクションを配置し、テキストの分割アクションを以下のとおり設定します。

  • 分割するテキスト:%UriageDateInput%
  • 区切り記号の種類:カスタム
  • カスタム区切り記号:- (半角ハイフン)
テキストの分割アクションの配置
図28

続いて分割された値をそれぞれ、年・月・日ごとの変数に格納します。

【年】の値を設定
  • 値:%TextList[0]%
【月】の値を設定
  • 値:%TextList[1]%
【日】の値を設定
  • 値:%TextList[2]%
変数の設定アクションに年の値を設定
図29
変数の設定アクションに月の値を設定
図30
変数の設定アクションに日の値を設定
図31

ここでのアクションは以下のとおりです。

追加したアクション
図32

売上入力画面で入力に利用する各アクションの値にも変数を設定します。得意先名の設定は、得意先を設定している「Webページ内のテキストフィールドに入力する」アクションを編集します。以下のとおりアクションを設定します。

  • テキスト:%TokuisakiNameInput%
得意先の値の設定
図33

売上年、売上月、売上日の設定は、それぞれ設定している「Webページでドロップダウンリストの値を設定します」アクションを編集します。以下のとおりアクションを設定します。

売上年
  • テキスト:%Year%
売上月
  • テキスト:%Month%
売上日
  • テキスト:%Day%
売上年の値の設定
図34
売上月の値の設定
図35
売上日の値の設定
図36

金額の設定は、金額を設定している「Webページ内のテキストフィールドに入力する」アクションを編集します。以下のとおりアクションを設定します。

  • テキスト:%KingakuInput%
金額の値の設定
図37

設定したアクションの内容は以下のとおりです。

設定したアクションの内容
図38

3. ブラウザーを閉じるアクションを追加する

起動済みのブラウザーを閉じるアクションを追加しておきます。インスタンスは初期設定で設定済みの%Browser%を設定します。

「Webブラウザーを閉じる」アクションの配置
図39

4. 処理結果を呼び出し元のフローに渡すための出力変数を設定する

処理結果を呼び出し元のフローに渡すための出力変数を設定します。入出力変数から出力変数を新規で作成して、出力変数を以下のとおり設定します。

  • 変数名:Gihyo4ResultOutput
  • データの種類:テキスト
  • 外部名:Gihyo4ResultOutput
  • 説明:処理結果
出力変数の追加
図40
新しい出力変数の設定
図41

処理の最後に出力変数へ値を格納するための「変数の設定」アクションを配置します。⁠変数の設定」アクションの設定は以下のとおりです。

  • 変数:Gihyo4ResultOutput
  • 値:正常終了
  • ※今回は固定値で設定しています。
変数の設定アクションへの処理結果の設定
図42

5. デスクトップフローでエラー発生時の処理を追加する

デスクトップフローでエラーになった場合に、出力変数に異常終了を通知するための設定を行います。

「フローコントロール」アクショングループの「ブロックエラー発生時」アクションをフローの先頭に配置し、生成されたEndアクションは最下部に移動します。そして「ブロックエラー発生時」アクションを以下のとおり設定します。

  • 名前:ErrorHandling
  • 新しいルール:変数の設定
    • 変数:%Gihyo4ResultOutopu%
    • 宛先:エラー
  • フロー実行を続行する:ブロックの末尾に移動する
  • 予期しないロジックエラーを取得:オン
ブロックエラー発生時の設定
図43
設定したデスクトップフロー①
図44
設定したデスクトップフロー②
図45

クラウドフローからデスクトップフローを呼び出す処理を追加する

これまでの手順でデスクトップフローの設定が完了しました。続いて、先に設定していたクラウドフローからデスクトップフローを呼び出す処理を設定していきます。

はじめに、請求書から情報を抽出するアクションの次にDesktop flowsコネクタの「デスクトップ用Power Automateで構築したフローを実行する」アクションを設定します。

デスクトップフローを呼び出すアクションを設定
図46

アクションに各種設定を行います。以下のとおり設定します。

  • Desktop フロー:Gihyo4_AI Builder―クラウドフロー(前手順で作成したデスクトップフロー)
  • 実行モード:アテンド型
  • TokuisakiNameInput:ベンダー住所の受取人(請求書から情報を抽出するアクションから取得した値)
  • UriageDateInput:請求日(日付)⁠請求書から情報を抽出するアクションから取得した値)
  • KingakuInput:請求書の合計(請求書から情報を抽出するアクションから取得した値)
デスクトップ用Power Automateで構築したフローを実行するアクションの設定
図47

今回のサンプルの実行結果を確認する

実際にメール受信トリガーに設定したフィルター条件に合致する内容でメールを送信し、フローが最後まで動作するか確認します。

  • メール件名のトリガーとなるキーワード:【Gihyo4】注文書
メール文章の作成
図48
AI Builderによって抽出できた結果
図49
デスクトップフローの実行結果
図50

今回作成したフローは、とてもシンプルな運用シーンを想定したフローになっています。受信メールに複数の注文書ファイルが添付されているシーンや、AI Builderで想定とおりに値が認識できなかった場合のエラー処理などは未設定です。より広く業務プロセスに対応したフローとして活用していく場合には、様々なシーンを想定したメンテナンスが必要となってくるでしょう。

まとめ

第1回から今回の第4回にかけて、Power Automateの概要と基礎から応用した活用方法について紹介してきました。業務プロセスを自動化する点において、Power Automateは各クラウドサービスの連携(DPA)や、オンプレミス環境の基幹システムやデスクトップアプリ、ブラウザー操作の自動化(RPA)そして、AI OCRやデータ解析・分析等が行えるAI機能など、必要な機能をすべて備えており、上手く組み合わせることで業務全体の自動化に大いに役立てることができます。今から自分の業務を自動化、改善、最適化していきたいと考えた際、Power Automateの利用は選択肢の一つとして検討されていくでしょう。

第1回でも紹介しましたが、Power Automate のRPA機能であるPower Automate for desktopはWindows 11に標準搭載されており、無償でまずは気軽に試せるという利点が大きいです。まずは無償で気軽に試し、チームや組織で計画的に運用していく際にはライセンスを付与して管理しながらスケールアップしていくこともPower Automateの魅力の一つです。

また、業務プロセスは日々変わるもので、Power Automateで作成したフローも修正する場面も多々出てきます。しかし、Power Automateの特徴のひとつである、⁠ローコード⁠という利点を活かすことで、柔軟に業務プロセスに合わせたフロー修正が可能になり、その都度最適な業務フローを構築するきっかけになるでしょう。

第1回のコラムでも紹介した「リスキリング(デジタルリスキリング⁠⁠」を意識し、自動化によって創出された時間を有意義に使うための「武器」として、Power Automate for desktopに触れてみるのはいかがでしょうか。

おすすめ記事

記事・ニュース一覧