"Power Automate" にカテゴリー登録されている10 投稿

Power Automate, Power Apps と Excel を利用したローン返済シミュレーションアプリ開発 (LogicFlow-ja #3 勉強会)

先日の勉強会の資料と録画が公開されているのでここに共有しておきます。

まずは私が登壇した内容は下記の通りです。

タイトル : Excel と SharePoint を組み合わせローン返済アプリケーションを作成する (Power Apps + Power Automate)

概要 : Microsoft Graph API を使って、SharePoint に格納している Excel ファイルを高度な計算を行うためのリソースとして利用し、Power Apps と Power Automate を使ってローン返済アプリを作ってみます。もともとオンプレミスのSharePoint のころに Excel Web Services や InfoPath を使ってデモをしていた内容を、Power Platform を使って置き換えてみるとどうなるだろうという実験でもあります。
マニアックですが、実務的に応用できる内容にしています。ご興味のある方は是非どうぞ!!

YouTube

スライド

 
その他の当日の勉強会の録画ビデオ
今回の勉強会も、他のセッションも含め魅力的なものばかりでした。
一連の内容がYouTube に公開されていますので、そちらもどうぞ。
 

【宣伝】

オフィスアイ株式会社では Power Automate を利用する方に対して、一歩ステップアップするためのオリジナルの研修コースをご用意しています。

⇒ 業務効率を向上させる Power Automate 実践演習

 


Power Automate を使って予定表リスト(イベントリスト)から Microsoft Teams 会議を作成する

Power Automate に「Teams 会議の作成(プレビュー)」アクションが追加されました。

Teams会議の作成

従来でも Power Automate を使った Teams 会議の作成は Microsoft Graph API を使えばできたのですが、プレミアムコネクターが必要なのと、Graph APIの管理自体のハードルがあり手軽とは呼べませんでした。しかし、この機能の追加によって、いろいろな場面で利用できそうです。

SharePoint の予定表リスト(イベント リスト)

SharePoint には組織内の出来事を登録しておくための予定表リスト(徐々にイベント リストという呼び名に変わってきていますが)があります。このリストはモダンサイトでは「イベント」Webパーツを追加し、そこからアクセスすることでモダンUIとして利用できるようになっています。

このリストアイテムには次のようにオンライン会議のURLを追加する場所があるのですが、これは予め何かしらのシステムで作成した会議のリンクを追加するところであり、自動的に Teams 会議を作成してくれるわけではありません。

Teams会議の作成-Setup-01

また下記のようにユーザーを追加する場所がありますが、追加したユーザーの連絡先はホバーカード上に出てくるものの、会議が自動作成されない以上、わざわざここに出席者を入れることはしないことの方が多いでしょう。

Teams会議の作成-Setup-08

そこで、Power Automate を使って会議を自動生成してみることにしました。前から案はあったのですが前述の通りGraphを使うところの手軽でないところが難点でした。

さて、作り方です。作成したフロー全体図は次の通り。

Teams会議の作成-Setup-02

まずSharePointの「項目が作成されたとき」トリガーから始めます。このとき、予定表リストはリスト名の候補に出てこないため手動で登録する必要があります。私の使っているリスト名は「イベント」です。

Teams会議の作成-Setup-03

次に開始時間と終了時間を格納する文字列変数を用意します。

Teams会議の作成-Setup-04

値は次のような式を書き、UTC時間を日本時間に変換しておきます。

convertFromUtc(triggerOutputs()?['body/EventDate'],'Tokyo Standard Time',
'yyyy-MM-ddTHH:mm:00')

終了時間の場合は次の式です。

convertFromUtc(triggerOutputs()?['body/EndDate'],'Tokyo Standard Time',
'yyyy-MM-ddTHH:mm:00')

次に参加者のメールアドレスを格納するための配列変数を用意します。

Teams会議の作成-Setup-05

これを Apply to each でトリガーから取得した出席者を取り出し、一つずつ格納していきます。

Teams会議の作成-Setup-06

次に「データ操作 - 参加」アクションを使って、配列内のデータをセミコロンで文字列連結します。

Teams会議の作成-Setup-10

次にいよいよ「Teams 会議の作成」アクションの登場です。件名やメッセージは SharePoint のトリガーから取得したものを設定します。

timeZone は Tokyo Standard Time。とはいえ、このタイムゾーンに従って、UTC時間から開始時刻や終了時刻を日付を変換してくれるわけではないので、あらかじめ日本時間を取得しておく必要があります。そのためフロー最初のところでタイムゾーンを変換した日時を編集に格納しました。ちなみに、SharePointから取得する日付データというのは、基本的にUTCです。

Teams会議の作成-Setup-07

最後はSharePointコネクターの「項目の更新」アクションを追加し、SharePoint 予定表リストのアイテムに Teams 会議への参加リンクを追加するだけで完了です。

会議のリンクを追加する項目は「ワークスペースのURL」であり、ここに「Teams会議の作成」アクションの「joinUrl」追加します。

Teams会議の作成-Setup-09

以上で完成!

動作イメージは次の通りです。

 

【宣伝】

弊社では Power Automate の中級向けのコースとして「業務効率を向上させる Power Automate 実践演習(OH-O365-205)」を定期開催しています。

またMicrosoft 365 のSharePoint を基礎からきっちり学びたい方は、各種コースを取り揃えています。詳しくは下記のリンク先までどうぞ。

Microsoft 365 関連コース一覧

 

 

 

 

 


勉強会登壇のお知らせ( LogicFlow-ja) - 2020/8/29 開催

下記日程で開催される LogicFlow-ja コミュニティ主催のイベントで登壇いたします!

オンラインで参加費も無料ですし、せっかくなのでブログでも告知することにしました。

124355e25d1d7313ba005860bb7ea09e

開催日程: 2020/8/29 (土曜日) 12:30 ~

詳細 : リンク

LogicFlow-ja コミュニティは Azure Logic Apps と Power Automate に関する日本のコミュニティです。Facebook にコミュニティが作られているので、そちらもどうぞ。

Facebook : https://www.facebook.com/groups/logicflowja

私の登壇内容は以下の通りです。

**************************************

タイトル : Excel と SharePoint を組み合わせローン返済アプリケーションを作成する (Power Apps + Power Automate)

概要 : Microsoft Graph API を使って、SharePoint に格納している Excel ファイルを高度な計算を行うためのリソースとして利用し、Power Apps と Power Automate を使ってローン返済アプリを作ってみます。もともとオンプレミスのSharePoint のころに Excel Web Services や InfoPath を使ってデモをしていた内容を、Power Platform を使って置き換えてみるとどうなるだろうという実験でもあります。
マニアックですが、ご興味のある方は是非どうぞ!!

**************************************

と、自分の登壇だけ説明してしまいましたが、コミュティでは毎回、魅力的な内容で勉強会をされています。

今回も多くのスピーカの方が興味深いセッションを数多く実施されることになっています。詳しくは上記リンクをご参照ください。

ちなみに、オンライン開催になるまではオフラインで勉強会をされていたのはずっと存じ上げてはいたのですが、子供も小さく、なかなか参加する時間はとれなかったのですが、オンラインになればこのあたりの融通がしやすくなるのは嬉しいところですね。

ということで、ご都合のつく方はどうぞ~😊


Microsoft 365 メッセージセンターと Planner と Power Automate

Microsoft 365 管理センター内にある「メッセージセンター」にはテナントに今後展開されてくる新機能などのアナウンス数多くが届きます。対処が必要なものもあれば、そうでないものもあります。管理者としては、設定が必要なものはそこからタスクを管理していく必要がありますし、場合によってはユーザーへの周知をすること自体がタスクとなり得ます。

そこで新機能として比較的最近追加されたのが Planner との同期設定です。これを設定することで、Power Automateの仕組みを使って定期的にメッセージをタスクとして自動登録できるようになります。

Planner 同期 - 01

設定はとても簡単。管理者の方はもちろん、Power Automate を利用している方はソリューションの一つの例として捉えておくとよいだろうなと思っています。

手順についてはスクリーションショットを並べておきましょう。テナントの管理者が構成します。

Planner 同期 - 02

タスクの作成先となるプランとバケットを指定。

Planner 同期 - 03

同期対象となるメッセージを選択する。

Planner 同期 - 04

構成後、すぐにインポートできるようになっており、その際に最大28日前のメッセージから取り込める。

Planner 同期 - 06

確認したら[完了]をクリックする。

Planner 同期 - 07

初回以降は定期的に同期することになるため、そのタイミングを指定し Power Automate を構成していくことになる。

Planner 同期 - 08

とはいえ、Power Automate 側の構成は[フロー作成]をクリックすることで自動で行われる。

Planner 同期 - 09

あっという間に構成完了。

Planner 同期 - 11

同期の設定を変更する場合はメッセージセンターから再度[Planner の同期]をクリックすればよい。

Planner 同期 - 12

これで Planner 側にメッセージがタスクとして同期されるようになります。

Planner 同期 - 13

ところで、自動作成されたフローはどうなったのでしょうか。Power Automate の画面で確認しましょう。

フローは既定の環境に「チームフロー」として作成されます。

Planner 同期 - 14

フローの内容は次のようになっており、非常にシンプルです。

Planner 同期 - 15

 

 

 

 

 

 


[注意] SharePoint 2010 ワークフローエンジンが利用できなくなる

ご存知の方も少なくないようですが、タイトルにある通り SharePoint 2010 ベースのワークフローエンジンが利用できなくなります。といっても SharePoint Online の話で、オンプレミスとは状況が異なるので注意してください。

SharePoint 2010 ワークフローエンジンを使うワークフローは、早急に Power Automate もしくはその他のソリューションに切り替えていく準備をしておく必要があります。とはいえ、全く同等にフローが作れるわけではないのが、なかなか悩ましいところではあります。

Microsoft 社からの公式情報は次の通り。

「Support update for SharePoint 2010 workflows in Microsoft 365」

Sp2010WF engine retired - 01

「SharePoint 2010 workflow retirement」

Sp2010WF engine retired - 02

SharePoint 2010 ワークフロー エンジンとは何か?

SharePoint 2010 ワークフローエンジンと聞いて、ピンとこない方のために、少し歴史的背景をご紹介しましょう。

SharePoint はワークフロー機能を持っています。SharePoint Portal Server 2007からこの機能を利用して承認フローなどを構築できるようになっています。このワークフローを支えているのがワークフローエンジンであり、SharePoint Portal Server 2007 および SharePoint Server 2010ではワークフローエンジンを SharePoint 自体が内包してきました。

SharePoint Portal Server 2007では 2007用のエンジン、SharePoint Server 2010 は 2010 用のエンジンをそれぞれに持っています。それぞれをベースとしたワークフローテンプレートも用意されており、サイトコレクションの機能(フィーチャー)にそれぞれのテンプレートの有効化を行う機能があります。

たとえば、SharePoint 2007 用は次の機能をアクティブ化すると利用できるようになっています(といっても、古いのでもう Online では使っているところはないと思います。今のところ SharePoint Online でも設定は名残として残っていたので参考までに掲載しています)。

Sp2010WF engine retired - 03

SharePoint 2010 のエンジンを使ったビルトインのテンプレートを利用するときは次の「ワークフロー」機能をアクティブ化します。

Sp2010WF engine retired - 04

この機能をアクティブ化するとリストやライブラリにビルトインのワークフローテンプレートを追加して利用できるようになっています。

Sp2010WF engine retired - 01

ビルトインのテンプレートは次の通りであり、フィードバックの収集、署名の収集などがあります。

Sp2010WF engine retired - 05

 

ただし、このエンジンはSharePoint 内で動作していたこともあり、スケーラビリティに欠けるなど課題も見えてきました。そこで SharePoint Server 2013 からは従来の SharePoint 2010 エンジンも利用できるようにしつつ、新たなエンジンとして SharePoint 2013 エンジンを提供し始めます。これは SharePoint 内に含まれてはおらず、別途 ワークフローエンジン用にサーバーを構築してエンジンをインストールする必要がありました。要するに、エンジンが外付けされることになったわけです。これによってスケーラビリティの問題なども解消できるし、従来組めなかったフローロジックも組めるようになるなど恩恵はあったものの、SharePoint のアクセス権限設定が柔軟に設定できないなどの問題も抱えていました。そこで、SharePoint 2013 エンジンと SharePoint 2010 エンジンを組み合わせて、互いのいいとこどりをするようなフロー構築もできるようになっています。

このような背景の中、SharePoint Server 2010 以降では SharePoint Designer 使った独自のワークフロー開発なども盛んにおこなわれました。ちなみに、SharePoint Designer 2013 で独自にワークフローを作るときには、どちらのエンジンをベースにフローを作るのかを選んでから作成するようになっています。

Sp2010WF engine retired - 06

 

SharePoint 2010 および 2013 ワークフローエンジンは今後どうなるのか?

ここまでの経緯で SharePoint 2010 ワークフローエンジンとは何かがある程度、把握できたと思います。

今回 Microsoft からのアナウンスによると、SharePoint 2010 ワークフローエンジンを使ったフローは次のような段階を経て、利用できなくなります。

  • 2020年8月1日から、SharePoint 2010 ワークフロー群は、新たな作成されたテナントに関しては利用できなくなる
  • 2020年11月1日から、既存のテナントから SharePoint 2010 ワークフローの実行および作成機能の削除を開始する

SharePoint 2013 エンジンに関しては利用は非推奨とはなるものの、引き続きサポートされるとのこと。2020年11月以降、新規テナントでは SharePoint 2013 ワークフローエンジンの利用も既定ではオフにされます。ただし、必要があれば PowerShellスクリプトを使って SharePoint 2013 ベースのワークフローをアクティブ化できるそうです。

またオンプレミスの SharePoint 2016 と 2019 サーバーに関してはどちらのエンジンも 2026年までは引き続きサポートされます。

最後に、これからに備えて

以上のように今から10年前に登場したエンジンも終焉を迎えることとなりそうです。既に組織内でこうしたフローを使っている場合は早急に確認をし、対応を考える必要があります。SharePoint の開発コミュニティがモダン化対応をチェックするためのツールとして「 SharePoint Modernization Scanner 」をオープンソースとしてGitHub に公開しているので、まずはこれを使ってフローの洗い出しをしましょうということのようです。ただし、今日もちょうどSharePoint モダンポータルの研修を実施しており、このツールの話をするのですが、このツールは実は SharePoint Online の管理者、つまり組織全体の管理者でないと設定できない部分があります。この部分が少しネックになるかもしれません。大企業だと複数のグループ企業を抱えていますが、要するに親会社側でないとこれらの設定ができないので手軽に試せるとは限らないのです。これに関しては、各組織でうまく連携を取る必要があるでしょう。

それから、今あるフローをそのままPower Automate やその他のサービスに移行しようと考えるようとしているのであれば、ちょっと待ってください!

日本の組織では大抵の場合、その対象が「承認」フローだと思います。是非、次のことを考えてみてください。 

新型コロナにより仕事の仕方も大きく変わってきていて、さらにこうした大きな変化の節目でもあります。この際に可能な限り業務を見直して、本当にそのフローが必要なのか組織内で議論をしてみてはいかがでしょうか。絶好のタイミングとみることもできるかもしれません。

「その承認は本当に必要なのか?」

いろんな方に話を伺うと、フローを作る側の人は、少なからずそう感じているフローがあるようです。

もしかしたら、紙の判子で書類を回していたころから、引き続き今までやってきたからという理由で続けているところはありませんか? 団塊の世代が活躍していたころからあるプロセスだったりしませんか? だとしたら一度見直す時期では? そもそも、その承認プロセスは形骸化していなませんか?

この人手不足の中、少ない人材でいろんな仕事を効率よく捌く必要があります。見直すタイミングも必要ではないでしょうか? 年功序列で、先輩後輩の関係があり、先輩は無茶もいうけど、後輩の面倒もよく見てくれていたという義理人情もまだまだあったころは、承認プロセスには責任の所在を明らかにするとともに、本当に責任もとっていた方々も少なくなかったのではないかと想像しています。ですが、責任の所在といっても形式だけになっていませんか?  承認以外にもやりようがあるかもしれません。本当は迅速な情報の可視化が必要なのに、人海戦術でチェックするために承認フローをつかっていたりしませんか? そうなると場合によっては、承認ではなくて業務プロセスをスムーズに進めることに時間とお金と労力をかけていきたい。

もちろん、承認が不可欠な業務があるのは事実ですが、見直しは必要だと感じています。

業務プロセスを見直しながら、プロセスをより効率よく進めていけるように Power Automate を使って自動化できる部分は自動化することを考えてみてはいかがでしょうか? Power Automate = ワークフロー = 承認と考えている方が、(特に SharePoint ユーザーでは) 結構な確率でいらっしゃると思いますが、そうではありません。Power Automate が真価を発揮するのは、これまでになかった AI との連携やチャットボット連携なども含む、新しい切り口で業務を支援できるポテンシャルを持っています。

そして、Power Automate を独学で学ぶ十分な時間がなかなか取れない方は、是非弊社の研修もご利用ください(最後は宣伝もかねて😄)。

2020年7月16~17日に初回実施となりますが、「業務効率を向上させる Power Automate 実践演習 (OH-O365-205)」は Power Automate をちょっと触ってみたけど、もう一歩、詳細なフローが組めるようになりたい方向けの中級レベルの方向けの研修内容になっています。Power Automate を使ったフローの移行を考えいる方に最適です。