この記事は、ニフティグループ Advent Calendar 2023 20日目の記事です。
はじめに
こんにちは、IWSです。
Yotutubeで配信している NIFTY Tech Talk では運営の方からYoutubeの枠を作成してほしいという依頼を受けるときにNotionのデータベースを活用し、こういったタイトル、概要欄にしてほしいというのを書いてもらっています。その際、Zapierを使って作成依頼が来たことが分かるようにSlackに通知をしています。
今回はこの通知をどうやって作っているかを書いていこうかなと思います。
Zapierとは
Notionのプロパティを読み取ってSlackに通知を行うのにZapierを使っています。
Zapier は複数のサービスやアプリと連携するワークフローをノーコードで作成できるサービスです。今回扱うNotionやSlack以外にもGoogle Workspaceや、Githubなど様々なサービスとの連携が行なえます。
今回はZapierで簡単な以下の処理を作りたいと思います。
- Notionのプロパティで「新規」が付いたら実行
- タイトルとURLを取得してSlackのチャンネルにメッセージで送信
Zapier
まずは、あらかじめNotionにデータベースを作っておきます。
今回はプロパティのステータスが「新規」になったときにSlack通知をしてもらうので、そのプロパティを作成しておきます。

では早速Zapierを触っていきましょう!
Zapierのダッシュボードを開いて Create Zap
を押すとZap(ワークフロー)の作成画面が開きます。
最初はTriggerとActionの2つが配置されていると思います。

まずはTriggerから「プロパティのステータスが【新規】になったとき」のトリガーを作っていきましょう。
Triggerを選択するとどのサービスをトリガーとして使用するかが選べるので中からNotionを選択します。そうするとNotionのどのイベントをトリガーに使うか選べるので「Update Database Item」を選択。

Account, Triggerの項目ではNotionのどのアカウント、ページをZapで使用するか選んでいきます。
Notionの自分のアカウントとの紐づけ画面に移動するのでChoose
→ Connect a new account
で画面に従っていきましょう。Zapierで使いたいページにチェックするのを忘れずに、うまく行っていればTriggerの項目で使いたいDBの名前が表示されていると思います。

ここまでできたら最後に Test
から使いたいDBのアイテムが取れているかを確認しましょう。
ステータス:新規 に設定した オンライン勉強会#4 がばっちりとれていますね!

ここで忘れずにZapier のトリガーに使いたい条件のアイテムを選択しておきましょう(今回はステータスが新規になっているもの)、後ほどテスト実行の際に使用します。もし作っていなければ右下のペンマークからテスト用のデータを作ることもできます。
Continue with selected record
を押すとChange Action
のメニューが表示され、次になにを行うかを選ぶことができます。今回はFilterを選びましょう。

Filterではどの条件のときにZapを実行するかを設定できます。
今回はステータスに「新規」が付いたら実行してほしいので以下のように設定しました。

AndやOrでより複雑な条件を指定することもできます。
設定ができたらContinueからフィルターのテストをしましょう!先程選んだテストデータを使いフィルターのテストを行うことができます。

テストデータにフィルターがマッチしたらOKです!
フィルターが完成したらいよいよSlackへ通知を送信する部分を作成しましょう!Continueを押すとまたChange Actionが出るので一覧からSlackを選んで追加します。

どういうEventを発生させるかを聞かれるので今回はメッセージの送信ができる Send Channel Message
を選びます。

AccountタブではNotionのときと同じ用に Connect a new account
からリクエストを許可します。

Actionタブでは送信先のチャンネル、送信メッセージの内容などを設定できます。
メッセージにはNotionのURLやタイトルなども含めることができるので色々試してみてください。
使用できるフォーマットはこちらのページにまとめられています。
https://help.zapier.com/hc/en-us/articles/8496025607181
というわけでシンプルに自分へのメンションとページのタイトル、URLで作ってみました

今回は使用しませんが、他にもスレッドへの投稿、画像の添付、スケジュール投稿など細かい設定ができるので触ってみてください。
最後にきちんとSlackに届くかテストをしてみましょう
どうですか?Slackにメッセージが届いたでしょうか?

まとめ
今回はZapierでSlack、Notionの簡単なZapを作ってみました。Zapierは思いつき次第でもっと便利なものを作ることもできます。ぜひ一度Zapierを触ってみてください!この記事を読んでZapierに興味を持ってもらえればとてもうれしいです。
また、NIFTY engineering には他にもZapierについての記事が投稿されています。Zapierについてもっと知りたくなった方はぜひそちらもご覧ください!
明日のニフティグループ Advent Calendar 2023は @yCola さんです。お楽しみに!