iconはじめにネクストモードの南です。ネクストモードではZapierを社内の業務効率化に役立てています。今回はZapierとNotion/Slackを組み合わせて、Notionのデータベースに登録したアイテムを日付指定でSlackに通知するアプリを作ってみましたので、紹介させていただきます。以下がアプリの概要図となります。今回は社内アナウンスの用途で利用するケースを想定していますが、Notionのデータベースの構成などは利用シーンに合わせて変えてください。利用者はSlackに投稿したい内容を、Notionのデータベースにアイテムとして登録します。この際、投稿予定の日時も指定します。Zapierが起動したタイミングで指定した投稿日時を迎えており、かつ未投稿のアイテムがあればSlackチャンネルにメッセージを投稿します。今回のアプリですが、少し残念な点があります。以下のような感じで同じ投稿日時が指定された複数のアイテムが登録されている場合、1件のアナウンスしか処理されません。データベースに同じ[投稿予定日]が指定された複数のアイテムがあっても1回の実行では1件しかSlackに通知されない1回の実行でデータベースを繰り返しクロールして処理するような機構も検討したのですが、複雑&冗長になってしまい、あまり筋がいいものになりませんでした。妥協案として、アプリを1日に複数回実行する形にしてお茶を濁しています。(一度にまとめて通知できなくても、その日の内に通知ができればいいじゃないか、というやや安易な考えです。)Zapierの実行回数が多くなるのと、決まった時間にまとめて通知できないという課題はありますが、その分処理もシンプルになっています。今後筋の良さそうな解決策があれば、こちらの記事の内容も更新していきたいと思います。ワークフローZap(Zapierで作成したアプリ)のワークフローは以下のようになります。ステップを複数持つZapとなるため、Zapierで有料プランの契約が必要になることをご留意ください。Zapier]がワークフローのトリガーとなっており、スケジュールでZapを起動させています。今回は1時間毎にZapが起動する設定にしています。Notion]では、Notionデータベースで投稿対象のアイテムが存在するか検索処理をしています。今回はZapが起動したタイミングでプロパティの[投稿予定日]で指定された日時を迎えている、かつ未投稿のアイテムがある場合には後続の処理を続け、条件に合致しない場合は処理を終了する、という動作にしています。Slack]では、2.の条件に合致したアイテムからテキストメッセージを作成し、指定したSlackチャンネルにメッセージを投稿する、という処理をしています。Notion]では、投稿処理をしたNotionのアイテムについてプロパティの更新(メッセージの投稿日時を反映する)を行っています。構築手順ここからは構築手順を紹介していきます。Notion、Slackの準備まず、Notionでアナウンス内容を記載するデータベースを用意します。プロパティは以下の項目で作成しています。この内、タグ以外の項目はZapierと連携させるプロパティとなります。プロパティは利用用途に応じてカスタマイズをしてみてください。※Zapierとの連携はなく、任意の管理用途を想定データベースにはテスト用にアイテムを1つ登録しておきます。テスト用のアイテムの[投稿予定日]は、現在時刻より以前の日時を指定するようにしてください。[投稿日(自動入力)]には値を入れないようにします。続いて、Slack側でアナウンス通知用のチャンネルを用意します。今回はtest-announcementというパブリックチャンネルを用意しました。最初にZapのトリガーとなる起動スケジュールの設定をします。Zap]の順でクリックして新しいZapを作成します。Zapの作成画面になったら、まずは左上の設定でZapの名前を入力します。以下の手順でZapのタイムゾーンを日本標準時刻に合わせます。Asia/Tokyo]を選択するトリガーを選択していきます。Zapier]を検索して選択します。Hour]を選択し、[Continue]をクリックします。weekends?]の項目ででプルダウンから[no]を選択し、[Continue]をクリックします。trigger]をクリックします。working!]という表示が確認できたら、[Continue]をクリックします。続いて、Notionのデータベースから通知したいアイテムを検索するための設定を追加していきます。Actionの選択画面で[Notion]を検索してクリックします。Item]を選択し、[Continue]をクリックします。in]をクリックします。account]をクリックします。別ウィンドウでNotionへのアクセスリクエストを設定する画面が表示されます。右上のプルダウンメニューから対象のワークスペースを選択し、[ページを選択する]をクリックします。検索ウィンドウからデータベースを検索してチェックを入れ、[アクセスを許可する]をクリックします。元のZapierの画面に戻って、[Continue]をクリックします。[Action]の画面で以下のように選択した後、[Continue]をクリックします。データベースの中に[投稿日(自動入力)]が未入力、かつ[投稿予定日]がZapの起動時と同じ(または以前の)アイテムが存在する場合に処理を続ける、という条件にしています。action]をクリックして実行します。正常にデータベースへアクセスができると、事前にテスト用として登録していたアイテムの値が表示されます。続いて、Slackに通知するための設定をしていきます。2.の処理の後に追加するので、2.のアクションの下の[+]マークをクリックします。Actionの選択画面で[Slack]を検索してクリックします。Message]をクリックし、[Continue]をクリックします。[Account]の項目で対象のSlackのワークスペースを選択して[Continue]をクリックします。※対象のSlackワークスペースが表示されない場合はこちらの備考の内容をご確認ください。以下のように項目を選択し、[Continue]をクリックします。今回は以下の項目以外はデフォルトにしていますが、設定やメッセージの内容は好みに合わせてカスタマイズしてみてください。Zap?:[No]補足Channelの項目でSlackチャンネルが表示されない場合は、以下のように入力します。action]をクリックし、アナウンス通知用のSlackチャンネルにメッセージが投稿されたことを確認します。[Close]をクリックしてアクションの編集を閉じます。備考:ZapierとSlackのワークスペースのコネクトが未実施の場合、コネクトを実施する必要があります。account]をクリックします。in]という表示をクリックします。)別画面でSlackワークスペースへのリクエストウィンドウが開かれます。右上のプルダウンから対象のワークスペースを選択し、[許可する]をクリックします。(対象のワークスペースが表示されない場合は、プルダウンから[別のワークスペースを追加する]を選択し、ワークスペースへのログイン処理を行います。)元の項目に戻り作業を継続します。最後に、Notionのデータベースで通知したアイテムに対して、投稿日を追加するための設定をしていきます。3.のアクションの下の[+]マークをクリックして、アクションを追加します。Item]を選択し、[Continue]をクリックします。[Account]の画面で、2.のアクションで追加したコネクションを選択し、[Continue]をクリックします。[Action]の画面で以下のように選択した後、[Continue]をクリックします。action]をクリックして実行します。お知らせデータベースの対象アイテムの[投稿日(自動入力)]に日時が追加されたことを確認します。Zap]をクリックします。On]をクリックします。これで作成したZapがリリースされました。テスト実際にテストをしてみます。Notionのデータベースにアナウンスするアイテムをいくつか登録しておきます。1時間に1回の通知のタイミングで、[投稿予定日]の時間を迎えた(または過ぎている)アイテムについてはSlackチャンネルに投稿されます。Notionのデータベースの[投稿日(自動入力)]のプロパティにも投稿時間が追加されています。[投稿予定日]の時間を迎えていないアイテムについては、指定した時間になるまでそのまま残ります。まとめZapierとNotion/Slackを組み合わせた、Notionのデータベースに登録したアイテムを日付指定でSlackに通知するアプリを紹介させていただきました。エントリ内では社内アナウンスで利用するケースを想定していますが、Notionのデータベースの構成を変えれば様々な用途に利用することができると思うので、ご参考にしていただけると幸いです。ZapierはいろんなアプリケーションやSaaS製品と連携させることができ、シンプルな要件であればノーコードで実装することができます。今回のように繰り返し発生する業務を自動化させることはもちろんですが、アイディア次第でいろんな施策にもつなげることができると思います。ネクストモードは社内のいろんな場面でZapierを活用させていますので、今後も有用な取り組みは紹介していきたいと思います。Notionについてのお問い合わせネクストモード社は、日本で3社しかないNotion販売代理店です。(2023年01月01日現在)Notion導入を検討の際は是非下記からお問い合わせ頂けますと幸いです。ネクストモードの南です。Notionの新機能としてSlack通知機能がリリースされました。試してみましたのでレポートをしていきたいと思います。ネクストモードの南です。ネクストモードの南です。Notionカレンダーが突如発表されて話題になっていますが、早速ネクストモードでもいろいろと試しています。