チームでNotionを使う場合、ページが作成・更新されたことを上手くチームメンバーに周知しないとなかなか気付いてもらえないこともあるかと思います。適切なタイミングでSlackなどのコミュニケーションツールでの自動通知を望む方も多いのではないでしょうか。→過去の回はこちらを参照。

Notionの標準機能の中にSlack連携機能はあります。ただし、Slack連携機能ではすべての更新に対して通知が飛ぶ仕組みとなっており、通知数が想定以上に多く煩わしくなることがあります。

標準のSlack連携機能の改善を待ちながらも、現時点で最適な方法は仕組みを自作することだと考えています。

【関連記事】
≪NotionのデータをGoogleデータポータルで可視化しよう - 前編≫
≪Notionで日報管理をしよう≫

第15回で紹介したMakeというツールを使うと、プログラムを書かずに、いわゆるノーコードでSlack通知の仕組みを作れます。Makeのアカウント登録およびNotionとのコネクション設定がまだの方は、過去の記事をご確認ください。

今回は、Makeを使ってNotionのデータから適切なタイミングでSlack通知するケースを2つご紹介します。

Slack通知する2つのケース

まず、Notionのデータベースを用意します。もしMakeとの連携を行なっていないデータベースの場合には、画面右上の「共有」からMakeのインテグレーションにデータベースへのアクセス権限を設定しましょう。

  • Notionがあなたのチームを強くする 第18回

    Makeにデータベースのアクセス権限を付与する

ケース1. 特定のページが作成されたときに通知する

新しいページを作成したときに自動でSlack通知する仕組みを作ります。

例:「毎朝9時に、新たに作られた日報ページを通知する」

最初のモジュールを作成します。Notionの「Watch Database items」を選択します。

  • Notionがあなたのチームを強くする 第18回

    Notionのモジュールを選択

Watch Database Itemsは「By created time」を選択し、データベースIDと上限数を設定します。

  • Notionがあなたのチームを強くする 第18回

    データベース情報を設定

2つ目のモジュールにSlackの「Create a Message」選択します。

  • Notionがあなたのチームを強くする 第18回

    Slackのモジュールを選択

Slack連携が初めての場合にはタイプが「Slack (bot)」のコネクションを追加しましょう。通知先のチャンネル、テキストを追加します。テキストの例はこちらです。

新しいページ「<{{1.url}}|{{1.properties_value.`名前`[].plain_text}}>」が作成されました!

  • Notionがあなたのチームを強くする 第18回

    Slack通知の設定

これで、モジュールの準備は完了です。

  • Notionがあなたのチームを強くする 第18回

    シナリオ全体像

データベースに新しいページを作成してこのシナリオを走らせると、Slackに通知が飛びます。

  • Notionがあなたのチームを強くする 第18回

    一度シナリオを走らせてみる

最後に、スケジュール設定をしましょう。毎朝9時にこのシナリオが動くようにします。

  • Notionがあなたのチームを強くする 第18回

    スケジュール設定

以上で「毎朝9時に、新たに作られた日報ページを通知する」の完成です。この仕組みを応用すれば、前の日に更新されたページなども通知することができます。

ケース2. 特定のプロパティを確認して通知する

特定のプロパティが条件に合致する/しないときに自動でSlack通知する仕組みを作ります。

例:「毎日17時に、今日の日報ページがまだ作られていないときにリマインドする」

最初のモジュールを作成します。Notionの「Search Objects」を選択します。

  • Notionがあなたのチームを強くする 第18回

    Notionのモジュールを選択

データベース情報と、フィルターをセットします。

  • Notionがあなたのチームを強くする 第18回

    データベース情報とフィルターを設定

フィルターは次のようにします。「今日の日付と合致する」というフィルターを作ります。

{{formatDate(now; "YYYY-MM-DD")}}

続いて、2つ目のモジュールにSlackの「Create a Message」を選択します。通知先のチャンネル、テキストを追加します。テキストの例はこちらです。

まだ今日の日報ページが作られていません!

  • Notionがあなたのチームを強くする 第18回

    Slack通知の設定

そして、NotionとSlackのモジュールの間にフィルターを追加します。Notionで今日のページがないときにSlack通知したいので、Total number of bundles Equal to 0という条件を設定します。

  • Notionがあなたのチームを強くする 第18回

    モジュール間のフィルター設定

これで、モジュールの準備は完了です。

  • Notionがあなたのチームを強くする 第18回

    シナリオ全体像

今日の日付のページがない状態でこのシナリオを走らせると、Slackに通知が飛びます。

  • Notionがあなたのチームを強くする 第18回

    一度シナリオを走らせてみる

最後に、スケジュール設定をしましょう。毎日17時にこのシナリオが動くようにします。

  • Notionがあなたのチームを強くする 第18回

    スケジュール設定

以上で「毎日17時に、今日の日報ページがまだ作られていないときにリマインドする」の完成です。この仕組みを応用すれば、社員データベースの中から今日誕生日の人を見つけて通知したり、今週1週間にやるべきタスクを月曜日の朝に通知したりすることもできます。

いかがでしたか。Notionのデータから適切なタイミングでSlack通知して、チームメンバーとのやり取りをより円滑に進めましょう。