0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Power Automate】Slack投稿をトリガーにしてフローを実行する方法

Last updated at Posted at 2025-06-17

note_Thumnail (1280 x 670 px).png

はじめに

本記事では、Slack上の特定のチャネルへの投稿をトリガーにしてPower Automateフローを実行する方法をご紹介します。

前提事項

・Power Autoamte上のSlackコネクタには、Slackの投稿を検知してフローを開始するようなトリガーは存在しない

・本記事で紹介するフローには「HTTP 要求の受信時」トリガーが含まれているため、Power Automate Premiumライセンスが必要である

活用事例

・Slackに投稿された情報を、Teamsにもリアルタイムで通知する(アラート情報の展開 等)

・Slackにフロー実行用チャネルを作成し、該当チャネルにチャット投稿をすることでPower Automateの画面以外からフローを遠隔実行する

実装方法

Slack上の特定のチャネルへの投稿をトリガーにしてPower Automateフローを実行し、かつ投稿内容をTeamsに連携する処理を実装してみます。

■ Slack上のアプリ設定

1.Slackのアプリ管理画面に移動

1.png

2.「ビルド」 > 「Create New App」をクリック

2.png
3.png

3.「From scratch」をクリック

4.png

4.任意のアプリ名・アプリを構築するワークスペースを指定

5.png

5.「OAuth & Permissions」に移動

6.png

6.「Scopes」 > 「Bot Token Scopes」に「channels:history」をスコープとして指定 

※トリガー対象となるチャネルがパブリックの場合は「channels:history」を指定 
※トリガー対象となるチャネルがプライベートの場合は「groups:history」を指定
7.png

7.ワークスペースにアプリをインストール

8.png
9.png

8.「Event Subscriptions」 > 「Enable Events」を「On」に変更

10.png

■ SlackアプリとPower Automate間のチャレンジパラメーター検証

※ SlackからPower Automateのフローを実行するには、Slack側からサーバー(=Power Automate)にHTTPリクエストを送信しますが、その前段階として、Slack側がサーバーの正当性を確認しておく必要があります。正当性を確認するためには、Slackがチャレンジパラメータを含むHTTPリクエストをサーバーに送信し、サーバー側は同一のチャレンジパラメータをSlackに返す必要があります。この検証が成功して初めてフローが実行できるようになります。

9.Power Automate > 「HTTP 要求の受信時」トリガーを以下の通り設定

・メソッド:POST

・メソッド:application/json

11.png

10.「JSON の解析」アクションを以下の通り設定

・Content:「HTTP 要求の受信時」トリガーから生成される「本文」

12.png

・「サンプル ペイロードを使用してスキーマを生成する」 :Slack公式サイトで公開されているサンプルJSON

{
  "token": "Jhj5dZrVaK7ZwHHjRyZWjbDl",
  "challenge": "3eZbrw1aBm2rZgRNFdxV2595E9CY3gmdALWMmHkvFXO7tYXAYM8P",
  "type": "url_verification"
}

参考:

13.png

14.png

11.Slackから受信したものと同一のチャレンジパラメータを返すよう「応答」アクションを設定

・本文:

{
  "challenge": 「JSON の解析」アクションから生成される「Body challenge」
}

15.png

12.フローを保存後、「HTTP 要求の受信時」トリガーの「HTTP URL」をコピー

16.png

13.Slack > 「Event Subscriptions」 > 「Enable Events」 > 「Request URL」にコピーしたURLをペースト

・ペーストするとPower Automateフローが実行されます。

・Power Automateから正常にチャレンジパラメータが返されるとステータスが「Verified」に変わります。

17.png

18.png

・チャレンジパラメータ検証完了後はPower Automateの「応答」アクションは削除して問題ありません。

※本フローの場合、「応答」アクションは、Slackがサーバーの正当性を確認するためにのみ使用しており、実フローでは不要のため

19.png

14.「Event Subscriptions」 > 「Subscribe to bot events」 に「message.channels」を追加

※トリガー対象となるチャネルがパブリックの場合は「message.channels」を指定
※トリガー対象となるチャネルがプライベートの場合は「message.groups」を指定

20.png

■ フロー実行に向けた設定

15.トリガー対象となるチャネルに作成したアプリを追加

21.png

22.png

16.トリガー対象チャネルに任意の投稿をおこないフローが実行されることを確認

・正常実行が完了すると投稿内容は「event.text」に格納されます

23.png

24.png
※[注意]Power Automateの仕様で「HTTP 要求の受信時」トリガーが「manual」に自動で名称変更されています。

17.出力結果をもとに「JSONの解析」アクションのスキーマを更新

25.png

26.png

18.Teamsへの通知機能を追加

・「JSONの解析」アクションから出力された「Body Text」を選択することで、Slack投稿内容を使用できます。

27.png

■ 実行

19.Slackのトリガー対象チャネルに任意の投稿をおこない、TeamsにSlack投稿内容が通知されることを確認

28.png

まとめ

いかがでしたでしょうか。

本記事でご紹介した方法を活用することで、Power Automateのライセンスを保有していないユーザーでも間接的にPower Automateフローを実行できるようになります。これにより、さまざまな活用方法が広がり、業務効率化に大いに役立つことでしょう。ぜひ、この組み合わせを活用して、業務自動化の一歩を進めてみてください!

株式会社ITSOでは一緒に働く仲間を募集しています。

私たちは、真のデジタル変革の実現を目指すハイパーオートメーションカンパニーです。

「ITの力で未来の働き方をデザインし、人と企業の価値をリデザインする」ことをミッションに、先進的なハイパーオートメーションの技術を通じて、世界中の個人や組織がより多くの成果を達成できるよう支援しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?