こんにちは!
最近の案件ではSharePointのカスタムリストをPowerAppsでカスタマイズしたり、Flowを使って処理を自動化することが多くなってきています。
とくにFlowでデータを登録もしくは変更したタイミングで何らかの処理を行ってほしいという要望がよくあります。
行う処理にもよりますが、問題なくFlowを使えば実現できます。
そのFlowですがいくつかプランがあります。
簡単なプラン毎のできることは以下のとおりとなります。(2019年3月時点)
よく利用されるプランが「Flow for Office 365」ではないかと思います。
Office365を契約していて情報共有するための仕組みをSharePoint上で構築して、その際にFlowで処理をある程度自動化するというパターンが多い気がしています。
その場合に注意というか気をつける部分としてはFlowの最大頻度です。
「Flow for Office 365」では最大頻度が5分とあります。最大頻度は何かといいますと
例えばSharePoint上で処理を自動化するためのFlowを作ったとします。
アイテム(データ)を登録して何らかの処理をFlowで行う場合、5分おきに処理が行われるということです。
5分おきに処理が行われても問題ない場合もあるかと思いますが、採番などに関してはすぐに処理がされないと困る場合が多いと思います。
で普通にFlowで処理を書いても5分おきにしか処理されません。
そこでPowerAppsとFlowとつなげて、データが登録されたタイミングでFlowをすぐに動かす方法が生きてきます。
もともとFlowは自動、手動両方に対応しております。
今回、ご紹介するのは手動で実行する方法をPowerAppsから起動させるという方法です。
こうすることでアイテム(データ)が登録されたタイミングですぐにFlowを動かすことができるようになります。
でどうやるかといいますとまずはFlowで一番最初にPowerAppsをトリガーとして設定してください。
この設定をしないとPowerAppsとFlowを紐付けることができませんので注意ください。
あとは行いたい処理をFlowで記述します。
Flowの作成が終わると、SharePointのフォームをPowerAppsでカスタマイズします。
PowerAppsの画面で「アクション」から「Flow」を選択してください。
Flowを新しく作成する画面が表示されますのでそこで先程作成したFlowを選択してください。
その後は「SharePointForm1」のOnSuccessメソッドに以下のメソッドを追記します。
●●●●.Run(引数)
引数がある場合は引数を記載してください。
そうすることで保存されて成功したときにFlowが動くようになります。
ぜひお試しください。