株式会社TEMPのロゴ画像

Slackでスタンプを付けたらNotion DBに反映されるような仕組みを作る

↗︎ Notion に登録する(無料)

本日は Slack にスタンプを付けると Notion のデータベースに Slack の内容が保存されるという仕組みの構築方法を解説したいと思います。

これ、メチャメチャ便利で、うちの会社でもフル活用している仕組みなんですが、主に何に使っているかというと、エンジニアリングの開発で使用しています。Sentry というツールで通知された Slack メッセージにスタンプを付けて、Notion に不具合チケットとして起票するという仕組みを運用しています。

起票スタンプを押す
作成者 Zapier でチケットが起票される

エラー通知を 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 のどんなイベントをトリガーにするのかを選択します。イベントとは、Slack 上で起きるさまざまな操作(投稿やチャンネル作成等)のことを指します。今回はスタンプを付けるというアクションなので、New Reaction Added を選択してください。

New Reaction Added を選択

次にアカウントを選択します。Slack に紐付いているアカウントを選んでください。もし初回の設定の場合には、Slack と Zapier を紐付ける設定が必要になります。(ここの操作に関しては指示通り進んでいくだけなので割愛します)

アカウントを選択

Reaction 欄にどのスタンプを付けたときに、アクションを発火させるのかを選択します。今回はオリジナルで作成した「起票(kihyou)」というスタンプを付けたときの設定をしたいので、検索して該当のものを選んでください。

「起票(kihyou)」を検索して選択

さいごに対象となるチャンネルを選択します。起票スタンプが付いたかどうかを監視するチャンネルです。僕たちの場合は Sentry のエラー通知用のチャンネルを選択しています。

チャンネルを選択する

これで Trigger(Slack 側)の設定は完了です。

Action 側の設定

続けて、Action(Notion 側)の設定をしていきます。

まず、連携するアプリケーションから Notion を選択します。

連携アプリケーションを Notion にする

イベントを選択します。今回はデータベースにアイテムを追加したいので、 Create Database Item を選択します。

Create Database Item を選択

アカウントを選択します。初回は連携する必要があります。今回は会社用の Notion アカウントと紐付けを行いました。

アカウントの紐付けをおこなう

アイテムを追加するデータベースを選択します。今回は「プロダクトバックログ DB」を選択しました。

プロダクトバックログ DB を選択

プロダクトバックログ DB のどのプロパティに、Slack 上のメッセージを入力するのかを記入していきます。下記のスクショは僕たちの会社の設定例なので参考にしてみてください。

プロパティをマッピングする

最後に Test Action 内から送信テストをします。テストして、チェックが付いたら成功です。

チェックが成功

本日は Zapier を使った Slack → Notion の自動化について解説しました。

バグチケットの起票に限らず、使い方次第で応用が効く仕組みだと思うので、ぜひみなさんも試してみてください。