Power Automate DesktopでSlackのメッセージを自動で検索して報告する方法

  • URLをコピーしました!

Power Automate Desktopは、デスクトップアプリケーションやウェブの自動化を簡単に行える強力なツールです。業務効率を上げるために、Slackで特定のメッセージを検索し、その結果を自動的に報告するワークフローを作成するのは非常に便利です。この記事では、初心者向けにPower Automate Desktopを使ってSlackのメッセージを自動で検索して報告する手順を丁寧に解説していきます。

1. Slack APIトークンを取得する

Slackのメッセージにアクセスするためには、Slack APIトークンが必要です。まずは、以下の手順でAPIトークンを取得します。

  1. SlackのAPIサイト(https://api.slack.com/apps)にアクセスし、新しいアプリを作成します。
  2. 作成したアプリの設定ページに移動し、OAuth & Permissionsのセクションで「Bot Token Scopes」にアクセスします。
  3. メッセージの読み込みに必要なスコープ(channels:historygroups:history など)を追加します。
  4. 「Install App to Workspace」ボタンをクリックし、ワークスペースにインストールします。
  5. OAuthトークンをコピーして、後ほどPower Automate Desktopで使用できるように準備しておきましょう。

2. Power Automate Desktopを起動する

次に、Power Automate Desktopを起動してフローを作成します。

  1. Power Automate Desktopを開き、新しいフローを作成します。
  2. 「Web APIの呼び出し」を行うアクションを使って、Slackのメッセージを検索するAPIリクエストを送る準備をします。

3. 「HTTPリクエスト」を使用してSlack APIに接続する

Power Automate Desktopには、APIとやりとりを行うための「HTTPリクエスト」アクションがあります。これを利用して、SlackのAPIに対してメッセージを検索するリクエストを送信します。

  1. 「HTTPリクエスト」アクションをフローに追加します。
  2. リクエストの設定は以下の通りにします。
    • メソッド: POST
    • URL: https://slack.com/api/search.messages
    • ヘッダー: 以下のヘッダーを設定します。
      • Authorization: Bearer [あなたのSlackトークン]
      • Content-Type: application/json
    • ボディ: 検索クエリを指定します。例として、特定のキーワードで検索する場合のボディは以下のようになります。
    jsonコードをコピーする{ "query": "検索したいキーワード", "count": 5 } この例では、指定したキーワードに一致するメッセージを最大5件取得するように設定しています。
  3. 実行後、レスポンスとして取得されたデータを変数に保存します。レスポンスの形式はJSONで返ってくるため、後ほどデータを解析する必要があります。

4. JSONレスポンスを解析して必要なデータを取得する

Slackから返ってきたレスポンスはJSON形式です。これをPower Automate Desktopで処理し、必要なメッセージ内容を抽出します。

  1. 「JSONを解析」アクションを使い、HTTPリクエストのレスポンスデータを解析します。
  2. JSONの構造に従い、messages フィールドに含まれる検索結果をループで処理します。
  3. 各メッセージのtextフィールドを取得し、報告用にリストにまとめます。

5. 結果をレポートとして出力する

取得したメッセージを、レポートとして出力します。Power Automate Desktopでは、ファイルへの書き出しや、メールでの送信が可能です。ここでは、メールで報告する方法を解説します。

  1. 「メール送信」アクションを追加します。
  2. メールの宛先や件名、本文を設定します。本文には、取得したメッセージのリストを挿入します。例えば、以下のように設定します。
    • 宛先: 自分または報告先のメールアドレス
    • 件名: 「Slackのメッセージ検索結果」
    • 本文:lessコードをコピーするSlackで検索したメッセージの結果です。 1. メッセージ1: [メッセージ内容] 2. メッセージ2: [メッセージ内容] 3. メッセージ3: [メッセージ内容]
  3. フローを実行して、Slackのメッセージ検索結果が自動的にメールで送信されることを確認します。

目次

よくある質問

Q1. Slack APIトークンはどこで管理すれば良いですか?

Slack APIトークンは、セキュリティの観点から安全に保管する必要があります。Power Automate Desktopの環境変数にトークンを保存するか、セキュリティソフトを使用して暗号化されたパスワードマネージャーで管理することをお勧めします。

Q2. 複数のチャンネルを検索したい場合はどうすれば良いですか?

search.messages APIは、ワークスペース全体で検索を行いますが、特定のチャンネル内で検索したい場合は、クエリにチャンネル名やIDを含めることができます。in:チャンネル名のように指定して検索クエリを調整しましょう。

Q3. 検索結果が多すぎる場合はどうすれば良いですか?

countパラメータを調整することで、取得するメッセージの数を制限することができます。デフォルトでは100件まで取得可能ですが、少ない件数を指定することで、必要な量だけを取得できます。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次