前回はダッシュボード作成の全体像と、実際に作る上でNotionのデータを1時間ごとに出力するための1つ目のモジュールの作成までを解説しました。→過去の回はこちらを参照。

今回は2つ目以降のモジュールを作成して、Notionのデータを出力する仕組みを完成させましょう。なお、今回もこちらのデータを例に解説します。必要に応じてご自身のワークスペースに複製してお使いください。

https://tahara-demo.notion.site/2e91542dc0ec4e338767d2dfcb49804e?v=1e73dd3c761d401c8aa938c96ec052f9

【関連記事】
≪NotionのデータをGoogleデータポータルで可視化しよう - 前編≫
≪Notionを便利にするサービス16選≫

手順1:Notionのデータを1時間ごとに出力する方法(つづき)

前回、モジュール1ではNotionの更新情報を取得する仕組みを作成しました。

もしNotion上で更新されたページがまだスプレッドシートに登録されていなければ新規行の追加をする、もしすでに登録済みであれば既存の行の更新を行う、という仕組みを作ります。

データ出力先のスプレッドシートを用意する

まず、Notionのデータを出力するスプレッドシートを新規作成します。

https://docs.google.com/spreadsheets/u/0/ へアクセスし、新しいスプレッドシートを作成しましょう。

タイトルを「データ出力用」とします。1行目にNotionのプロパティ名に応じた列を用意します。一番左には「ページID」という列も作っておきます。

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

    データ出力先のスプレッドシートを用意

モジュール2. スプレッドシートでページIDを検索する

2つ目のモジュールを作成します。ここでは、スプレッドシートにまだ登録されていないかすでに登録済みかを調べるために、スプレッドシートの中でページIDを検索します。

1つ目のモジュールの右側にある「+」をクリックするとモジュールを追加できます。

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

    モジュールを追加

スプレッドシートと接続します。「Google Sheets」と入力して選択します。出てきたメニューの中で「Search Rows」を選択します。

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

    スプレッドシートの行検索モジュールを選択

Googleのアカウントと接続します。出てきたメニューの中で「Add」を押し、コネクション名を決めた後「Save」を押します。

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

    Googleアカウントとの接続設定(1)

接続先のGoogleアカウントを選択する画面に遷移したら、アカウントを選択して「許可」を押します。なお、表記の「Integromat」はMakeの旧サービス名です。

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

    Googleアカウントとの接続設定(2)

Googleアカウントと接続できたら、先ほど作成したスプレッドシートを選択します。

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

    スプレッドシート情報を入力する

A列のページIDで検索します。Filterのところで検索対象を「ページID(A)」とし、Equal toの後のボックスをクリックすると何で検索するか聞かれるため、Notionの「Database Item ID」を選択します。

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

    検索フィルター設定

これで検索のモジュールが完成です。画面左下の「Run once」を押すと動作確認できます。

モジュール3. 分岐用のルータ作成

モジュール2のページID検索の結果によって処理を分岐させるためのルータを用意します。新たなモジュールを追加します。ルータを追加するには「Flow Control」の中にある「Router」を選択します。

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

    ルータ作成

ルータを追加すると、その先に2つのモジュールを選択できるようになります。分岐数を3つ以上に増やすこともできます。

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

    ルータ作成後の様子

モジュール4. スプレッドシートに新しい行を追加する

スプレッドシートにまだ情報が登録されていないとき用のモジュールを作成します。分岐の条件設定をします。ルータの先にあるスパナアイコンをクリックすると、「Set up a filter」から条件を指定することができます。

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

    条件分岐設定

「モジュール2の検索結果が0件の場合」を分岐条件に設定します。

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

    未登録のときの条件設定

分岐先に新しい行を追加するためのモジュールを作成します。「Add a Row」を選択します。

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

    スプレッドシートに新しい行を追加するモジュール

シート情報や列に対応する情報を設定します。なお、スプレッドシートのIDはURLの「https://docs.google.com/spreadsheets/d/」と「/edit」の間の文字列です。

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

    シート情報や列情報を設定する

モジュール5. スプレッドシートの既存の行を更新する

スプレッドシートにすでに情報登録済みのとき用のモジュールも作成します。分岐の条件設定をします。先ほどと同様に、ルータの先にあるスパナアイコンをクリックすると、「Set up a filter」から条件を指定することができます。「モジュール2の検索結果が0より大きい場合」を分岐条件に設定します。

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

    もう1つの条件分岐設定

分岐先に既存の行を更新するためのモジュールを作成します。「Update a Row」選択します。

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

    スプレッドシートの既存の行を更新するモジュール

シート情報や列に対応する情報を設定します。

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

    シート情報や列情報を設定する

これで、一通りのシナリオが完成しました。

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

    シナリオ完成

シナリオを有効にする

画面左下のSCHEDULINGの設定をしてシナリオを有効にします。まず、「Every 15 minutes.」をクリックして、実行するインターバルを60分ごとに変更します。

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

    インターバル設定

スイッチをONに切り替えると、このシナリオが有効となり1時間ごとに一連の処理が自動的に走るようになります。最後に「Save」ボタンを押せば一連の変更が保存されます。

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

    シナリオを有効にして保存する

これで、Notionのデータをスプレッドシートに自動的に出力する仕組みが完成です。1時間に1回自動的にNotionのデータ更新がスプレッドシートに反映されるようになりました。

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

    スプレッドシートが自動更新される

次回、スプレッドシートに出力されたデータをもとにダッシュボードを作り、そのダッシュボードをNotionに埋め込む方法について解説します。