Slackでスタンプを付けたらNotion DBに反映されるような仕組みを作る
本日は Slack にスタンプを付けると Notion のデータベースに Slack の内容が保存されるという仕組みの構築方法を解説したいと思います。
これ、メチャメチャ便利で、うちの会社でもフル活用している仕組みなんですが、主に何に使っているかというと、エンジニアリングの開発で使用しています。Sentry というツールで通知された Slack メッセージにスタンプを付けて、Notion に不具合チケットとして起票するという仕組みを運用しています。
エラー通知を Notion に起票する以外にも、自分専用のスタンプを作って、Slack 上での会話の中で生まれたタスクの起票だったり、忘れちゃいけないメッセージにスタンプを付けるだけで、自分用のメモが Notion 上に自動で取れる仕組みを構築できたりします。
本題に入る前に少し事前知識として、フロー情報・ストック情報についての話をさせてください。(既に知ってるよ!という方は読み飛ばしてもらって構いません)
まず、フロー情報について。フロー情報とは、時間が経つにつれて流れていく情報のことで、例としては、会話やメール、チャットなどが挙げられます。今回解説する Slack もフロー情報の一種です。
一方で、ストック情報とは、アーカイブされて蓄積される情報です。 例えば、企画書やプロジェクト概要・タスク管理データベースなどのドキュメント類がこれに該当します。
「あれ?この前こんな仕事を Slack で依頼された記憶があるんだけど、どこだったっけかな〜」と Slack をさかのぼったりしてしまった経験、みなさんはないでしょうか。これは、フロー情報を扱うツールである Slack を、ストック情報の参照先としても使ってしまっていることが原因です。
フロー情報とストック情報を適切に分けて管理してやることで、個人の仕事もチーム全体の仕事もスムーズになり、生産性が向上すると僕は考えています。
今日の記事のタイトルは「フロー情報をストック情報に変換する仕組みを構築した」と言い換えることもできるかなと思います。
それでは実際に、構築方法の解説に移りたいと思います。設定自体は10分もかからずで完了するかと思います。
今回紹介する Notion と Slack の連携は Notion API という仕組みを使って作られています。Notion API は誰でも無料で使用可能で、使い方を知ればより自由に、自分だけのアプリケーションを作ることが可能です。Notion API について詳しく知りたいという方は、以下のリンクを参考にしてみてください。
Zapier を使って自動化する
今回のワークフローの設定には Zapier というツールを使っています。Zapier はノーコードツールで、コードを書くことなく、さまざまなアプリケーションの連携を自動化してくれるツールです。
制限こそあるものの、Google アカウントさえあれば登録できて、基本無料で使えるので、気軽に使用可能です。
Zapier の基本としては、Trigger と Action と呼ばれるものをそれぞれ設定して、何かが起きたら(Trigger)、何かを実行する(Action)という仕組みを組んでいきます。今回は Trigger に Slack スタンプ、Action に Notion にデータ追加、という仕組みを構築していきます。
Trigger の設定
まず、Trigger の設定です。
検索 Box から Slack と検索すると、Slack が表示されるので、それを選択します。
Slack のどんなイベントをトリガーにするのかを選択します。イベントとは、Slack 上で起きるさまざまな操作(投稿やチャンネル作成等)のことを指します。今回はスタンプを付けるというアクションなので、New Reaction Added を選択してください。
次にアカウントを選択します。Slack に紐付いているアカウントを選んでください。もし初回の設定の場合には、Slack と Zapier を紐付ける設定が必要になります。(ここの操作に関しては指示通り進んでいくだけなので割愛します)
Reaction 欄にどのスタンプを付けたときに、アクションを発火させるのかを選択します。今回はオリジナルで作成した「起票(kihyou)」というスタンプを付けたときの設定をしたいので、検索して該当のものを選んでください。
さいごに対象となるチャンネルを選択します。起票スタンプが付いたかどうかを監視するチャンネルです。僕たちの場合は Sentry のエラー通知用のチャンネルを選択しています。
これで Trigger(Slack 側)の設定は完了です。
Action 側の設定
続けて、Action(Notion 側)の設定をしていきます。
まず、連携するアプリケーションから Notion を選択します。
イベントを選択します。今回はデータベースにアイテムを追加したいので、 Create Database Item
を選択します。
アカウントを選択します。初回は連携する必要があります。今回は会社用の Notion アカウントと紐付けを行いました。
アイテムを追加するデータベースを選択します。今回は「プロダクトバックログ DB」を選択しました。
プロダクトバックログ DB のどのプロパティに、Slack 上のメッセージを入力するのかを記入していきます。下記のスクショは僕たちの会社の設定例なので参考にしてみてください。
最後に Test Action 内から送信テストをします。テストして、チェックが付いたら成功です。
本日は Zapier を使った Slack → Notion の自動化について解説しました。
バグチケットの起票に限らず、使い方次第で応用が効く仕組みだと思うので、ぜひみなさんも試してみてください。