Notionとスプレッドシート連携奮闘記:クライアント名が来ない!

目次
リレーションの壁:クライアント名が連携されない
NotionからGoogleスプレッドシートへのデータ連携に挑戦して、気がつけば2日目。
順調に見えた連携作業の中で、なぜかどうしても「クライアント名」だけがスプレッドシートに反映されないという謎の現象にぶつかっています。
もともとの構成は、Notionの「日報」データベースで「顧客管理DB」とリレーションを組み、そこからクライアント名を表示させる形。
しかし、どうもこの「参照元のタイトルプロパティ」を経由していることが、データ連携が上手くいかない原因ではないかと考えています。
そこで、「顧客管理DB」に新たに「顧客名」というプロパティを作成し、リレーション先からテキストとして引っ張れないかと試してみました。ところが、これも期待通りに動かず…。
原因の切り分けも難しく、まさに”Notion連携の沼”にハマっている感覚です。
サンプルDBで再チャレンジも…失敗
諦めきれず、最小構成の「顧客DB」と「日報DB」を新しく作成し、構造をシンプルにして検証することに。
余計なプロパティや複雑な関係性を省いて、リレーション・ロールアップのない状態でデータを作成してみました。
さらには、Google Apps Script(GAS)でリレーションではなく「顧客DB」から直接クライアント名を取得するコードも試してみました。理屈上はこの方がシンプルに連携できるはず…。
…が、結果は残念ながら「連携されず」。
データベースIDやプロパティ名の指定など、基本的な部分は確認済み。それでも結果が変わらないというのが非常にもどかしいです。
「この手もダメか…」と、正直なところ手詰まり感を感じています。
次のミッションが控えている現実
そして、まだ終わらないこの戦い。クライアントからの次なる要望は、なんと「在庫管理 → スプレッドシート出力 → freee会計にインポート」という一連のデータ連携の仕組みづくりです。
Notionで在庫管理をして、そこからスプレッドシートへデータを書き出し、さらにfreee用のCSVフォーマットに整形して会計データとして活用する…という、なかなかハードルの高いミッションが待っています。
まずは今の「クライアント名が連携されない問題」をどうにかしないと、次に進めないのが現実。
地道にNotion APIやApps Scriptの仕様を見直しながら、打開策を探していきます。