株式会社 ASAHI Accounting Robot 研究所
概要
Power Automate for desktop(デスクトップフロー)が注目を浴びていますが、Power Automate (クラウドフロー)を活用することでより簡単に業務の自動化を実現する事が可能となっています。第2回目では、クラウドフローの活用事例を基にポイントを紹介します。
はじめに
第1回目ではPADについて紹介しましたが、業務の自動化を行う上で画面操作の自動化だけでは困難な時もあります。
例えば操作対象のWebページやアプリケーションのUI要素が頻繁に更新されたり、動的にUI要素の認識情報が変更されたりしてしまう場合などは、ある程度経験を積まないとなかなか自動化は困難かと思われます。
操作対象がクラウドサービス等の場合、APIが公開されている事が多いので、このような場合はAPI連携により自動化を図った方が、画面操作よりも不確定要素によりフローが止まるなどを低減する事ができ、より確実な自動化を構築する事が可能です。
PADでも「Webサービスを呼び出します」アクションによりAPI連携をすることが可能になっていますが、これらをより簡単に構築する方法として、Power Automateによるクラウドフロー構築があります。
前回の内容でも簡単に触れておりますが、PADはPower Automate の一機能(RPA部分)だけを切出したイメージになりますので、Power Automate(クラウドフロー)も使いこなすことにより、より広範囲の業務の自動化を実現できます。
今回はクラウドフローの中でも、知っておくととても便利な「カスタムコネクタ」の作成方法、及びカスタムコネクタを利用したフローの作成を紹介したいと思います。
<カスタムコネクタとは>
Power Automateは、コネクタと呼ばれる各種サービスと、Power AutomateやPower Appsなどと通信するため予め準備されている接続ツールを利用してアプリやデータを接続します。
一般的なコネクタの例として、Office 365、Twitterなどがあり、Google Driveなども利用できます。
(画像: コネクタの例)
<カスタムコネクタを作成する>
Power Automateには数多くのコネクタが準備されていますが、必ずしも自社で利用しているサービスのコネクタがあるとは限りません。
そのような場合に対応するため、カスタムコネクタとして自身でコネクタを作成する事が可能になっています。
今回はカスタムコネクタの一例として、ロボ研で利用している「freee」のコネクタを作成したいと思います。
freeeのカスタムコネクタを作成する前に、freeeでAPIを利用するためのセットアップやアプリ作成を行う必要があります。
今回は既にAPIが利用できる前提とし、freeeのセットアップやアプリ作成については割愛します。
詳しくはfreee Developers Community のサイトにスタートガイド(freee API スタートガイド - freee Developers Community)が用意されておりますので、そちらを参照ください。
セットアップやアプリ作成を行うとClient IDとClient Secret 等の情報を入手可能となります。freeeのカスタムコネクタを作成するのに必要になりますのでこれらの情報を控えておきましょう。
ここで、コールバックURLを設定する必要がありますが、これについては後で設定するので、既定の値のままにしておきます。
事前準備が整ったらカスタムコネクタの作成に入ります。
カスタムコネクタの作成はPower Automate のページ(Microsoft Power Automate | Microsoft Power Platform)から行います。
以降の手順をお試し頂くには、Microsoft Power Automate のライセンスが必要です。
または、以下URLより開発者向けプランをご利用ください。
https://powerapps.microsoft.com/ja-jp/developerplan/
画面左側のメニューから「データ」⇒「カスタムコネクタ」を選択し、上部に表示される「カスタムコネクタの新規作成」をクリックします。
カスタムコネクタの作成方法が複数提示されますので、「一から作成」を選択します。
コネクタの名前の入力を求められますので、わかり易い名前を付けましょう。
名前を入力したら「続行」をクリックします。
「全般情報」の設定画面が開きますので、ここでアイコンのアップロードやアイコン背景色の設定、カスタムコネクタの説明などを設定します。
アイコン、背景色はお好みで設定していただき、今回は「スキーマ」、「ホスト」を以下のように設定します。
必要な情報は先述のfreee Developers Communityサイトの会計APIリファレンスのページにて確認できます。(会計APIリファレンス - freee Developers Community)
スキーマ:HTTPS
ホスト:api.freee.co.jp
ベースURL:/
続いて「セキュリティ」の設定画面で認証タイプを設定します。
今回は認証タイプに「OAuth 2.0」を選択し、以下の設定を行います。
IDプロバイダー:Generic Oauth 2
Client id:freeeのアプリ作成後に入手したClient ID
Client secret:freeeのアプリ作成後に入手したClient Secret
Authorization URL:https://accounts.secure.freee.co.jp/public_api/authorize
Token URL:https://accounts.secure.freee.co.jp/public_api/token
Refresh URL:https://accounts.secure.freee.co.jp/public_api/token
リダイレクトURL:後で生成されます
次に「定義」の設定で、このカスタムコネクタを利用して実施するアクションやトリガーを設定します。
ここでいうアクションとは「事業所一覧の取得」や「見積書の作成」など、freeeで行いたい作業を指します。具体的にどんなことができるかについては会計APIリファレンスのページで知ることができます。
(↑画像をクリックすると拡大表示します)
今回はお試しという事で事業所一覧の取得を行います。
画面左側の「アクション」の項目にある「新しいアクション」を選択します。
アクションの設定画面が開きますので、先ずは「全般」情報としてアクションの概要や説明、操作IDを設定します。
全般情報の設定が終わったら次に「要求」の設定を行います。
「+サンプルからのインポート」をクリックすると画面右側に設定ウィンドウが表示されますので、こちらに以下の設定をします。
動詞:GET
URL:/api/1/companies
各項目の設定が終わったら「インポート」ボタンをクリックします。
これでアクションの設定も完了しました。
通常の業務で利用する場合には事業所一覧の取得だけでは業務ができませんので、この「3.定義」の部分で各アクションを追加していく事になります。
アクションの設定が完了したらコネクタとして利用できるかをテストします。
テストをするにはカスタムコネクタを作成する必要がありますので、画面右上部にある「コネクタの作成」をクリックします。
コネクタの作成が完了したら、最後に先の認証の設定画面に戻り、「リダイレクトURL」の値をfreeeのアプリ詳細画面の「コールバックURL」の項目に貼り付けた後、「テスト操作」の画面で「接続」の設定をする必要があります。
この操作を忘れたまま、「+新しい接続」をクリックすると「指定されたアプリケーションは存在しません」というエラー画面が表示されるかと思います。
このエラーが出たら「2.セキュリティ」の項目まで戻り、画面下部に表示されている「リダイレクトURL」の値をコピーし、freeeのアプリ詳細画面の「コールバックURL」に貼り付け、アプリを保存します。
リダイレクトURLを貼り付けたら再度「5.テスト」項目まで進み、「+新しい接続」をクリックします。
すると今回は正常に画面が表示されることが確認できます。
「許可する」のボタンを押すと「選択された接続」の項目に、コネクタの名前と作成日時が表示されますので、この状態で「テスト操作」をクリックします。
するとアクションの実行結果が表示されます。
応答の値が200となっていれば、作成したコネクタを利用して「事業所一覧の取得」のアクションが成功したことになります。
ここまで来たら、後はひたすらこのコネクタを利用したいアクションを「3.定義」で追加していくだけで、freeeを組み込んだ自動化のフローが割と簡単に構築する事が可能となります。
<カスタムコネクタを利用する>
一通りアクションの追加まで完了したら実際にフローに組み込んでいきます。
クラウドフローの中で作成したカスタムコネクタを利用したい場合は「+新しいステップ」 ⇒「カスタム」と選択し、先ほど作成したカスタムコネクタを選択します。
カスタムコネクタを選択すると、カスタムコネクタの中で作成したアクションが一覧で表示されますので、実施したいアクションを選択し、場合によっては必要なパラーメータを追加で設定します。
このように、カスタムコネクタを作成する事で、日常的に行う業務の自動化を、コードを書くことなく実装する事が可能となります。
このようなAPI連携をPADでも実装する事は可能ですが、API連携をする場合にはクラウドフローの方が設定が容易で、何よりもクラウドフローで完結するフローの場合は、PADと違いPCが起動している必要がないため、お勧めです。
「掲載日:2022年6月1日」
(次回) → 【第3回】 クラウドフローとデスクトップフローで広がる自動化の範囲
【連載目次】株式会社 ASAHI Accounting Robot 研究所 【第1回】 Microsoft のRPA機能 Power Automate for desktop の実力 |