組織（オーガナイゼーション）の壁に挑む！Slack コネクト時のユーザーグループメンションの代替案

# はじめに
みなさん　Slack コネクト使ってますか？
もしかしたらSlack コネクトを利用しているものの、Slack コネクトのユーザーグループの仕様上、組織（オーガナイゼーション）を超えたユーザーグループメンションができないことに対しお困りの方がいるかもしれません。今回はそれに対し一つの代替案がうまく回っているのでご紹介します。


# Slack コネクトとは
異なる会社・組織同士がSlack上つながって、安全かつスピーディに共同作業ができる環境として知られています。

https://slack.com/intl/ja-jp/connect


たとえば私の実施しているアジャイル開発・スクラムでは、顧客とベンダー、企画部門（プロダクトオーナー）と開発部門、パートナーとパートナーなど、様々な形でSlack コネクトを使うと便利なシーンが想定され、2020年に発表されてからもう数年経ちますが、個人的には直近2ヶ月で3か所ぐらい新たに繋いだりと、Slackの機能の中ではまだまだホットな機能の一つではないかなと思っています。

# Slack コネクト上での悩み
Slack コネクトを利用して組織（オーガナイゼーション）を超えた人と同じチャンネルやDMで直接やりとりできるのはとても嬉しいのですが、通常のチャンネルで出来ても、Slack コネクト上のチャンネルでは出来ないことがあります。それは・・・

**「組織（オーガナイゼーション）を超えたユーザーグループメンション」**

## ユーザグループとは
https://slack.com/intl/ja-jp/help/articles/212906697-%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B

>ユーザーグループをメンションすれば、グループ内にいるメンバー全員に通知できます。

ユーザーグループへのメンションは同じオーガナイゼーションの中では当たり前に使ってる方が多いのではないかと思います。個人ではなく、自由に設定できる特定のグループにまとめて通知を送れて超便利です。

たとえば、プロダクトオーナーXさんが同じオーガナイゼーションにいる開発メンバ全員に周知したかったら 
`@Aさん,@Bさん,@Cさん,...`と全員のメンションを毎回書くのではなく  
`@開発メンバ` みたいな一つのメンションで済むわけです。


## Slack コネクト上のユーザグループの制約 ##
しかしSlack コネクトでは以下の通り
> 注 :ゲストや Slack コネクトチャンネルでやり取りしているメンバーを、自分のオーガナイゼーションのユーザーグループに追加することはできません。また、それらのゲストやメンバーは、あなたが作成したユーザーグループをメンションすることはできません。`


つまり、
- 自分と同じオーガナイゼーションに所属している人だけのユーザグループしか作れない
- そのユーザグループは外のオーガナイゼーションの人は使えない

うーん困りました。

必ずしも当てはまるものではありませんが、異なる会社・組織はそれぞれお互いがお互いになんらか専門性や役割を求め、サポートし合う関係性になることも多いのではと思います。
たとえば最近私が接続したSlack コネクトでは、以下の役割の異なる組織（オーガナイゼーション）同士をくっつけています。
オーガナイゼーション1：**企画側** (スクラムにおけるプロダクトオーナー側)の組織
オーガナイゼーション2：**開発者側** の組織

同じオーガナイゼーションの例ではプロダクトオーナーXさんは`@開発メンバ`　で開発メンバ全員に通知できました。
しかし、今回のオーガナイゼーション1のプロダクトオーナーは`@開発メンバ`　で開発者全員にメンションできそうにありません。なぜなら、オーガナイゼーション2の人だけで構成される`@開発メンバ`というユーザグループはオーガナイゼーション2の人しか使えないからです。中の人と同様に外の人とも円滑な共同作業をしていきたいのに。

私たちのチームでも、ユーザーグループをずっと使い続けてきた人がSlack コネクトでこの仕様に出くわした途端、複数人を指定して通知をする作業がとても面倒な様子が見られ、チーム全体としてコミュニケーションの負担になっていることが明らかでした。

ということで、Slack コネクト環境におけるユーザーグループメンションに変わる代替案を試し、実際にうまく回っているものをご紹介します。

# 代替案 : 絵文字リアクションワークフロー

- Slackの絵文字リアクションワークフローを使って
- メッセージに特定の絵文字をリアクションしたら
- 特定のメンバーたちにメンションを投げる

というワークフローを作成する。以上です！(とても簡単)


ワークフローの作成について詳しい説明は省略しますが

https://slack.com/intl/ja-jp/help/articles/16583775096083-Slack-%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC%E3%81%A8%E3%81%AF

一番重要なのはこちら

https://slack.com/intl/ja-jp/help/articles/14844871922195-Slack-%E3%82%B3%E3%83%8D%E3%82%AF%E3%83%88%E3%83%81%E3%83%A3%E3%83%B3%E3%83%8D%E3%83%AB%E5%86%85%E3%81%AE%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC%E5%88%A9%E7%94%A8%E7%8A%B6%E6%B3%81%E3%82%92%E7%AE%A1%E7%90%86%E3%81%99%E3%82%8B

> Slack コネクトチャンネル内のすべてのメンバーが、そのチャンネル内で共有されているワークフローを使用できます

**ワークフローは Slack コネクトの組織（オーガナイゼーション）の壁を超えられるのです**

## 設定方法

開発者全員に通知するための絵文字リアクションワークフローを作っていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2514243/bf31d8a2-73b2-bfe7-700e-d34937519625.png)


絵文字リアクションを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2514243/72f3274c-6945-f5e4-aafb-8dcf2ab4fea1.png)

ワークフローを利用したいチャンネルを設定し、通知する時に利用したい絵文字も指定します。
開発者への通知なのでdev絵文字にしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2514243/41efde16-4a07-c071-7bea-e57c7a5d5c84.png)

dev絵文字でリアクションされた後のステップを追加します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2514243/85513b3b-b52f-433e-d2e3-395ff321a133.png)

開発者の全員分のメンションと、メッセージを添えます
- 後述しますがメッセージの送信先は　**スレッドにメッセージを投稿する**　がオススメ
- もちろんメンション相手は、コネクトチャンネル内の誰でもOK（どのオーガナイゼーションの人でもOK）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2514243/28183d6e-d2a9-219f-4c2f-82420f61e6e8.png)

設定を保存して、公開して完了！

## どんなふうに使うの？見えるの？
さっそくプロダクトオーナーになりきって、開発者全員にメッセージを伝えてみましょう。

伝えたいメッセージを投稿したら、絵文字リアクション（ここではdev絵文字）を自分でつけると、ワークフローが発動し、上で設定した通りスレッド内で指定のメンション（開発メンバのAさんBさんCさん宛）とメッセージが飛びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2514243/4611d8a3-35f1-0979-620d-2ec0fbeed4e2.png)

実際にこちらを導入してから1ヶ月半程度経つのですが、特に不評もなく利用できている点として、以下がありそうです。

- 通知時に絵文字リアクションするだけならそんなに手間ではない
- なんなら、リマインドする時にはもう一度リアクションすれば良いだけ
- メッセージに絵文字がついているので、どこの担当向けに通知しているのか分かりやすい（絵文字次第だが）
- メッセージのスレッド内でメンションが残るので、ごちゃごちゃしない（Slackbotだと別メッセージになったりしてしまう）
- 人の増減があった場合にはワークフローのメッセージを修正するのみでそこまで手間ではない
- Slack内の機能だけで完結しているので権限さえあれば誰でも構築、修正できる

注意点：
- Slack コネクトもワークフローも権限によってできることが変わったり、設定周りが色々ありますので、ハマった場合にはそちらもご確認ください

# おわりに
Slack コネクトもワークフローも割と利用していましたが、今回はコネクトの利用上の難点を補うためにワークフローを活用してみました。どちらも奥が深いので、引き続き色々遊んでみたいと思います！