PowerAutomateでTeamsに通知する簡単なリマインダーを作成した


背景

  • 会社でOffice365を導入したことでslackからTeamsにチャットツールが変わった
  • 今までslackのリマインダーを常用していたけどTeamsにはそんな便利な機能は無い
  • Teamsは使いづらい(愚痴)
  • PowerAutomateっていうちょっと面白そうなものがあるので試しに作ってみた

概要

  • SharePointに通知したい内容、日時を記録したExcelを配置
  • 5分間隔で起動し、日時が一致している場合はTeamsに通知
  • 日付指定がない場合は毎日通知

内容

SharePoint上にExcelファイルを作成

こんな感じに簡単な一覧を作成。

Excelからデータを取得するには、取得したいデータがテーブルである必要があるので注意。

PowerAutomateでフローを作成

PowerAutomateの作成画面から、今回はスケジュール実行なので予定フローを作成を選択

フロー名と繰り返し間隔を指定して、作成する。
ここだけ後で画像を取ったので、名前が違うのは許してください…

フローの中身

Recurrence

予定フローを作成画面で指定した通り、5分間隔で実行するように初期状態で設定されている。
メッセージをフローボットとして投稿を使うので多分@メンショントークンを取得は無くても良い。

表内に存在する行を一覧表示

SharePoint上に作成したExcelファイルを指定する。

Apply to each

Excelから取得した行数分繰り返す。

ループ内のアクションで条件分岐を作成し、通知を送る条件に一致しているかを判定する。

  • 日付が一致しているか(またはブランクか)
  • 時刻が一致しているか

FormatDateTime関数の引数は以下の通りに指定する。

現在の日付を取得
formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Tokyo Standard Time'), 'yyyy/MM/dd')
現在の日時から時間を取得
formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Tokyo Standard Time'), 'HH')
現在の日時から分を取得
formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Tokyo Standard Time'), 'mm')

メッセージをフローボットとして投稿

メッセージの送信先、メッセージの内容を指定する

結果

こんな感じにFlowからメッセージが届く

感想

  • アクションや関数の設定内容が分かりづらい
  • 最初はとっつきづらいけれど慣れればなんとなくで作れそう
  • Teamsは使いづらい(愚痴)