APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【Power Platform】Power Automate フォルダ内の特定の名称のファイルが作成された時に通知するフローの作成方法

はじめに

こんにちは! Power Platform横串チームの高須です。
今回はPower Automate フォルダ内の特定の名称のファイルが作成された時に通知するフローを作成する方法を掲載します。

特定フォルダにファイルが作成された時通知するフローであれば簡単に作れたのですが、特定名称のファイルが作成された時に通知するフローが無かったため、今回ナレッジとして作成方法を記載させていただきます。

■成果物

SharePoint上の指定のフォルダに特定の名称のファイルが作成された時に、Teamsチャットに通知する

 

●フローの流れ

(1) 指定のフォルダにファイルが作成されるとフローが起動する

(2) フォルダに存在する全てのファイルの情報を取得する

(3) 現在の時間を取得して「yyyy-MM-dd」の形式に変換する

(4) 取得したファイル全ての名前から特定の名称を持つファイルのみをピックアップする

(5) ピックアップしたファイルの更新日を取得して「yyyy-MM-dd」の形式に変換する

(6) 現在の日付とファイルの更新日を「yyyy-MM-dd」で照合して、同じであれば本日作成されたファイルとしてピックアップする(これをフローに加えないと以前に作成された特定名称のファイルもピックアップして通知がいくつも来てしまうため)

(7)(1)~(6)の処理で本日作成された特定名称のファイルがあった場合チャット通知を行う

以上

 

作り方


概要

① Power Automateを開始する

 

② 自動化したクラウドフローの作成

1.左のメニューから作成を選択

2.「自動化したクラウドフロー」を選択

 ※ファイルが追加されたなどのイベントを実行トリガーとする場合は「自動化したクラウドフロー」

 インスタントクラウドフローは手動で実行するタイプのフローです。

 毎週決まった時間にフローを実行したい場合は「スケジュール済みクラウドフロー」を選択します

  

 

③ フロー名作成とトリガーの選択

1.フロー名(任意)を入力する

2.トリガーとしてSharePointの「ファイルが作成されたとき(プロパティのみ)」を選択する。

※トリガーとは、フローを開始するための最初のイベントのことです

3. 作成ボタンを押す

 

補足:もし、ファイルの作成だけでなく変更もトリガーにしたい場合はSharePointの「ファイルが作成または変更されたとき(プロパティのみ)」を選択する。

 

 

④ トリガーの設定

1. SharePointのサイトのアドレスを選択する(プルダウンの選択肢にない場合、カスタム値を入力を選択して直接URLを張り付けることもできます)

2. ライブラリ名を選択する

3. フローで検知したい対象フォルダのパスを選択する(右側のフォルダマークをクリックすることでライブラリ内のフォルダが階層で表示されるのでそこから該当するフォルダを選択します)

 

 

⑤ SharePointファイルの取得(プロパティのみ)アクションの追加

1.「⊕」マークから「新規アクションを追加する」タブを開き、

「SharePointファイルの取得(プロパティのみ)」アクションを追加

 

 


⑥ SharePointファイルの取得(プロパティのみ)アクションの設定

1 . サイトのアドレスを入力する(③で設定した値と同じ)

2 .ライブラリ名を選択する

3 . 詳細パラメータの「全て表示」ボタンを選択すると詳細設定の項目が表示される

4 . 「エントリをフォルダーに制限する」は検知したいファイルが作成される予定のフォルダのパスを選択する

5. 「入れ子になった項目を含める」で「No」を選択(3.で指定したフォルダ内のさらに下の階層のフォルダも検索したい場合はyesでもOK、空白だとうまくフローが動作しない場合があったため選択する必要がある)

 

⑦ 現在の時刻アクションの追加

1.「⊕」マークから「新規アクションを追加する」タブを開き、

「現在の時刻」アクションを追加

※「現在の時刻」は設定する項目は無く、追加するだけでフロー稼働時の時刻を取得します。

 

 

⑧ タイムゾーンの変換アクションの追加

1.「⊕」マークから「新規アクションを追加する」タブを開き、

「タイムゾーンの変換」アクションを追加(時刻で検索すると見つけやすい)

 

⑨ タイムゾーンの変換アクションの設定

1. 「BaseTime」空欄部分を選択、枠右側に「⚡」マークが表示されるため、選択すると変数が設定できる。「現在の時刻」を設定する。

2.「Source time zone」と「Destination time zone」はUTCを選択する。

3. Time unitは「カスタム値を入力する」を選択後「yyyy-MM-dd」と入力する

 

それぞれに適用するコントロールアクションの追加

1.「⊕」マークから「新規アクションを追加する」タブを開き、

「 それぞれに適用する」コントロールアクションを追加

※「それぞれに適用する」は、取得した配列それぞれの値にアクションを設定したい

場合に使用します



⑪ それぞれに適用するコントロールアクションの設定

1. 変数として、ファイルの取得(プロパティのみ)の「body/value」を設定

※「body/value」は「ファイルの取得(プロパティのみ)」アクションで取得したフォルダ内のフォルダ、ファイルの情報が配列として格納されています

 

 

⑫ 条件コントロールアクションの追加

1.「それぞれに適用する」内の「⊕」マークから「新規アクションを追加する」タブを開き、「条件」コントロールアクションを追加

 



⑬ 条件コントロールアクションの設定

1. 条件設定で「AND」条件と「OR」条件があるが、条件が一つの場合はどちらを選んでも良い

2. 変数として、ファイルの取得(プロパティのみ)の「名前」を設定

※変数選択画面のアクション名右側の「表示枠を増やす」をクリックするとアクションで取得した全ての項目が表示される。「名前」は表示枠を増やさないと出てこない。

 

3. 不等号条件についても検知したいワードによって適宜設定する。

例) ファイルの先頭の文字で検知したい場合は「start with」を選択する

4. 検索したいワードを右の空欄に入力する

 

 

※「名前」が変数として表示されない場合



⑭ タイムゾーンの変換アクションの追加

1.「条件」コントロールアクションから分岐する真条件につながる「⊕」マークから「新規アクションを追加する」タブを開き、

「タイムゾーンの変換」アクションを追加

⑮ タイムゾーンの変換アクションの設定

1. 「BaseTime」に変数として、ファイルの取得(プロパティのみ)の「更新日時」を設定

2.「Source time zone」と「Destination time zone」はUTCを選択する。

3. Time unitは「カスタム値を入力する」を選択後「yyyy-MM-dd」と入力する

 

 

⑯ 条件コントロールアクションの追加

1. ⑭の「タイムゾーンの変換」アクションにつながる「⊕」マークから「新規アクションを追加する」タブを開き、「条件」コントロールアクションを追加

 

 

⑰ 条件コントロールアクションの設定

1. 条件設定として、「AND」条件と「OR」条件があるがどちらを選んでも良い

2. 変数として、⑧で設定したタイムゾーンの変換を変数として選択

3. 不等号条件は「is equal to」を選択

4. 変数として、⑭で設定したタイムゾーンの変換を変数として選択

 

 

 

⑱ チャットまたはチャネルでメッセージを投稿するアクションの追加

1. ⑯の「条件」コントロールアクションから分岐する真条件につながる「⊕」マークから「新規アクションを追加する」タブを開き、Teamsの「チャットまたはチャネルでメッセージを投稿する」コントロールアクションを追加

 

 

 

⑲ チャットまたはチャネルでメッセージを投稿するアクションの設定

1. 投稿者は適当なものを選択する。「フローボット」を選択すると投稿者がWorkflows経由の○○(名前)と表示され、自動投稿であることが分かりやすい。「ユーザー」を選択するとユーザー名がそのまま表示される。

2. 投稿先がグループチャットかチャネルか、適切なものを選択する

3. 投稿先の選択によって項目名が変化する。投稿したいグループチャット名、チャネル名のものを選択する。

4. チャットで通知する内容を記載する、内容は任意。変数として、ファイルの取得(プロパティのみ)の「名前」を設定すると更新があったファイルの名称が表示され、わかりやすい。

 


⑳ テスト・完成

フローを保存して、実際に対象のフォルダで、特定の名称のファイルが更新・作成された時にteamsに通知されれば完成。

 

まとめ


今回は、PowerAutoamateで特定の名称のファイルが作成された時に通知するフローを作成する方法を紹介しました。PowerAutomateはコネクタに欲しいアクションが無かった場合でも、アクションの組み合わせ次第でアイデアを実現できるのだと実感しました。

今回ご紹介したフローは一例であり、もっと簡単に作成する方法もあるかもしれません。もし他の方法をご存じでしたら教えてください!