はじめに
突然ですが、みなさんはPower Automateのこのオプションは何に使うんだ?と思うことありませんか。別に使い道のわからない機能の一つや二つ、あっても困ることはありませんが、最近「この場面でめっちゃ便利やん」という発見があったのでちょこっと紹介です。
Slackコネクタのよくある使い方
コネクタの中でも特にSlack連携は定番で使いやすいですよね。基本的には「メッセージの投稿」アクションを使い、Power Automate経由で様々な通知をSlackに流すという使い方が多いと思います。その中でもメンションをつける機会も多いと思います。
Power AutomateからSlackにメンション付きメッセージを送るときは<>
でSlackのユーザー名を囲んであげることで、メンションを送ることができましたね。
(参考:Power Automate×Slack連携で、メンションを作成する方法 | cloud.config Tech Blog)
<@tanaka.taro>
通知テストです。
しかし、特定のチームに所属しているメンバーなど複数の人にメンションをつけようと思うとどんどん長くなってしまい面倒です。
<@tanaka.taro> <@tanaka.jiro> <@tanaka.saburo> <@tanaka.shiro>
チーム田中に通知テストです。
こんなとき、Slackを少し使ったことがある方は「ユーザーグループやカスタムレスポンスを使うと良いのでは?」と思われるかもしれません。(※ユーザーグループは有料プランのみ)
ところが、Power Automateからユーザーグループやカスタムレスポンスを使おうとしても反応してくれないのです…(泣)
「ユーザーとして投稿する」オプション
それではPower Automateからカスタムレスポンスを使うことは叶わないのでしょうか。
上で書いたカスタムレスポンスが反応しない現象の心は、Slackが全てのメッセージの送信者をワークスペースのメンバー(人)からかボットからかで区別しているからです。(ソースコードを見ると search_exclude_bots
というラベルがあるっぽい)
ヘルプページの中でも「あなたが選択したユニークな言葉やフレーズをメンバーが使用すると」と書いています。
ここでやっと本題です。
Slackコネクションの「メッセージの投稿」アクションにはいくつかオプションがありますが、その中に「ユーザーとして投稿する」というものがあります。このオプションの存在には以前から気づいていたのですが、いつ使うのかとずっと疑問に思っていました。使い道は確かに色々ありそうですが、その一つがカスタムレスポンスを使いたいときでした。
実際にこのオプションを使い、「おはよう」と投稿したら「ハロー」と返すカスタムレスポンスを発火させたのが下のキャプチャです。
これで通知するグループのメンバーに変更があったときも、Slackの管理のみで完結するようになり保守性が高くなりました🎉
ここまで読んでいただいた方はもうお気づきかもしれませんが、この方法でユーザーとしてメッセージを投稿するときはユーザーグループも使えるということですね。
まとめ
「Botではなくユーザーとしてメッセージを送る = カスタムレスポンスが使える」というのを最近知ったので紹介しました。
Slackはメンバーかボットかで挙動を区別しているところが他にもいくつかありそうで、全て確かめたわけではありませんがスラッシュコマンドなんかもその一つだと思います。そのため、うまくこのオプションを使えばあんなことやこんなことができそうですね…!
こういったサービスを使うとき、先に目的(作りたいもの、実現したいこと)があって、後にその手段やツールを探すことが多いと思いますが、たまにはこの機能を使うと何ができるんだ?どういうシチュエーションでこの機能が活きるんだ?と考えてみるのも面白いなと感じました。
以上です!
参考
- Slackbot 入門 | Slack
- slack-go/slack | Github
- Slack のスラッシュコマンド | Slack
- Power Automate×Slack連携で、メンションを作成する方法 | cloud.config Tech Blog