Power Automateで会社に関する重要なニュースやWebサイトの更新を自動でTeamsに通知!

Power Automateで会社の重要なニュースやWebサイトの更新を自動でTeamsに通知!

 

日々の業務で、会社の重要なニュースリリースやウェブサイトの更新情報を見逃してしまい、後から慌てて確認する、といった経験はありませんか?広報部や経営層からの重要なアナウンス、顧客向けの製品情報更新、あるいは競合他社のウェブサイトの動きなど、タイムリーな情報把握はビジネスにおいて非常に重要です。しかし、これらの情報を常に手動でチェックするのは手間がかかりますし、見落としのリスクも伴います。

Power Automateを活用すれば、こうした会社に関する重要なニュースやウェブサイトの更新を自動的に検知し、皆様が普段利用しているTeamsに通知を届けることができます。


 

なぜニュースやウェブサイト更新の自動通知が大切なのか?

情報の洪水の中で、本当に必要な情報だけを効率的にキャッチすることは、現代のビジネスにおいて不可欠です。自動通知がもたらす具体的なメリットを見ていきましょう。

 

情報の見落としを防ぐ理由

手動でウェブサイトを巡回したり、ニュースサイトをチェックしたりする作業は、非常に手間がかかり、定期的に行うのは困難です。多忙な業務の合間では、ついつい確認を怠ってしまい、重要な情報を見落とすリスクが高まります。自動通知を導入することで、人が介在することなく情報が検知され、Teamsに直接届くため、見落としの心配が格段に減ります。

 

迅速な情報共有を促す理由

重要なニュースやウェブサイトの更新は、関係者全員が速やかに把握し、必要であれば対応を始める必要があります。手動で情報を見つけてからメールで共有したり、Teamsに投稿したりするのでは、タイムラグが生じてしまいます。自動通知は、情報検知と同時にTeamsへの投稿が完了するため、関係者間の情報共有を劇的に加速させ、迅速な意思決定や対応を可能にします。

 

業務効率を大きく高める理由

情報収集のために費やしていた時間と労力を、自動通知が肩代わりしてくれます。これにより、従業員は定型的な情報収集作業から解放され、より価値の高い分析や戦略策定といった業務に集中できるようになります。結果として、組織全体の生産性が向上し、人件費の削減にも繋がる可能性があります。

 

常に最新情報にアクセスできる理由

ビジネス環境は常に変化しており、競合他社の動向、業界ニュース、市場のトレンドなどは日々更新されます。自動通知によって、これらの最新情報が定期的に、あるいはリアルタイムでTeamsに届けられることで、常に最新の状況を把握できます。これにより、競合優位性を保ち、変化に素早く対応するための情報基盤を構築できます。


 

自動通知の準備をしよう

Power Automateで自動通知の仕組みを作る前に、いくつか確認し、準備しておくべきことがあります。これらを事前に整理しておくことで、スムーズに自動化の仕組みを構築できます。

 

通知したいウェブサイトや情報源を選ぶ

どのようなウェブサイトや情報源の更新を通知したいかを具体的にリストアップしましょう。対象によって、Power Automateで利用するトリガーやアクションが異なります。

  • 社内ニュースサイト/ブログ: SharePointのニュース機能やWordPressなどのブログシステム。
  • 自社ウェブサイト: 製品情報ページ、IR情報ページなど。
  • 特定の外部ニュースサイト/ブログ: 業界ニュース、競合他社のプレスリリースなど。
  • RSSフィード提供サイト: ニュースサイトやブログが提供しているRSSフィード。

 

通知を送るTeamsの場所を決める

検知したニュースや更新情報をどこに通知するかを決めます。

  • 特定のチャネル: 例えば、全社通知広報部連絡市場動向ウォッチといった専用のTeamsチャネルを作成し、関係者全員がそのチャネルに参加していることを確認します。
  • 特定の個人チャット: 経営層や特定の担当者の個人チャットに直接送ることも可能です。

 

通知メッセージの内容を考える

自動で送信される通知メッセージは、簡潔かつ分かりやすく、必要な情報が過不足なく含まれている必要があります。

  • 更新の概要: 「〇〇のウェブサイトが更新されました」「新しいニュースが公開されました」など。
  • 更新されたコンテンツのタイトル/概要: 可能であれば、更新された記事のタイトルやリード文を自動で取得して含める。
  • 元のコンテンツへのリンク: 必ず元のニュースやウェブサイトのページへの直接リンクを含める。
  • 日付/時刻: いつ更新が検知されたか。

 

Power Automateで自動化を設定しよう(基本編)

Power Automateを使ってウェブサイト更新の自動通知フローを作成していきます。まずは、最も一般的な方法である「RSSフィード」を使った通知の基本設定から見ていきましょう。

 

フローを作成する場所

Power Automateのウェブサイトにアクセスし、左側のメニューから「作成」を選択します。今回は、特定のイベント(RSSフィードの更新)が発生したときに自動的に実行されるフローを作成するので、「自動化したクラウド フロー」を選択します。

 

トリガーを設定する

フローのトリガーとは、「いつ」このフローを実行するかを決定するものです。ウェブサイトの更新を検知するために、「RSS フィード項目が公開されるとき (RSS)」というトリガーが最適です。


作成例:基本的なPower Automateフロー(RSSフィード更新をTeamsに通知)

ここでは、Power Automateを使った最も基本的なウェブサイト更新通知フローの作成手順をご紹介します。多くのニュースサイトやブログはRSSフィードを提供しています。

  1. Power Automateにサインインします。お使いのMicrosoft 365アカウントでPower Automateのウェブサイト(https://make.powerautomate.com/)にアクセスし、サインインします。
  2. 「作成」から「自動化したクラウド フロー」を選択します。左側のナビゲーションペインにある「作成」をクリックし、表示されるオプションの中から「自動化したクラウド フロー」を選択します。
  3. フロー名を指定し、トリガーを検索します。フロー名には「RSSニュース通知」など、分かりやすい名前を付けます。「フローのトリガーを選択してください」の検索ボックスに「RSS」と入力し、「RSS フィード項目が公開されるとき (RSS)」を選択して「作成」をクリックします。
  4. トリガーの詳細を設定します。
    • RSS フィード URL: 通知したいニュースサイトやブログのRSSフィードのURLを入力します。
      • ヒント: 多くのサイトでは、URLの最後に/feed/rss.xmlを追加すると見つかる場合があります。ウェブサイトのフッターやアイコン(RSSアイコン)を探すか、「サイト名 RSSフィード」で検索すると見つかることが多いです。例えば、https://news.yahoo.co.jp/rss/topics/top-picks.xmlのような形式です。
    • 間隔: RSSフィードをチェックする頻度を設定します。例えば、「1」時間ごとにチェックしたい場合は「1」と入力し、単位は「時間」を選択します。
  5. 新しいステップを追加し、Teamsにメッセージを投稿します。「+ 新しいステップ」をクリックします。検索ボックスに「Teams」と入力し、「チャットまたはチャネルにメッセージを投稿する (Teams)」を選択します。
  6. メッセージ投稿の詳細を設定します。
    • 投稿者:Flow bot」を選択します。
    • 投稿先:チャネル」を選択します。
    • チーム: 通知を投稿したいTeamsのチームを選択します。
    • チャネル: 通知を投稿したい特定のチャネルを選択します(例: 情報共有)。
    • メッセージ: ここに通知内容を記述します。動的なコンテンツ(RSSフィードからの情報)を挿入できます。

    メッセージの例:

    【ニュース更新のお知らせ】
    
    新しい記事が公開されました!
    タイトル: @{triggerOutputs()?['body/Title']}
    公開日: @{formatDateTime(triggerOutputs()?['body/PublishedOn'], 'yyyy/MM/dd HH:mm')}
    概要: @{triggerOutputs()?['body/Summary']}
    
    詳細はこちら: @{triggerOutputs()?['body/PrimaryLink']}
    

    補足:Titleは記事のタイトル、PublishedOnは公開日時、Summaryは記事の概要、PrimaryLinkは記事への直接リンクです。formatDateTime関数は、日付と時刻の表示形式を整えるために使用します。

  7. フローを保存してテストします。画面右上の「保存」をクリックします。保存後、「テスト」をクリックし、「手動」を選択して「テスト」をクリックします。補足:RSSフィードは手動テストが難しい場合があるため、実際にフィードが更新された際にフローが実行されるかを確認するのが確実です。古い記事を読み込まないよう、フロー作成後に新しい記事が公開されるのを待ちましょう。

    Power Automateのフロー実行履歴を確認し、正常にTeamsに通知が投稿されていることを確認します。


 

アクションを設定する

トリガーが発動したら、次に「何を」するのかを設定します。これがアクションです。

  • Teamsにメッセージを投稿する: RSSフィードの新しい項目が検知されたら、その情報を基にTeamsにメッセージを投稿するアクションを設定します。ここで使用するのは「チャットまたはチャネルにメッセージを投稿する」アクションです。
  • 投稿先の設定: 通知を送りたいTeamsの「チーム」と「チャネル」を正確に指定します。個人チャットに送りたい場合は「チャット」を選択し、受信者のメールアドレスを指定します。

 

通知メッセージのカスタマイズ

メッセージの内容は、動的なコンテンツを利用してRSSフィードから取得した情報(記事のタイトル、公開日、概要、リンクなど)を自動的に埋め込むことができます。

  • 記事のタイトル: Title
  • 公開日時: PublishedOn
  • 概要/説明: SummaryまたはDescription
  • 記事への直接リンク: PrimaryLinkまたはLink

これらの情報をメッセージ本文に適切に配置することで、受け取った人が一目で何のニュースか、どこに詳細があるのかを把握できるように工夫しましょう。簡潔さを保ちつつ、必要な情報を網羅することが大切です。


 

Power Automateで自動化を設定しよう(応用編)

基本編で作成したRSSフィードのフローをさらに便利にするための応用テクニックを見ていきましょう。RSSフィードがないウェブサイトの更新検知方法もご紹介します。

特定のキーワードを含むニュースのみ通知する

RSSフィード全体を通知するのではなく、特定のキーワード(例:製品名、企業名、業界用語など)を含む記事のみをTeamsに通知したい場合があります。


作成例:特定のキーワードを含むニュースのみ通知するPower Automateフロー

RSSフィードが更新された後、記事のタイトルや概要に特定のキーワードが含まれているかを確認する条件分岐を追加します。

  1. 基本編のフローを開きます。Power Automateの「マイ フロー」から、作成済みの基本編のフローを開きます。
  2. トリガー(RSS フィード項目が公開されるとき)の後に「条件」アクションを追加します。「+ 新しいステップ」をクリックし、「条件」を検索して選択します。
  3. 条件を設定します。この条件分岐で、記事のタイトルや概要に特定のキーワードが含まれる場合にのみ「はい」のパスに進むようにします。
    • 左側の値: 動的なコンテンツのリストから「タイトル」(RSSトリガーからの出力)を選択します。
    • 演算子:次の値を含む」を選択します。
    • 右側の値: 通知したいキーワードを入力します。例:「新製品
    • 複数のキーワードや条件を組み合わせる場合:「+ 追加」をクリックして「行を追加」または「グループを追加」を選択し、「または」条件で別のキーワードを追加したり、「AND」条件でタイトルと概要の両方に条件を設定したりできます。例:「タイトル」が「次の値を含む」新製品 または 「概要」が「次の値を含む」ローンチ補足:大文字・小文字を区別しない場合は、toLower()関数を使って両方の値を小文字に変換してから比較することも可能です。例:toLower(triggerOutputs()?[‘body/Title’])
  4. Teamsへのメッセージ投稿アクションを「はい」のパスに移動します。既存の「チャットまたはチャネルにメッセージを投稿する」アクションをドラッグ&ドロップで、新しく追加した条件分岐の「はい」のパスの中に移動させます。
  5. フローを保存してテストします。画面右上の「保存」をクリックします。RSSフィードが更新された際に、キーワードを含む記事のみがTeamsに通知されることを確認します。

 

RSSフィードがないウェブサイトの更新を検知する(HTTPアクションと条件分岐)

多くの企業ウェブサイトや特定のページにはRSSフィードが提供されていない場合があります。その場合、ウェブページのコンテンツの変化を定期的に監視することで更新を検知できます。


作成例:RSSフィードがないウェブサイトの更新検知Power Automateフロー

このフローは、ウェブページのコンテンツを定期的に取得し、前回の取得時と比較して変化があれば通知します。この方法は、ウェブページの構造に依存し、複雑になる場合があります。

  1. 新しいフローを「スケジュール済みクラウド フロー」として作成します。
    • フロー名:「ウェブサイト更新検知」
    • 繰り返し: フローを実行したい頻度を設定します。例:「1」時間、「時間」。
  2. 新しいステップを追加し、HTTPアクションでウェブページのコンテンツを取得します。「+ 新しいステップ」をクリックします。検索ボックスに「HTTP」と入力し、「HTTP」アクションを選択します。
    • 方法:GET」を選択します。
    • URI: 監視したいウェブページのURLを入力します。例:https://www.yourcompany.com/news/
    • ヘッダー(オプション): 必要に応じてUser-Agentなどを設定します。
  3. ウェブページのコンテンツから特定の情報を抽出します(コンテンツ解析)。ウェブページのHTML全体を比較すると、広告や動的な要素の変更で誤検知してしまう可能性があります。そのため、更新を検知したい特定の箇所(例:ニュース一覧のタイトル部分など)を抽出するのが望ましいです。これは非常に高度で、ウェブページのHTML構造に大きく依存します。
    • 「HTML からテキストを抽出する」アクション: (Content Conversionコネクタ)
      • コンテンツ: HTTPアクションの本文を選択。
      • HTML to text: CSS Selectorを選択し、特定の要素のCSSセレクターを入力します(例: div.news-list h2)。
      • 補足:CSSセレクターはブラウザの開発者ツールで確認できます。ウェブサイトの構造が変わると、このセレクターも変更する必要があります。
    • または、「JSON の解析」アクションや「変数を初期化する」アクションでテキスト操作関数(split, indexOf, substringなど)を組み合わせて、更新を検知したい要素のテキスト部分のみを抽出します。
  4. 抽出したコンテンツを前回と比較するために、SharePointリストなどに保存します。事前にSharePointリストを作成し、以下の列を追加します。
    • ウェブサイトURL (テキスト)
    • 最終コンテンツ (複数行テキスト)
    • 最終チェック日時 (日付と時刻)
    • 「アイテムの取得」アクション: SharePointリストから監視対象のURLに紐づく前回のコンテンツを取得します。
      • フィルタークエリ: ウェブサイトURL eq '監視したいURL'
    • 「条件」アクション: 前回のコンテンツが存在するかどうかをチェックします。
  5. コンテンツが変更された場合のみTeamsに通知し、SharePointリストを更新します。
    • 「条件」アクション(変更検知):
      • 左側の値: 現在取得したコンテンツ(例:HTMLから抽出したテキスト)
      • 演算子:次の値と等しくない
      • 右側の値: SharePointリストから取得した前回の「最終コンテンツ
    • 「はい」のパス(変更があった場合):
      • Teamsにメッセージを投稿します。
        【ウェブサイト更新検知】
        
        以下のウェブサイトに更新がありました!
        URL: @{outputs('HTTP')?['body/uri']}
        更新内容の概要: [ここに抽出した更新された内容の概要を記述]
        
        詳細はこちら: @{outputs('HTTP')?['body/uri']}
        
      • 「アイテムの更新」アクション: SharePointリストの「最終コンテンツ」と「最終チェック日時」を最新の情報に更新します。
    • 「いいえ」のパス(変更がなかった場合): 何もアクションを行いません。
    • 「いいえ」のパス(初回の場合): SharePointリストに「新しいアイテムの作成」で初回コンテンツを保存します。
  6. フローを保存してテストします。手動でテストを実行し、ウェブサイトが更新された際に通知が届くことを確認します。ウェブサイトのコンテンツを意図的に少し変更してテストすることも必要です。

 

特定の時間に定形レポートを送信する

毎朝、主要なニュースサイトのRSSフィードの最新記事をまとめてTeamsに投稿するといった、定期的なレポート機能も実装できます。


作成例:特定の時間に定形レポートを送信するPower Automateフロー

このフローは、指定した時間に複数のRSSフィードから最新記事を取得し、まとめてTeamsに投稿します。

  1. 新しいフローを「スケジュール済みクラウド フロー」として作成します。
    • フロー名:「デイリーニュースサマリー」
    • 繰り返し: フローを実行したい頻度を設定します。例:毎日、午前9時。
  2. 複数のRSSフィードから最新の記事を取得します。
    • 「RSS フィード項目が公開されるとき」アクション: (これはスケジュールフローなのでトリガーではなくアクションとして使用できません。代わりにHTTPやコネクタを使います。)
      • 正しくは: 複数のRSSフィードからデータを取得するには、それぞれに「HTTP」アクション(GETメソッドでRSSフィードのURLを指定し、XMLを解析)を使い、または「RSS」コネクタの「フィード項目をリスト表示」アクションなどを使用します。ただし「フィード項目をリスト表示」アクションは、指定したURLからすべてのフィード項目を取得し、新しいものだけをフィルタリングするロジックが必要になります。
    • 推奨されるアプローチ(HTTPとXML解析):
      • 「変数」アクション: 文字列型の変数を初期化し、通知メッセージを構築するために使います。
      • 「HTTP」アクション: 最初のRSSフィードURLに対してGETリクエストを送ります。
      • 「XML の解析」アクション: HTTPアクションの出力(XML)を解析し、タイトルやリンクなどの要素を取得します。
      • 「アプライ トゥー イーチ」と「条件」: 最新の数件の記事や、特定の期間内の記事のみをループ処理し、通知メッセージの変数に追加します。
      • これを繰り返して複数のRSSフィードの情報を収集します。
  3. 収集した情報をまとめてTeamsに投稿します。「チャットまたはチャネルにメッセージを投稿する」アクションを追加します。
    • メッセージ: 変数に格納した、整形済みのニュースサマリーをここに記述します。
  4. フローを保存してテストします。手動でテストを実行し、指定したチャネルにニュースサマリーが届くことを確認します。

 

エラー対策とトラブルシューティング

せっかく作ったフローも、エラーが出たら困りますよね。特に情報検知のフローは、確実に動作し続けることが求められます。よくあるエラーとその対策、そしてトラブルシューティングのポイントをご紹介します。

 

RSSフィードのURL変更や提供停止

ウェブサイト運営側の都合で、RSSフィードのURLが変更されたり、フィードの提供が停止されたりする場合があります。この場合、フローがエラーになったり、更新を検知できなくなったりします。

対策

  • 定期的なURLの確認: フローを構築した後も、定期的にRSSフィードのURLが有効か、そして実際に更新されているかを目視で確認しましょう。
  • エラー通知の仕組み: フローがエラーで失敗した場合に、自分自身や担当者にメールやTeamsでエラー通知が届くように設定することで、早期に異変を察知できます。Power Automateの「構成の実行後」設定で、失敗時に特定のアクションを実行するように設定可能です。

ウェブサイトの構造変更(HTTPアクション利用時)

RSSフィードがないウェブサイトをHTTPアクションで監視している場合、ウェブサイトのHTML構造が変更されると、CSSセレクターやJSONパスが機能しなくなり、更新を正しく検知できなくなることがあります。

対策

  • 変更に強い設計: 可能であれば、変更の可能性が低い要素(IDを持つ要素など)をターゲットにしましょう。
  • 定期的な動作確認: 定期的にフローが正常に動作し、期待通りの情報を取得しているかを確認しましょう。
  • エラー通知: 前述同様、エラー通知を設定することで、早期に構造変更を検知し、フローを修正できます。

 

通知が届かない(フローは成功しているのに)

Power Automateの実行履歴ではフローが「成功」しているのに、Teamsに通知が届かない場合があります。

対策

  • Teamsの通知設定: 受信側のTeamsで、Flow botからの通知がブロックされていないか、ミュートされていないかなどを確認します。
  • チャネル/チャットの選択ミス: 「チャットまたはチャネルにメッセージを投稿する」アクションで、意図したチャネルや受信者が正しく選択されているか、タイプミスがないかを再確認します。
  • 接続の正常性: Power Automateの「データ」→「接続」で、Teamsへの接続が正常に確立されているかを確認します。

 

フローの履歴と「実行後の構成」

エラーが発生した場合や、フローが意図通りに動作しない場合は、Power Automateのフロー実行履歴を確認することが最も重要です。

  • 手順:
    1. Power Automateの「マイ フロー」から、該当のフローを選択します。
    2. 実行履歴」タブをクリックします。
    3. 失敗した実行、または成功したものの動作が怪しい実行を選択すると、フローの各ステップがどのように実行されたか、どこでエラーが発生したか、そしてエラーメッセージの詳細を確認できます。
  • ポイント: 各アクションの「入力」と「出力」を確認することで、どのデータがどのように処理され、どこで問題が発生したのかを詳細に把握できます。特にHTTPアクションでウェブページを取得している場合は、取得したHTMLの内容を確認することが重要です。

 

セキュリティとアクセス管理

外部のウェブサイト情報を取り扱う場合や、社内向けの機密情報を通知するフローを構築する場合、セキュリティとアクセス管理は非常に重要です。誤送信や不正利用を防ぐための対策を講じましょう。

 

通知内容の適切性

外部のウェブサイトから取得した情報であっても、それをTeamsに通知する際は、その内容が社内共有に適しているか、著作権や利用規約に抵触しないかを考慮する必要があります。

  • 情報の選別: フローでフィルタリングを行い、公開しても問題ない情報のみを通知するようにしましょう。
  • 引用元の明記: 外部サイトの情報を引用する場合は、必ず元のリンクを明記し、情報源を明確にしましょう。

 

監視対象ウェブサイトの選定

HTTPアクションなどで外部ウェブサイトを監視する場合、そのウェブサイトが信頼できるものであることを確認しましょう。不正なコンテンツや不適切な情報源を監視しないよう注意が必要です。

DoS攻撃の回避: 短時間に大量のHTTPリクエストを送信しないよう、フローの実行頻度を適切に設定しましょう。相手のサーバーに過度な負荷をかけると、迷惑行為とみなされる可能性があります。

 

フローの作成と実行権限

重要な情報通知フローは、不用意に作成・実行できないように、適切な権限管理が必要です。

  • フロー作成者の制限: 重要なフローの作成権限は、特定のシステム管理者や限られたメンバーにのみ付与することを検討しましょう。
  • 共有の最小化: フローを他のユーザーと共有する際は、実行のみの権限に限定し、共同所有者としての共有は慎重に検討しましょう。

 

接続の管理

Power Automateで使用する各コネクタ(RSS、HTTP、Teamsなど)への接続は、慎重に管理しましょう。

  • 不要な接続の削除: フローの運用が終了したり、不要になったりした接続は、定期的に削除しましょう。
  • 定期的なパスワード更新: 接続で使用しているアカウントのパスワードは、定期的に更新することを検討しましょう。

まとめ

Power Automateを活用し、RSSフィードやウェブサイトの更新を自動的に検知してTeamsに通知する方法について、基本的な設定から応用、エラー対策、そしてセキュリティとアクセス管理まで、詳細に解説してきました。

この自動通知システムは、皆様が重要な情報をリアルタイムで把握し、迅速に共有できる環境を構築するための強力なツールとなるでしょう。手動での情報収集による見落としやタイムラグのリスクを排除し、常に最新の情報に基づいたビジネス判断をサポートします。情報のキャッチアップに費やしていた貴重な時間を、より戦略的な業務に充てられるようになるはずです。