🦊

Slackであちこちのチャンネルに投稿された読みたい情報が流れてしまう問題を解決する

2021/01/24に公開

現状の課題

みなさんはSlackをお使いでしょうか?
私も色々なプロジェクトに参加しており、数十ものワークスペースにサインインしています。

さて、Slackはコミュニケーションツールとしてはとても便利なのですが
あちこちのチャンネルに記事の紹介や情報が流れてしまうと後で追いかけるのが大変じゃないですか?

「一週間ぐらい前にどこかで見た気がするんだけどなー…」(あちこちのチャンネルをポチポチ)
(15分経過)
「…スレッドの中だったわ…」

とか頻繁に発生しています。
記事を投稿する人は自分用のメモとしても他の人にも読んでもらいたいから投稿しているのに、それを後から探すのが大変。
かといって、全てのSlackメッセージをどこかに避難させるのも違う。
じゃあ興味がある投稿をコピーしてGoogleドキュメントに貼り付けて…。も面倒ですよね。

私みたいな面倒くさがりで継続できない性質の人間は、もっと手軽にメモとして残しておきたい。
そして読んだか読んでないかがわかるようにしたいし、読んだとしてもまたどうせすぐ忘れるので後で振り返れるようにしたい。

課題の洗い出し

  • 手軽に
  • まとめられる
  • 読んだかどうかわかる
  • 読んだ後も残しておける
  • 他人が投稿したのも残せる
  • 複数のチャンネルで使える
  • 複数のワークスペースで使える

解決策

Slackの投稿をいちいちコピーするのも面倒なので、スタンプ(Reaction)をしたらその投稿の内容とSlackに投稿されたURLをどこかに保存できないかと考えました。URLも付いていればスレッドでの会話も後で追いかけれるようになります。

また、まとめるにはSlackのDMでも良いかと思いましたが読んだかどうかとか、カテゴリで分けたいとかでてきそうです。さらにSlackの無料版だとメッセージ投稿数も馬鹿になりません。かといって消してしまったら後で振り返られません。

では別サービスに連携するのはどうか。
ステータスを管理できて、カテゴリも付けられて…となるとタスク管理ツールが良さそうです。
ぱっと思い当たるのはTrelloですが、Trelloは色々と有料プランにしないと使いづらかったりします。
最近はClickUpというツールがシンプルで高機能なツールが無料で使えるのでこちらに連携できないか試してみます。

https://clickup.com/

  • 手軽に
    • スタンプで手軽に運用
  • まとめられる
    • タスク管理ツールにタスクとして登録される
  • 読んだかどうかわかる
    • TODOやCompleteなどレーンに分けられる
  • 読んだ後も残しておける
    • Completeに残る
  • 他人が投稿したのも残せる
    • 他人の投稿したものもスタンプで拾える
  • 複数のチャンネルで使える
    • SlackBotを作ってもよい
  • 複数のワークスペースで使える
    • 同じスタンプを別のワークスペースに登録してトリガーとして使える

Slack<->連携ツール<->ClickUp

で実現できそうです。

連携ツールの選定

連携ツールといえばZapierが有名ですね。非常に使いやすく、わかりやすいのでプログラムがわからない方でも手軽に自動化できます。
ただ、Zapierは有料プランにしないと機能制限が厳しい。そして有料プランはミニマムで月2,000円~。個人で使うにはとてもお高い。
IntegromatもUI的に優れており、有料プランが月900円~なのでお求めやすいのですが、Slackのスタンプをトリガーにすることができないことが判明。

今回実現したい内容としては非常にシンプルなのでZapierの無料プランでできるか試してみます。

作ったもの

Slackの投稿にメモスタンプをするとClickUpの後で読むリストへTODOとして登録されていきます。

https://twitter.com/40balmung/status/1352980883460919296

作っていきましょう

トリガーとなるSlackのスタンプを作成

スタンプを作成するにはSlackのワークスペースに投稿する必要があります。
自分でテキストを作ったり画像を投稿したりとちょっと手間なのですが、最近はかんたんにスタンプが作れてワークスペースに登録できるサービスがあるのでそちらを利用しました。

https://emoji-gen.ninja/

ここでは「メモ」というスタンプを作成し、追加したいワークスペースへ登録します。

登録する絵文字は日本語も設定できますので、シンプルな名前にするのがおすすめです。

ClickUpの設定

ClickUpに登録していない方は登録しましょう。仕組みはいっしょなのでTrelloなど別のタスク管理ツールでも大丈夫です。

https://clickup.com/

ClickUpの良いところはリストに対して様々な視点で確認できるところです。
一覧として並べたり、カンバンのようにステータスごとに並べたり、期限を設定していたらカレンダーで見れたり、サブタスクをマインドマップにしたり。

また、複数のスペースやリストをまとめて横断的に見ることもできます。プロジェクト管理としても便利なので試したことがない方はぜひお試しください。

Trelloだとちょっと何かやろうと思うとサードパーティ製のツールを入れたりユーザーごとに課金が走ったりと結構コストが掛かるので最近はClickUpでタスク管理しています。

今回はClickUpでの手順です。
後で見てねスペースを作り、TODOレーンにタスクとして追加されるようにします。
すでにスペースがある場合はスペースを作らなくても大丈夫です。

Zapierの設定

これで

  • トリガーとなるSlackのスタンプ
  • 投稿先となるClickUp

の設定ができました。次に、これをZapierで繋げていきましょう。

Zapierのアカウント作成

Zapierのアカウントを作っていない方はこちらから登録します。

https://zapier.com/

ZapierでZAPの作成

アプリ同士を連携する一つのシナリオをZapierでは「ZAP」といいます。無料版ではこのZAPが5つまで。今回はSlackのあるワークスペースからClickUpへ登録するZAPを作ります。別のワークスペースも同じように作ることはできますが、その場合1ZAP追加になりますので注意してください。

ではZAPを作っていきましょう。「Create ZAP」ボタンをクリックします。

Triggerの設定

ここでは「何を起点にしてZAPが動くか」を設定します。
今回は

  • Slackに投稿されたメッセージに
  • 作った「メモ」スタンプが押された

ときに動いてほしいので設定していきましょう。

1.トリガーにSlackを設定

![](https://storage.googleapis.com/zenn-user-upload/s9k9s43foiefvrygvwchjklzawu

1.Slackではスタンプを押されたときをトリガーにするので「New Reaction Added」を設定

1.Slackのアカウントを選択します

1.トリガーの詳細設定をしていきます

  • どのスタンプか
  • どのチャンネルか
  • どのユーザーか

を設定できます。指定しないと全て有効になる気がするのである程度絞り込みましょう。

  • どのスタンプか
    • 最初に作った「メモ」のスタンプ
  • どのチャンネルか
    • 全てのPublicチャンネルで有効にしたいので指定なし
  • どのユーザーか
    • 自分がスタンプを押したときだけにしたいので自分を指定

1.スタンプがちゃんと反応しているかテスト
「Test Trigger」を押してみます。もしエラーが出た場合は対象のSlackに「メモ」スタンプが押されていないのが原因です。なのでタスクとして登録したいSlackメッセージに「メモ」スタンプを押し、もう一度テストしてみましょう。「メモ」スタンプを押したSlackメッセージの詳細が取れていれば成功です。

これでトリガーとなるSlackの設定が終わりました。続いてActionではタスクとして登録するClickUpの設定していきます。

Actionの設定

Actionでは「何をするか」を設定していきます。

  • Slackに投稿されたメッセージを
  • ClickUpのタスクとして登録

という設定をしていきましょう。

1.ActionにClickUpを設定
ClickUpを検索し、Action EventにはCreate Taskを設定します

1.Actionの詳細内容を設定

ずらーっと出ていますが、上から順に見ていきましょう。

  • ワークスペースを設定
  • スペースを設定
  • フォルダーを設定
    • 今回は無いので「No Folder」を指定
  • リストを設定
    • 今回は特に作っていないのでデフォルトの「List」を指定
  • テンプレートを設定
    • 特に無いので空白
  • Task NameにSlackのメッセージを指定
    • ここは好みです
    • SlackのURLをタスク名にして説明文にメッセージ内容を入れてもいいかと思います
    • 私は毎回開くのが面倒なのでタスク名にそのままSlackのメッセージを入れました
    • Slack本体にも飛べるようにSlackのパーマリンクも埋め込みました
  • Task Descriptionに好きな内容を設定
    • 今回は空白
  • Markdown Contentを設定
    • MarkdownではないのでFalse
  • Assign Emailを設定
    • 不要なので空白
  • Assigneeを設定
    • 自分だけなので空白
  • Task Statusを設定
    • 「To Do」を指定
  • Tagsを設定
    • 今回は特に作っていないので空白
    • Slackとかわかるようなラベルを付けてもいいかもしれません
  • Priorityを設定
    • 特に無いので空白
  • Due Dateを設定
  • Start Dateを設定
    • 現在時刻の「now」を設定

これでActionの設定が完了です。

「Test Action」を実行して「メモ」スタンプを押したメッセージがClickUpのタスクとして登録されるか確認してみてください。

無事に登録されましたね!

最後に「Turn on ZAP」ボタンをクリックして有効化させましょう。
ダッシュボードでこのように登録されていれば完了です。お疲れさまでした!

別のワークスペースでも使いたい場合

ダッシュボードで作成したZAPをコピーし、Slackの別ワークスペースを設定しましょう。これで複数のワークスペースの情報をClickUpの一つのリストにまとめることができるようになります。

Twitterで気になる情報を見つけた場合

私は気になるTweetに「#あとで」を付けて引用RetweetするとClickUpのリストに登録されるようにしました。Zapierではフィルタを利用することで特定の文字が含まれている場合のみActionを実行することが可能です。こちらも試してみてください。

最後に

Slackは本当に便利なのですが情報がとっちらかってしまう経験、あると思います。ちゃんと管理できている人もいると思いますが、私のような物忘れが激しい人間は一つのタイムラインに全て集約されているほうが便利なので今回のようなツールを組み合わせて実現しました。
SlackBotなどプログラミングしなくても連携できるNoCodeツールはとても便利なので有効に活用していきたいですね。

Discussion