メディア

「Power Automate」とは? 無料で使えるMicrosoft公式の脱Excel RPAツールでできること

Microsoft純正のエンドユーザーコンピューティング基盤の製品群が「Power Platform」だ。脱Excelツール、セルフサービスBI、RPA……と、今までマイクロソフトテクノロジーの周辺技術とされてきた内容を丸ごと取り込んだ機能の全体像を把握しておこう。

» 2020年01月06日 08時00分 公開
[山本雅史キーマンズネット]

「Power Platform」とは

 Microsoftは自社のクラウドサービス「Office 365」や「Dynamics 365」、パブリッククラウドの「Microsoft Azure」、他社のクラウドサービスなどに蓄積されているデータを利用してユーザー企業独自のアプリケーションをエンドユーザーが簡単に構築できるプラットフォーム「Power Platform」を用意する。

 Power Platformにはエンドユーザーが簡単にデータを分析できる「Power BI」の他、2019年11月に米国で開催されたMicrosoftのイベント「Ignite」で発表された次に挙げるサービスが含まれる。

  • botを簡単に構築できる「Power Virtual Agents」
  • クラウドサービスを利用したアプリケーションをプログラミング言語を使わず簡単に構築できるプラットフォーム「Power Apps」
  • 用意されているテンプレートを組み合わせることでRPA(Robotic Process Automation)を実現するプラットフォーム「Power Automate」(旧Flow)
Power Platformの全体像(出典:Microsoft)
Power Automateはアプリ連携ツール色が強かったFlowにRPA機能(「UIフロー」)を加え、より業務の自動化をしやすくする(出典:Microsoft)

複数のクラウドサービスを横断してデータを活用する仕掛け

 現段階でのPower Platformの最大の特徴は全てが「開発レス」で利用できる点にある。プログラミング言語を使用してアプリケーションやサービスを開発する必要がなく、Office 365やDynamics 365、あるいは「Microsoft Azure」に蓄積されるデータを基にユーザーが必要なアプリケーションやサービスを自由に構築できる。この意味ではノンプログラミングアプリケーション開発プラットフォームがになってきた機能を代替するものと言えるだろう。

 さらにPower Platformの興味深い点はMicrosoftのクラウドサービス以外のサービスも組み込んでアプリケーションを開発できる点にある。例えば後述するPower Automateは、Googleのメールサービスである「Gmail」やクラウドストレージサービス「Box」、チャットサービス「Slack」などのMicrosoft以外のサービスを連携させたアプリケーションも開発できる。開発はノンプログラミングなのでエンジニアのリソースに依存せず、必要なアプリケーションを必要な人が開発することができる。またPower AppsではUI画面を設定して各ボタンやメニューの操作をテンプレートから貼り付け、個々のボタンの機能をテンプレートから設定すれば、クラウド上のデータやサービスを利用したモバイル アプリが簡単に構築できる。

アプリケーション連携の例

Excelマクロ職人なら使いこなせる? 脱ExcelアプリをExcel職人が作れるように

 これらを活用すればアプリやサービスの開発をIT部門に依頼したり、外部のアプリケーション開発企業に外注したりする必要はなく、企業のエンドユーザーが自力で短期間に低コストで開発できるようになる。開発を介さずに業務の要件に合わせた機能を自力で構築できる分、短いサイクルでPDCA(Plan-Do-Check-Action)を回していける点はメリットとなるだろう。予算や工期調整などで動きが遅くなりやすい業務システム開発と比較すると非常にスピード感があるアプリケーション開発が可能になる。事業環境や業務内容に変化が多い企業の場合、完璧でなくても「まず行動すること」で変化に対応せざるを得ない場面もある。こうしたとき、アプリケーションも、まずはすぐ手を動かせたり、思い付いたアイデアをすぐ実装できたりする手軽さが重要だ。ノンプログラミングアプリ開発ツールは、業務課題を持つ部門が自身で課題を手早く解決するのに向いている。

 そうはいってもPower Platformを筆者が実際に触ってみた感触からすると、ノンプログラミングで利用できるといってもある程度は「プログラマー的な思考」を持っていないと操作は難しい。だが幸いなことに業務アプリがカバーできなかった業務を吸収してきた「Excelマクロ」を使うスキルがあれば十分に利用できるのではないだろうか。Power Platformは多人数で多様なスキルセットの人たちが開発するというよりも、数人(もしくは1人)が短期間にアプリやサービスを構築するのに適している印象だ。Excelマクロはコーダーによって自由に実装でき過ぎてメンテナンスできなくなることが課題となりやすかったが、ノンプログラミングアプリであればある程度絞り込んだシナリオで操作すること、コーディングが不要であることなどからメンテナンスできなくなるといったリスクは回避できるのではないだろうか。この意味でPower Platformは脱Excelツールとしての魅力も兼ね備えていると言えるだろう。

契約プランによっては無料で使える

 Power Platformのもう一つの特徴としては、本稿執筆時点ではOffice 365やDynamics 365のユーザーであれば、契約プランによっては無償で利用できる点が挙げられる。Office 365やDynamics 365にデータを蓄積して、利用する企業であれば、これだけの強力なツールを無償で利用できるのは大きなメリットだろう(Power Platformで高度な機能を利用する場合は、追加で有償ライセンスが必要になる場合もある。2019年11月時点では、AI関連の機能を提供する「AI Builder」などはOffice 365やDynamics 365のプランによっては追加ライセンスになる場合がある)。

 Microsoftでは、11月のIgniteでbotのPower Virtual Agentsの発表をしたように、今後Power Platformのサービスを拡充していく予定だ。また、個々のPower Platformのサービスは、あまり連携していなかったが、今後は自社のクラウドサービスだけでなく、他社のクラウドサービスとの連携も計画しているようだ。

Power Automate単体の価格設定 小規模利用に向くユーザー単位の月額制に加え、大規模に運用する際に向くフロー単位での月額制も用意する

 Power BIについてはすでに過去の記事で紹介しているので、ここからはPower Platformを構成する要素Power Appsと注目のMicrosoft流RPA「Power Automate」の機能詳細をレビューしていく。

「Power Apps」は何ができるか

 Power Appsの最大の特徴は、プログラミング言語を利用せずに用意されているテンプレートにプリセットされた機能を使ってアプリを作成できる点にある。

 このため「どんな種類のアプリでも作成することができる」というわけではなく、汎用的に利用する機能を効率よくセットアップするものと考えると良いだろう。WindowsやMacのWebブラウザや「Android」「iOS」向けに専用の実行フレームワークが用意されているため、一つのアプリを構築すればさまざまな環境で動作するようになる。また「Microsoft Teams」や「Share Point Online」などにPower Appsで構築したアプリを配置することもできる。

多様なサービスを横断したワークフローの自動化も可能に

 もう一つの特徴として、Power Appsは用意されている「コネクター」を利用して、Office 365、Dynamics 365、「Salesforce」などのMicrosoft以外のクラウドサービスと連携することができることにも注目しておきたい。Power Appsの機能を見ていると、クラウドに存在する複数のデータを利用して、ユーザーの業務を支援するアプリを構築することに主眼が置かれている。このため、各種のクラウドサービスと連携するコネクターが多数用意されているのだろう。コネクターを活用すれば、例えば「地方への出張時に、飛行機や新幹線、ホテルのオンライン予約、社内ツールを使った出張申請とSaaSを使った出張交通費の精算など、複数のアプリを横断する手続き」を1つのインタフェースから完結させられる。

複数のサービスを接続して新しいアプリを作るPower Apps

 Power AppsはUIを切り貼りしてPower Appsにあらかじめ用意されている関数などをセットしてアプリを構築する。ボタン押下で画面を遷移する動作も考慮されている。プログラミングというイメージではなく、UIを作る時に、同時に用意されている関数やコネクターを使用して、必要とする機能を作成していくというイメージだ。ただし、Power Apps側でより高度な機能を作り込みたかったり、自社のオンプレミスで展開しているデータベースにアクセスしたい時などは、独自のコネクターを作成する必要がある。この場合は、ある程度のプログラミングスキルが必要になる。

Power Appsのテンプレートの例

 Power Apps側で用意しているテンプレートやコネクターを利用するだけなら、それほど手間はかからずアプリを構築できる。実際にPower Appsを触ってみると分かるが、既にクラウドにデータがある場合はそれを基盤に業務アプリを開発するのは簡単だ。本稿執筆時点で筆者が見たところではアニメーションを多用するようなリッチなUI機能はなく、シンプルなリストやボタンを利用した業務アプリならすぐに構築できる。あらかじめ用意されている関数に数式や設定を入力していく操作になっているので、Excel関数やマクロになれていればさらに楽に操作できるだろう。一方で、Power Appsに用意されていない機能を開発しようとすると相応のクラウドサービスのAPI操作などへの知識が必要になる点は注意が必要だ。また、一度作成したアプリは「Android」や「iOS」向けのネイティブアプリにも変換できる。ユーザーはPower Appsでターゲットとなるハードウェアを指定すれば自動的にその環境向けのネイティブアプリが生成される。

Microsoft流RPA「Power Automate」はどんなもの?

 Power Platformを構成するもう一つの要素であるPower Automateも見ていこう。

 Power Automateは「Flow」と呼ばれていたサービスの進化版といえる。2019年11月に米国で開催されたMicrosoftの年次イベント「Ignite」で、このFlowの機能をRPAに拡張すると発表され、注目を集めた。

Power Automate

そもそもFlowでは何ができるか

 もともとFlowはさまざまなWebサービスを連携させる「IFTTT」のようなツールとして提供されていた。FlowにはWebサービスと接続するための「コネクター」が用意されており、それを使ってフローチャートを書く要領で動作を記述していく仕組みだ。各コネクターに用意されている関数に値をセットしていき、接続するだけで一連の処理を記述できる。各コネクターでは、使用できる動的なコンテンツや式がリスティングされるため、ユーザーは簡単にフローを作ることができる。また、条件分岐や繰り返しなどの機能も用意されている。もちろんWebサービスとのコネクターだけではなく、あらかじめ各種のアプリ間連携を支援するテンプレートが用意されている。

Flowのテンプレートの例

 コネクターとテンプレートを組み合わせれば、例えば「Office 365のOutlookで受信したメールに添付ファイルがあれば、自動的にOneDriveに保存したり、Google Driveに保存したりする」という複数のサービスをまたいだ条件分岐を設定して処理を振り分ける、といった操作を自動化できるわけだ。ただし、当時のFlowにはまだまだ発展途上の側面もあり、同じようなコネクターが複数あったり(V1、V2とか)、コネクターの動的コンテンツや式の詳細な内容の日本語ドキュメントが不十分だったりと、日本語環境で利用するには万全とはいいにくいものだった。

Power Automateで何ができる?

 Flowが進化したPower Automateは「UIフロー」という機能を持つ。Webブラウザやアプリケーションの操作を記録して実行するRPA的な機能を提供するものだ。FlowにUIフロー機能が加わったことで、アプリケーション間のデータの受け渡しだけではなく、画面操作の記録、自動実行といった機能も組み合わせられるようになったのだ。

 UIフローを活用すれば、例えば「Webブラウザで特定のサイトにアクセスして、そこから特定の操作を基にデータを繰り返し取得する」「企業独自のアプリケーションを操作して画面表示から一部のデータをコピーしてExcelにペーストする作業を繰り返す」といった作業を丸ごと効率化できる。もちろんFlowがベースになっているためFlowが用意する各種のコネクターを利用すればさらに複雑な操作も可能だ。「Web UIを持つ自社の受発注システムの操作をPower Automateで行い、そこから取得したデータをワークフローツールに渡して上長に承認用のメールを送信。承認完了を伝えるメールを受信したら再度Webブラウザを立ち上げて受発注システムに接続して発注処理を行う」といった一連の作業も自動化できるようになるだろう。

UIフローの設定  本稿執筆時点ではまだプレビューの機能だ
フロー定義の中で画面操作を記録する
他のツール操作を記録する
記録した画面操作にパラメータなどを設定する

 このように業務効率化の期待が高まるPower Automateではあるが2019年11月現在はUIフローはプレビュー段階にあるため、最終的な仕様は今後変更される可能がある点は注意いただきたい。なお、UIフローは有償提供になる見込みだ。

「AI Builder」でRPAにAIを取り込む

 Power AutomateにもAI Builderが用意されているため、ある程度のAI処理が可能になると考えられる。Webブラウザやデスクトップアプリケーションで特定の操作をして、そのままPower Automateにデータを持ち帰り処理を分岐していったり、変更したりすることまでできるかは、本稿執筆時点では未知数だ。ただしRPA専業ベンダーの多くが既にAI機能を取り込んで高度な自動化を進めつつある状況を考えると、正式リリースまでにはある程度の機能を取り込むのではないかというのが筆者の予想だ。ここではさらにどこまでテンプレート化してAI処理を提供できるのかが注目のポイントとなっていくのではないだろうか。

AI Builder

利用は今後の日本語化待ち? 

 Power Platformは、クラウドサービスを横断的に利用していくには非常に便利なツールといえそうだ。現段階では発表直後と言うこともあり、Power Platformの詳細な日本語の情報が出そろっているわけではない。今後、正式リリースがあり、本格的な国内での展開が始まるまでには、日本のユーザーニーズに即したドキュメントやテンプレートなどが出そろってくると考えられる。今後の作業生産性向上を検討するためにも、今のうちからチェックしておくべきツールの一つではないだろうか。

Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。