出来そうで出来ない…NotionからGoogleスプレッドシートへデータ連携

出来そうで出来ない…NotionからGoogleスプレッドシートへデータ連携

当事務所では、業務の大半をNotionで管理しています。クライアント情報やプロジェクトの進行状況、タスクの進捗管理など、ほぼすべてがNotionに集約されている状態です。そして、税理士にとって必須の「業務管理簿」も、日報というかたちでNotion上に記録しています。

今回は、その日報のデータを使って業務の傾向を分析してみようと思い立ちました。ただ、Notionだけでは分析に限界があるため、Googleスプレッドシートへデータを連携して、可視化や集計をしやすい環境を整えようとチャレンジしています。

ChatGPTの力でデータ連携に挑戦

実は昨年、同様のことを外部のエンジニアに依頼してみたことがありました。クラウドワークスを通じてお願いしたのですが、Notion単体での高度な分析には限界があるという結論になりました。エンジニアの方からは「Googleスプレッドシートに出力できれば、かなり柔軟に分析できる」と助言を受けていたのです。

そんな経緯もあり、今回は自分でなんとかできないかと思い、先日ChatGPTの力を借りることにしました。というのも、以前にChatworkのタスクをNotionへ連携する処理をChatGPTと一緒に構築できた経験があったためです。

ChatGPTにできるだけ詳細にプロンプトを入力してお願いしてみたところ、Google Apps Script(GAS)を使ってNotionのデータをスプレッドシートに出力する方法を丁寧に教えてもらえました。

最大の壁「クライアント名」が連携できない

順調に進んでいたプロジェクトでしたが、思わぬ落とし穴がありました。Notionの日報データの中にある「クライアント名」だけが、なぜかGoogleスプレッドシートにうまく連携できなかったのです。

この「クライアント名」は、Notionの「顧客管理DB」という別データベースからリレーションで取得しており、日報ページ内ではロールアップで表示しています。理論上はそのまま連携できるはずだったのですが、どうやらロールアップの元となっている「顧客管理DB」の「タイトルプロパティ」が影響している様子。

タイトルに登録された情報は、うまくスプレッドシート側で読み取れないようで、別途「顧客名」という新しいプロパティを作って、タイトルとは別に情報を管理するように変更してみました。1件ずつ手作業でコピーしていったのですが……それでもうまくいかず。

この「クライアント名」さえ正しく連携できれば、Googleスプレッドシートでの集計やグラフ表示が一気に進むのですが、今はその一歩手前で足踏みしている状態です。

道のりはまだ長い

NotionとGoogleスプレッドシートの連携は、一見簡単そうに見えて、細かい仕様の違いや制限によって思わぬ苦戦を強いられる場面があります。特に、リレーションやロールアップといったNotion独自の機能を使っている場合、その情報を外部に出力するのはひと工夫が必要です。

それでも、ChatGPTの力を借りながら試行錯誤を繰り返せば、少しずつ前進できている実感はあります。今後はAPIの仕様やデータベースの構成をもう少し見直して、どうにか「クライアント名」の連携を実現したいところです。

理想の業務分析環境を目指して、まだまだ挑戦は続きそうです。

【編集後記】

さあ、1週間が始まります。

お気軽にお問合せください contact

仕事のご依頼・お問合せはフォームをご利用ください。 送信いただきましたら、追ってメールにてご連絡させていただきます。

なお、あらゆる営業に関するご連絡はかたくお断りいたします。

なお、当受付フォームでは、個別のご相談・ご質問を受け付けておりません。