【初心者向け】RPA Power Automate Desktop Slackにメッセージを送る

Power Automate Desktop RPA

RPA_PowerAutomateDesktop_Slackへメッセージを送る

こんにちは!!Apachanです。

今回はPower Automate DesktopからSlackにメッセージを送るフローを作成します。

リモートワーク増加が影響しているのかも知れませんが、ここ最近Slackに限らずChatworkやTeamsなどのチャットツールの導入が増えてきています。

業務上のRPAとの連携も数多く考えられますので、基本的な利用方法は知っておくと何処かで役に立つこともあるでしょう。

目次
1.前提
– 作成するフロー
– 想定利用シーン
– 事前準備
– 身につくこと
2.Slack Webhookについて
– Webhookとは?
– Webhook発行パターン
– Webhook発行手順
3.Power Automate DesktopからSlackにメッセージを送る
– Web サービスを呼び出します
– パラメーターの設定
– 実行結果
4.まとめ

前提

作成するフロー

今回はPower Automate DesktopからHTTPリクエストを使ってSlackにメッセージを送付するフローを作成します。

Power Automate DesktopからSlackへメッセージ送信

Slackにメッセージを送信する場合、手作業では当然ブラウザやソフトウェアを起動する必要がありますが、HTTPリクエストを利用する場合はブラウザやソフトウェアを起動する必要は一切ありません

また、一般的にはHTTPリクエストを利用する場合の方がフロー実行途中でエラーが少ないとされています。
Slackに限らずSaaSサービスは全般的にこのような機能を提供されています。

想定利用シーン

指定したチャンネルに様々な情報をメール同様の送信することができるため、定型連絡を自動化したり、RPAの実行結果をSlackに送付することもできます。

事前準備

Power Automate Desktopで新規フローが作成できるように準備してください。

メッセージ送信先のSlackのワークスペースやチャンネルは既にある前提で進めさせていただきます。
必要であれば無償で利用可能なフリープランのSlackワークスペースをご用意ください。

また、メッセージの送信先として必要なSlackにて取得するWebhook URLについては、次の節で詳しく説明させていただきます。
Webhook URLの取得方法を知っている方は「Slack Webhookについて」はスキップしていただいてOKです。

身につくこと

Power Automate Desktopのアクションを利用してHTTPリクエストを送る処理が理解できます。
今回はSlackを具体例として進めていきますが、Slack以外のSaaSサービスでも同様の仕組みを活用できる可能性があります。

Slack Webhookについて

Webhookとは?

ざっくりとしたイメージですが、WebhookはSlackの特定チャンネルにメッセージを送信するための仕組みをさします。

メッセージを送付する際はPOST形式HTTPリクエストと決められており、リクエスト先のURLはWebhook URLと呼ばれます。

この当たりを深堀りすると話が大きく逸れる可能性があるため何となくのイメージを持っていただければ問題ありません!

Webhookの理解は以下Qiitaの記事など参考にしてください。

Webhook発行パターン

Webhookを発行する方法は下表の通り3パターンあります。

パターン 利用可能プラン 説明
カスタムインテグレーション フリープラン かんたんに設定できるが現在Slack者の方から非推奨とされています。
SlackApp フリープラン やや複雑だがフリープランの推奨はSlackAppの一択となります。
ワークフロービルダー スタンダード以上 最もかんたんに発行できるがフリープランでは利用できません。

1つ目のカスタムインテグレーションは下図のように非推奨とされており、2つ目のSlackAppが推奨とされています。

また、3つ目のワークフロービルダーはかんたんに設定できるものの、有償のスタンダード以上のプランのみ利用に限定されます。

したがって、今回は2つ目のSlackAppにて説明を進めさせていただきます

カスタムインテグレーションincomingwebhook

Webhook発行手順

① Slackアプリをつくる

以下リンクよりSlackアプリを作成します。

https://api.slack.com/apps

Create New App」を押下してください。

01_SlackApp_アプリを作る

以下手順で設定を進めてください。
※ From an app manifestは現時点BETAなので説明から除外します。

02_SlackApp_設定①

アプリ名と対象ワークスペースを選択して「Create App」を押下してください。

03_SlackApp_設定②

② Slackの特定チャンネルに連携するWebhookを発行

Create App」押下後に下図のような画面が表示されます。
下方向へスクロールしてください。

04_SlackApp_webhook設定①

Incoming Webhooks」を押下してください。

05_SlackApp_webhook設定②

Active Incoming Webhooks」を off → onへ切り替えてください

06_SlackApp_webhook設定③

下方向へスクロールしてください。

07_SlackApp_webhook設定④

Add New Webhook to Workspace」を押下してください。
いよいよWebhook URLの発行となります。

08_SlackApp_webhook設定⑤

メッセージを投稿するSlackのチャンネルを選択してください。
適当なチャンネルを事前に作成お願いします。

09_SlackApp_webhook設定⑥

処理に成功すると「Success!」のメッセージが画面上部に表示されます。

10_SlackApp_webhook設定⑦

下方向へスクロールして、先ほど追加したWebhook URLをコピーして保存しておいてください。
のURLはPower Automate Desktopでフローを作成する際に必要となります。

11_SlackApp_webhook設定⑧

以下形式のURLとなります。
認識の相違がないように念のためご確認ください。

https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXX

③ アプリ情報変更

必須ではありませんが、アプリの表示情報を変更することもできます。
左ペインの「Basic Information」を押下してください。

12_SlackApp_アプリ情報変更①

下方向へスクロールするとアプリの表示上の情報を変更することができます。

■ 変更可能情報
① アプリ名
② アプリの説明
③ アプリアイコン
④ 背景色

13_SlackApp_アプリ情報変更②

今回は下図のように情報を変更して保存します。

14_SlackApp_アプリ情報変更③

Power Automate DesktopからSlackにメッセージを送る

Web サービスを呼び出します

Webhook URLが取得できたのでフローを作成していきます。
適当なフロー名を付けて「作成」を押下します。

01_フロー作成_新規

今回利用するアクションは「Web サービスを呼び出します」のみです。

前提の通り、今回はHTTPリクエストを利用してSlackにメッセージを送ります。

ブラウザやソフトウェアを起動する必要もなければ、メッセージをテキストボックスに設定して送信する必要もありません。

02_フロー作成_Webサービスを呼び出します

パラメーターの設定

以下のようにパラメーターを設定してください。

下図の①~④に対応した説明となります。

意味が分からなくともテンプレ的に流用することは可能です。

① URL

先ほど取得したWebhook URLをこちらへ入力してください。

② メソッド

POSTを設定してください。
POSTとGETはよく目にするので、イメージだけおさえておいた方がいいでしょう。

GET ・・・ インターネット検索、サーフィンなどサーバーに対してコンテンツを要求するリクエスト
POST ・・・ Slackメッセージ送付、フォーム送信などサーバーDBに対して何らかの変更があるリクエスト

細かい違いは以下リンクを参考にしてください。

③ 受け入れる/コンテンツタイプ

JSON形式で設定するため以下のように設定してください。

application/json

④ 要求本文

以下のような形式でメッセージは設定してください。
プログラミング経験者が馴染みがありますが、未経験者は一旦お作法ということで割り切った方が良いでしょう。

{“text”: “Slackに送りたいメッセージはこちらに設定”}

03_フロー作成_パラメーター設定

私自身数時間ハマったポイントです。
詳細」の中の設定で、要求本文がエンコードされる仕様となっていましたのでエラーの解消に苦慮しました。
要求本文のエンコードは on→offに変更してください

パラメーターの設定が終わったら、忘れずに保存もしてください!

03_フロー作成_パラメーター設定_詳細

04_フロー作成_要求本文の設定変更前

05_フロー作成_要求本文の設定変更後

実行結果

正常にアクションが反映したのでフローを実行させます。

06_フロー実行

処理自体はおそらく1秒程度で完了します。

フロー変数を見ると情報が更新されていますので確認してみてください。

ステータスコード200というのは、リクエストに成功したことを意味します。

ステータスコードの詳細は以下リンクを確認してください。

07_実行結果

Slackを確認すると、無事に設定したメッセージが送付されていました。

08_Slackへのメッセージ反映

まとめ

Slackへのメッセージ送信を自動化することは業務上よくあります。

工程で言うとメインの処理が終わった後のラストワンマイルといったところでしょうか。

しかし、インターネット上でPower Automate Desktopを使ったSlackへのメッセージ送信の情報ソースは多くはありません。

今回のPower Automate DesktopからSlackへのメッセージ送信が読者の皆さまの参考になれば幸いです。

Apachan

約10年間の代理店営業を経験した後にITに興味を持ちプログラミングを習得。営業で培ったコミュニケーション力を活かしつつ、様々な現場の業務改善に日々奮闘中。
RPAに限らず、SaaSやGAS, VBAなど手段はクライアントの方と考えながら進めます。
RPAやプログラミング関連の書籍も執筆しました。
お仕事のご相談などお気軽にtwitterDMまでご連絡ください。

関連記事