7.4K Views
August 03, 23
スライド概要
【自動化やIT活用ネタ】ライトニングトーク大会~初参加者大歓迎~
https://rpacommunity.connpass.com/event/290566/
に登壇させていただいた際のLT資料です。Power AutomateのRSSカスタムについて
Power AutomateのRSS おすすめカスタマイズ (翻訳・スレッド化・ウルトラC) RPA Community 2023/08/03:ヨウセイ
自己紹介 ヨウセイ 一般職からSPO・C#系へ。からPower Platform技術者へ。 主にシステム開発や技術支援をやっています。得意分野は以下です。 Power Apps キャンバスアプリ モデル駆動型アプリ Dataverse Power Automate Power Automate for Desktop SharePoint • BLOG:Power Apps Tips ログ (youseibubu.com) • Twitter:https://twitter.com /youseibubu • Qiita:https://qiita.com /youseibubu
【JPPGB】ゲーム作成コンテスト #0 – connpass パチスロアプリで、大賞とデザイン賞をいただきました! • BLOG:Po wer Apps Tips ログ (yo useibubu.com)
Teams の RSSコネクタ
Teams の RSS Teams のRSSコネクタで簡単に追加できます。 ・RSSのURLを先に確認 ★以下は英語版のURLを使いましょう Power Automate blogのRSSは RSS – Wikipedia 昔からあるサイトやブログ の更新情報を発信・取得で きる仕組み 特定の情報を収集するのに 便利 powerautomate.microsoft.com /en-us /blog /feed/ Power Apps blogのRSSは powerapps.microsoft.com/en-us /blog /feed / Power BI blogのRSSは powerbi.microsoft.com/en-us /blog /feed /
Teams の RSS Power Automate blogのRSS
Teams の RSS Teams のRSSコネクタで簡単に追加できます。 追加するチャネルを選択 アプリのメニューから RSSで検索
Teams の RSS Teams のRSSコネクタで簡単に追加できます。 好きな名前 確認したRSSの URLを指定する 好きな頻度
Teams の RSS タイトルと概要、リンクが表示 最初はいっきに? 以降、ダイジェストの間隔で次の 投稿が追加される(あれば) Power 系は英語しかない 管理画面で編集可能
不満。。 Power系のBLOGだと英語なのでわかりずらい。。 なのでぱっと頭に入ってこない。 ※日本ページもあるけど中身英語
Power Automate で カスタム! 翻訳したい! テンプレートを使ってサクッと! 翻訳入れる、Teams投稿に変えるの2か所をカスタム
Power Automate で カスタム Power Automate にRSSのテンプレートあります(いっぱい) ドキュメント RSS - Connectors | Microsoft Learn
Power Automate で カスタム ダイジェストで毎日(更新あれば)投稿したいので このテンプレートをベースに調整しました。 【毎日のRSS フィードのニュースのダイジェストを取得する】 ↓はダイジェストじゃ ないので今回は使わず
Power Automate で カスタム 以下が作成されます(ところどころ英語版ですが) フロー名はRSSの内容に合わせて 変えましょう。 ざっと中身は 毎日1回、前日公開されたものを 取ってきて15件までをテーブル形 式でレイアウトして通知。 ※件数調整可能
実行タイミングの調整 実行タイミングは日本時間の任意の時間で毎日。 ※月~金にすることも可能だが、取得部分を調整しないと取れない記事も出てくる 毎日9時 平日9時 平日のみにする場合、金曜日 の投稿が取れないので曜日に よって取得範囲の調整が必要
RSSのURLを指定 Power AutomateのRSS URLを指定します ここを指定するだけ この辺は基本そのままでOK 公開日時が動いた時刻から2 日前以降のものでフィルタ adddays(utcnow(), -2) ※最初に古いものも取りた い場合に調整したりする
翻訳を差し込む はいの中のComposeの次のアクションの追加で 「Microsoft Translator V2 テキストの翻訳」アクションを追加します。 メモ:Apply eachは15回までになっている @{take(body('Filter_array'),15)}
翻訳を差し込む テキストの翻訳 を追加してタイトルの翻訳設定をします。 ※ApplyeachのTitleが出てこないのでComposeにあるtitleをコピーして貼り付けるな どで対応します。 項目 設定値 ターゲット言 語 日本語 テキスト @{items('Compose_th e_links_for_each_blog _post')['title']} ソース言語 英語 カテゴリ テキストの種 類 plain
翻訳を差し込む テキストの翻訳 をもうひとつ追加して概要の翻訳設定をします。 翻訳API (プレミアムなしで使えます) APIキーなしでも1 日 /55,000 文字、1 分/ 100 リクエストまで無料で使えます。 Microsoft Translator V2 - Connectors | Microsoft Learn 項目 設定値 ターゲット言 語 日本語 テキスト @{items('Compose_th e_links_for_each_blog _post')['summary']} ソース言語 英語 カテゴリ テキストの種 類 plain
翻訳を差し込む composeアクションを下にもっていきタイトル(title)と概要 (summary)を翻訳したものに差し替えます。 その他書式なども変更したけれ ば調整
Teamsへ投稿に変更 元のNotificationアクション(Send an email)を削除して チャットまたはチャネルでメッセージを投稿するに変更(ひとまず) 項目 設定値 投稿者 ユーザー OR BOT 投稿先 Channel OR GroupChat Teams 対象のチーム Channel 対象のチャネル Message <table>@{join(outputs(' Compose'),'')}</table> Composeを結合したもの をテーブルタグで囲みHTMLで設定 ※元々からh2タグをなくした
Teamsへ投稿に変更 一旦以下の数字を-2 → ‐100等に調整し以前の記事も取るようにして 動作を確認する。 →バッと一覧が投稿されるはず。 1日前以降の投稿しか取れないの で最初だけ調整。 確認後は戻す!
Teamsへ投稿に変更
そのままだと日付がないのとタイトルが小さい、位置変えたいので
少しカスタム
<tr><td style="color: #777777;">Posted at @{formatDateTime(item()?['publishDate'],
'yyyy/MM/dd HH:mm')} GMT</td></tr><tr><td><h5><a
href="@{items('Compose_the_links_for_each_blog_post')?['primaryLink']}">@{body('テキスト
の翻訳')}</a></h5></td></tr><tr><td>@{body('テキストの翻訳_2')}</td></tr>
Teamsへ投稿に変更 以下のようになります。(動作確認後は取得日付は戻しておく) タイトル、概要が翻訳されているので入ってきやすい! リンク先は英語ページなので ブラウザの翻訳でみればOK
まだちょっと不満。。 標準のRSSコネクタと同じで毎 日スレッド単位の投稿になり、 どんどん増えていくので、 場所取る。他のRSSと混在する。 (Apps,Automate、BIなど) タイトル付けないと区別付かな い。後で追いにくい。 →RSSごとにチャネルを作りた くなる(それでもいいけど) →同じチャネル内に専用スレッ ドを作って追記する形で投稿し たい!
Power Automate で カスタム! スレッド化したい! (同じ会話に返信)
スレッド化 まずはスレッドを作り投稿します。 リンクをコピーしてURLからメッセージIDなどを確認。
スレッド化 URLからparentMessageIdを確認します。 これらを次のアクションに設定します。 ※テナント、グループも以下からID指定も可能 https://teams.microsoft.com/l/message/19:e4295995ed0c4 [email protected]/1690508887030 ?tenantId=38febd93-f1c3-4a59-895c-dbe48040985f &groupId=6acf2de6-fcd4-49d1-bd8a-e5f7bda033f9 &parentMessageId=1690508887030 &teamName=Microsoft&channelName=AutomateRSS&create dTime=1690508887030&allowXTenantAccess=false
スレッド化 昔はこれがなく、別アクション でUserしか選べなかった。。 Automateに戻ってTeamsアクションを変更 【チャネル内のメッセージで応答します】 項目 設定値 投稿者 User OR BOT 投稿先 Channel Message ID 取得した parentMessageId Teams 対象のチーム Channel 対象のチャネル Message <table>@{join(outputs ('Compose'),'')}</table >
スレッド化 そうすると投稿に返信する形で追記していくことが出来ます。 作ったスレッドに追記されて いく
スレッド化 これだとひとつのチャネル内に複数のRSSのスレッドをたてて 内容別にまとめられて、折り畳まれるので場所取らずうれしい。 Power Apps Power Automate 複数のRSSをならべて スレッドごとに見れるし 折りたたまれるので場所も 取らない。 見たいのを展開すればよし。 後で情報を追いやすい。
ちなみに以前は・・ 自分が作成したころ(2年半位前見たとき)は「チャネル内のメッセージ で応答」はなく、「メッセージへの返信の投稿V2プレビュー」でした。 これの場合はBotは選べずUser(作った人)の返信しか対応していない かった。そのためヨウセイの投稿としていました。(お客先現場で) 今見たら、アクション で出てこず、Docでは 非推奨となっていた。
これで万事OK! しばらくたって、、
また不満が。。 ① 通知をオンにしてイイネをしてね。の運用しているが、あま り見てない(多くはみてないORイイネしない) ② 自分の投稿だと自分には通知が来ない ※Botだと来るかも? ③ なんかあいつちょーしこいてんなーと思われているんじゃな いかと疑心暗鬼になってくる。だから見てないのか?とか (自分の名前で通知するフローが多い人あるある?)
そこでウルトラC 思いつきました!
ウルトラC(死語) 技術とひと、 デジタルとアナログを 組み合わせて解決しよう!
仲いいえらいひとに声かけ やあ部長、ちょっ とお願いがあるん だけども。。 なになに?
仲いいえらいひとにお願い フローだけど部長から 発信してくんない? 自分の通知が来ないの が困るのよねー。 いいよー。
えらい部長 えらい部長
仲いいえらいひとをほめる 部長! 部長が発信してたら みんなちゃんとみるよ うになったよー! ほかもおねがいね! そうなんだー! それはいいねー!
ウルトラC(死語) フローの接続をえらいひとのに 変えてもらう。(コピーOR共有)
ウルトラCの効果 ① 部長からだから部内のメンバーの見る率あがった! ② 自分にもちゃんと通知が来るようになった! ③ 部長がやっているので自分が疑心暗鬼にならないですむ! さらに! ④ えらいひとを巻き込んでなんか色々進めやすくなる! ⑤ えらいひとも自分が関わってるので興味もってくれるし、 なんだかうれしい!はず。
ウルトラC(死語) フローの接続をえらいひとの に変えてもらおう。 ※えらいひとはそもそもAPIコール 少ないでしょうし影響なさげ。 ライセンスも必要なら用意されるでしょう
おしまい RSS以外にも定期的な通知をやるフローなんか でお願いするといいですねー! 内容にあわせて課長や部長、役員、社長 にお願いしちゃいましょうー。 技術とひと、デジタルとアナログを組み合わせて 課題を解決しましょう(笑) それでは!