Teamsに業務に関する様々な情報が自動で集まってくると便利です。
この記事ではPower Automateを活用して株価の情報をTeamsに自動投稿する手順を説明します。
元となっている記事は以下です。
Power AutomateとTeamsの連携を勉強するのに良い記事ですが、以下のような問題があります。
- Excelのテーブルの情報が不十分
- 日本語でアクションをどう検索すれば良いのか分からない
- JSON解析の画像が間違っている
悩むことなく手順通りに分かりやすくまとめましたので、ぜひ実際にお試しください。
Excelファイルの準備
適当なチャネルにExcelファイルを作成してください。
Excelファイルには以下のようなテーブルを作成しておきます。
表にするだけでなく、必ずテーブルとして設定して、1行目に列名を設定することが重要です。
Teamsアプリ内で編集している場合は以下のアイコンでテーブルとして設定できます。
Excelで開いた場合は以下のアイコンでテーブルとして設定できます。
Power Automateでフローを作成
アプリランチャーやポータルからPower Automateをクリックします。
作成をクリックします。
「予定フローを作成」をクリックします。
フロー名や繰り返し間隔を設定する画面が表示されます。
以下の設定例を参考に設定し、「作成」ボタンをクリックします。(毎年と書かれているのは誤訳です。)
作成されました。「新しいステップ」をクリックします。
アクションを選択する画面が表示されます。
検索ボックスに「変数」と入力し、「変数を初期化する」をクリックします。
「変数を初期化する」のアクションが追加されました。
以下の設定例を参考に設定します。
「新しいステップ」をクリックし、検索ボックスに「行」を入力し、「表内に存在する行を一覧表示」をクリックします。
「表内に存在する行を一覧表示」のアクションが追加されました。
以下の設定例を参考に設定します。ファイルを設定する時には右側のフォルダアイコンをクリックします。
ここでJSONの解析に必要な情報を取得するためにテスト実行します。
テストは保存してからでないと実行できません。
まずは保存ボタンをクリックします。
テストボタンをクリックします。
「トリガーアクションを実行する」をクリックして、「保存&テスト」をクリックします。
「フローの実行」をクリックします。
フローが実行されました。「フロー実行ページ」をクリックします。
別タブが開き実行履歴を確認できます。該当する開始時刻のものをクリックします。
「表内に存在する行を一覧表示」をクリックします。
詳細な情報が表示されました。
出力の本文の1アイテム分をコピーします。メモ帳等に貼り付けておくと良いです。カンマを含めないようにしましょう。後のJSONの解析で必要になります。
参考までにちむの検証時のテキスト情報です。
{
"@odata.etag": "",
"ItemInternalId": "38b76e08-da27-4ad7-b1e4-fcf4a2822c13",
"Stocks": "MSFT"
}
元のタブに戻ります。
「新しいステップ」をクリックし、検索ボックスに「Apply」と入力し、「Apply to each」をクリックします。これは繰り返し処理を行うコントロールです。
「Apply to each」のコントロールが追加されました。
入力欄をクリックするとパラメータを挿入できますので、「value」をクリックします。
設定されました。「アクションの追加」をクリックします。
Excelの1行ごとに「Apply to each」の中でアクションを繰り返す形になります。
検索ボックスに「json」と入力し、「JSONの解析」をクリックします。
「JSONの解析」のアクションが追加されました。
コンテンツをクリックすると、パラメーターを挿入できるようになりますので、「現在のアイテム」をクリックします。
スキーマを設定するにはサンプルから生成するのがお勧めです。「サンプルから生成」をクリックします。
控えておいたテスト実行時のExcelの出力情報をペーストします。
ペーストされました。完了ボタンをクリックします。
スキーマが自動的に設定されました。
「アクションの追加」をクリックし、「組み込み」をクリックします。
アクション欄にある「HTTP」をクリックします。
Premiumプランが必要ですが、ライセンスがない場合は無料試用版が利用できます。「無料体験する」をクリックします。
「HTTP」のアクションが追加されました。
以下の設定例を参考に設定します。
コピー用のURIテキストです。
https://query1.finance.yahoo.com/v7/finance/chart/<ここにStocksのパラメーターを入れる>?&interval=1m
「アクションの追加」をクリックし、「JSON」で検索して、「JSONの解析」アクションを追加します。
コンテンツに「本文」のパラメーターを設定し、「サンプルから生成」をクリックします。
サンプルの挿入するために、以下のURLをクリックすると表示されるテキスト情報を全てコピーします。
サンプルとしてペーストし、完了ボタンをクリックします。
サンプルからスキーマが生成されました。
「アクションの追加」をクリックし、検索ボックスに「変数」と入力し、「文字列変数に追加」をクリックします。
「文字列変数に追加」のアクションが追加されました。
以下の設定例を参考に設定します。
入力している途中で以下のように「Apply to each」で囲まれますが、気にしないで構いません。
「新しいステップ」をクリックします。(アクションの追加ではありませんのでご注意ください。)
検索ボックスに「投稿」と入力し、「メッセージを投稿する」をクリックします。
「メッセージを投稿する」のアクションが追加されました。
以下の設定例を参考に設定します。
これでフローが完成しました。保存しましょう。
Power Automateのフローの実行結果
テスト実行したり、スケジュールされた時間が来ると以下のようにチャネルに投稿されます。
おわりに
これでPower Automateを使用して自動的にTeamsのチャネルに投稿する一連の流れが理解できたと思います。
あとは実際の業務で必要な情報を取得する方法を考えていただき、自動で業務に必要な情報が収集できるように仕組みを作ってみましょう。