ワークフロービルダーで Slack の分報チャンネルを省エネ運用する

# はじめに

みなさん、分報してますか？
Twitter 大好き人間の私は分報が大好きです。Internal な話題をバンバン話せる Twitter 感覚で使っています。

一方で、私は DM があまり好きではありません。可能な限りオープンなチャンネルでのコミュニケーションを望みます。
そのため、DM は基本的に分報チャンネルか，その他の適切なチャンネルに誘導しています。

# 分報とは

基本的には，以下の記事で説明されているとおりです。
http://c16e.com/1511101558/
https://note.com/vaaaaanquish/n/ncc512cf0e263

主に Slack などのコミュニケーションツールにおいて、「自分のいまやっていること」「自分の困っていること」などを投稿するためのチャンネルを指します。

オープンなチャンネルで行うことで、以下のような効果があるとされています。

- 学びの共有
- 疑問・詰まっていることの可視化
- コミュニケーションの透明性向上などの効果

## DM を分報チャンネルに誘導する際の問題

私は、DM を分報チャンネルに誘導する際、自分から invite はしません。
これは「チャンネルに入るも入らないも自由であるべきだし、どうしても DM でないと困る人もいる」という考えがあるからです。
なので、

> 「この DM でのやりとり，できれば #～～（分報チャンネル） でしませんか？」

というレベルの言い方しかしていません。

その結果、その人が分報チャンネルに入ってくれた際に，
>「このチャンネルって結局なんなんだろう？要件が済んだら抜けてもいいのかな・・・？」

という、いらぬ心配や疑問を誘発します。

そして生まれるのが、こういった疑問への回答を**どこに書くか問題**です。
これをチャンネルの**トピック**や**説明**に書いてもいいのですが、読まない人もいることを考えるとベストとは思えません。

# 歓迎メッセージでチャンネルの目的を伝えよう 

そこで、Slack のワークフローを使って，新しくチャンネルに入った人へメッセージを自動的に送信するようにしました。

## ワークフロービルダーとは

昨年10月にリリースされたSlackの機能です。
パーツを組み合わせるだけでSlack上にフォームやBotのように動くものを作れます。

なお、ワークフロービルダーは**フリープランでは利用できません**。

> ワークフロービルダーは、Slack ユーザーがカスタムのワークフローを作成して日常的な業務の自動化を実現するまったく新しいビジュアルツールです。わずか数分で、以下のようなタスクがシームレスに実行できるようになります。
>
> ・チームからのリクエスト収集方法を標準化
> ・システム障害をリアルタイムで報告
> ・歓迎メッセージで新メンバーが素早く業務に馴染めるようサポート
> 
> 引用元: https://slackhq.com/intl-ja-jp-automate-tasks-in-slack-with-workflow-builder

上記の"**歓迎メッセージ**"を活用し、新しくチャンネルに入った人へメッセージを自動的に送信します。

## 歓迎メッセージの設定方法

ワークフロービルダーの使い方、設定方法などは[こちら](https://qiita.com/kazushi_iizuka/items/5cd9c3bb0bde9803cac0)で詳しく説明されているので、ここでは歓迎メッセージの設定方法のみを説明します。

### 1. ワークフロービルダーを開く

ワークスペース名をクリックした際に表示されるメニューの「ツール→ワークフロービルダー」からワークフロービルダーを開きます。
ブラウザで利用されている場合は、`https://app.slack.com/workflow-builder/ワークスペースID` からも利用できます。

開くと、以下のような画面が表示されます。
ここでは、自分が作成したワークフロー、もしくは自分が編集者として追加されているワークフローが表示されています。

![スクリーンショット 2020-06-24 15.16.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/7ca9e8cb-8e1b-3060-507b-d14ea769aef1.png)

右上の「**作成**」をクリックして、新しいワークフローを作成します。

### 2. 新規ワークフローを作成する

#### 2.1. ワークフローの開始トリガーに「チャンネルの新しいメンバー」を指定する

「**作成**」をクリックすると、以下のような画面が表示されます。
これは、ワークフローを開始するトリガーを選択するものとなります。
今回は、歓迎メッセージを設定するので、「**チャンネルの新しいメンバー**」を選択します。

<img width="533" alt="スクリーンショット 2020-06-24 15.06.30.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/ec082c95-36af-aa40-5866-3352fcc36346.png">


#### 2.2. 対象のチャンネルを選択する

「**チャンネルの新しいメンバー**」を選択すると、対象となるチャンネルを選択する画面が表示されます。
今回は、自分の分報チャンネルへの歓迎メッセージを設定するので、自分の分報チャンネルを選びます。

<img width="532" alt="スクリーンショット 2020-06-24 15.06.42.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/a38b7a46-df86-7573-2860-a34b4c8dc3b2.png">

チャンネルを選ぶと、以下のような画面になります。
このワークフローは、まだ起動するトリガーを設定しただけですので、メッセージは送信されません。

![スクリーンショット 2020-06-24 15.07.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/895f2fc3-6cc5-b686-ccfc-f9517e698ec3.png)

#### 2.3. メッセージを送信するステップを追加する

送信するメッセージを設定しましょう。
先程の画面の下部にある、「**ステップを追加**」をクリックすると、以下のポップアップが表示されます。
メッセージを送信するので、上の「**メッセージを送信**」の「**追加**」をクリックします。

<img width="531" alt="スクリーンショット 2020-06-24 15.07.11.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/993ee078-3af3-22ba-7360-013ee1d45c35.png">

#### 2.4. メッセージの送信先と内容を編集する

「**メッセージを送信**」の「**追加**」をクリックすると、引き続き以下のようなポップアップが表示されます。

<img width="530" alt="スクリーンショット 2020-06-30 18.08.07.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/1ed117c6-e59a-e879-179c-2d6c6e2c1c94.png">

まず、メッセージの送信先を選択します。「メッセージを送信」において指定できる送信先は以下の3つです。

- 任意のパブリックチャンネル
- 自分が参加しているプライベートチャンネル
- 任意のメンバーへのダイレクトメッセージ

「チャンネルの新しいメンバー」をワークフローのトリガーに指定した場合、送信先として以下の2つが追加されます。

- 参加しているチャンネル
- チャンネルに参加したメンバー

今回はこちらの「**参加しているチャンネル**」を選択します。

<img width="530" alt="スクリーンショット 2020-06-24 15.07.50.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/a0c0e75e-e18b-7433-105e-83832f55d3ed.png">

次に、送信されるメッセージを設定します。

<img width="530" alt="スクリーンショット 2020-06-24 15.07.50.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/248f96b0-8f57-6e78-27bc-4242ed49e280.png">

「**変数を挿入する**」から、「**チャンネルに参加したメンバー**」を選ぶと、参加した人へのメンションを設定できます。

<img width="530" alt="スクリーンショット 2020-06-24 15.08.00.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/f374305b-1f1a-068f-e4da-c2911f42c720.png">

私は、以下のようなメッセージを設定しています。
チャンネルの目的と、来る者拒まず去る者追わずのスタンスを説明しています。あと、誰が入ったかすぐに知りたいので、自分にもメンションを飛ばすようにしています。

「次へ」（場合によっては「保存する」）をクリックして、メッセージの設定を完了します。

<img width="530" alt="スクリーンショット 2020-06-24 15.08.00.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/a0d4f4d6-89f8-c558-e244-c746970edae7.png">


### 3. ワークフローを公開する

この画面に戻ってくるので、右上の「**公開する**」ボタンをクリックします。
これによって、最初に指定したチャンネルにワークフローが設定されます。

![スクリーンショット 2020-06-24 15.09.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/a9b7ffb3-277b-b8b3-2ce0-882e9bfe5a6c.png)

正常に設定されると、指定したチャンネルに以下のような通知が送信されます。

![スクリーンショット 2020-07-03 16.23.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66988/4b838760-cda5-b5a8-c103-dfd560e3e20f.png)

### 4. 新しい人がチャンネルに入ってくるのを座して待つ

あとは新しい人がチャンネルに入ってくるのを座して待ちます。
お疲れさまでした。