はじめに
業務改善の一環として、デスクトップの自動化を図るためにPower Automate for desktopを活用しています。
デスクトップ上の処理を自動化するための便利なアクションがたくさんあり、一部にはクラウドコネクタも存在します。そのなかには「Office365 Outlook」コネクタもあります。
今回はWEBシステムへログインする際に、IDとパスワードでログインした後にメールで送られてくる確認コードを入力する場面で「メールを取得する(V3)」アクション使用してみました。
簡単な記事ですが、現場からお届けします🤖
注意点
- Office 365 OutlookアクションはPower Automate Premiumライセンスが必要です。
- RPAで操作してはいけないウェブサイトもあります。利用規約等にご注意ください。
- IDやパスワードは大切な情報です。第三者に知られないよう適切に管理しましょう。
使用した場面
このアクションを使ったシナリオとして、WEBシステムのログイン画面でIDとパスワードでログインした後、さらにメールで送られてくる確認コードを入力してログインするものです。
Power Automate for desktopにはOutlookアプリのアクションがありますが、Outlookアプリを起動した直後に送受信の同期に時間がかかる場合や、うまくアプリが立ち上がらないなどフローがつまずくことがありました。
そこでより安定した処理を実現するために、「Office365 Outlook」アクションにある「メールを取得する(V3)」を使い、メール本文から確認コードを取得する流れを作りました。
「メールを取得する(V3)」アクションを使うことで、指定した条件に合うメールを効率的に取得し、その後の処理に利用できます。
アクションの設定
以下のアクション構成で実装しました(ID・パスワードによる1回目のログイン後)
1. 待機
1回目のログインボタンを押下後、システムからメールが送信されるまでの待機時間として10秒待機させています。
2. メールを取得する(V3)
このアクションで、システムから送信されたメールを取得します。「宛先」や「差出人」、「件名」等でフィルタリングし、該当するメールを取得します。
取得したメールはフロー変数「GetEmailsV3Response」に格納されます。
3. テキストのトリミング
取得したメールの本文から不要な部分を取り除きます。これにより、特定のキーワードを基準に確認コード部分だけを切り出します。
今回は、メール本文内の鍵括弧の中に確認コードが記載されているため、鍵括弧を前後のフラグとして設定し、確認コードを取得しました。
4. Webページ内のテキストフィールドに入力する
トリミングで取得した確認コードをWEBシステムのログイン画面の確認コードフィールドに入力します。
5. Webページのボタンを押す
ログインボタンを押して、ログインプロセスを完了させます。
ログインが無事に完了したことを確認するために、「Webページのコンテンツを待機」など特定のテキストや要素が表示されているかをチェックするアクションを加えたり、また、メールが届かない場合や、メールのフォーマットが変わった場合に備えて、エラー処理を組み込んでおくと安心です。
最後に
もっと良い方法がたくさんあると思いますが、今のところフローがつまずくこともなく、安定して稼働しているのでとても助かっています。
その他にも「Office365 Outlook」コネクタを使うことで、メールに記載された情報をExcelに入力するなど、様々な業務に活用できそうです。
クラウドフローで完結できるなら無理に使わなくても良いかと思いますが、市民開発者としては取れる手段が増えることで助けられることは多くあると思います。
簡単ですが、現場からは以上となります🤖