おさらいと今回の範囲
投稿はこちら→https://qiita.com/h-nagao/items/e3d590e0ea4992f14fb2
前回は処理の大まかな流れをご紹介しました。
今回は処理の前半、Approvalを利用して、出力するページを指定するところまでを紹介します。
Automateの処理詳細
1.トリガー
ここは特に入力なしで進めます。ページタイトルを入力するようにしてもいいのですが、入力誤りを防ぐ目的と、Flow botとの対話で進めたいというのもあります。
2.Get Minutes
名前を変えてしまっているのですが、元のアクションは「Get pages for a specific section」です。
ここでは議事録の入っているノートとセクションを指定します。
今回はTeamsに対応するSharePointサイトのOneNoteを指定しました。
3.Initialize Array
あとでApprovalでページのタイトルを選択して後続処理を実行させたいので、ここでは2.のステップでとれたページの一覧から、タイトルだけを抜き出すための配列を先に用意しておきます。
4. Apply to each
2.で取れた結果は複数のページを含む配列になっています。ここからタイトルだけを抜き出すので、自動的にApply to eachの繰り返し処理が発生します。「Append to array variable」の引数にPageのタイトルを指定するだけで、自動でAppy to eachになります。
これによって生成される配列は ["12/28議事録","1/29議事録"] のような、単純な文字列配列です。配列操作のSelectでTitleだけを抽出としてみたのですが、それだとApprovalの選択肢(ドロップダウン)が構成できなかったので、あきらめて自前の配列にしました。
5.Create an Approval
今回「ひらめいた!」って思ったポイントがここです。(結構皆さん使っているようでした)
Flowには、上長や担当者の承認を要求するような目的で承認のアクションがあります。
ここではこの「承認者」を自分に設定することで、疑似対話的なFlowの実行を実現しています。
承認時にはYes/Noのほかに、カスタム選択肢から選択という種類も選べます。この選択肢に、OneNoteのページ一覧を入れることで、ファイル化する対象を選ばせることが可能になります。
6.Wait for an Approval
つくったApprovalを待つアクションです。
Approval IDは前のステップで作成されたものを指定します。
以上で前半部分、出力対象のページ指定が完成しました。
実際動かしてみる
動画でお見せできずすみません。
Flowを実行すると、下図のようにApprovalが届きます。その回答はドロップダウンになっていて、中にはページ一覧が表示されています。
また、ここで選択したページタイトルは、Wait for an approvalの結果(Outcome)として、取得できています。
ここまでで、出力したいページの指定ができました。次回はいよいよ、ページのコンテンツ取得から、ゴリゴリっとHTMLにしていく処理を紹介します。
次回
ここにリンク追加します。