30分でできるZapier による Google フォームと Notion DB の連携
2023年05月31日 18時27分ニフティ エンジニアブログ
基幹システムグループ N1! オートメーションスペシャリストの南川です。
今回は、自動ワークフロー作成サービスである Zapier を使った Google フォーム (Google Forms) と Notion データベースの連携について紹介します。
こちらの記事は、 NIFTY Tech Talk #10「 Notion で仕事のスピードを加速するテクニックとは?」にて発表した内容がベースとなっており、その時のスライドも公開しているので、興味のある方は確認してみてください!
・背景
Notion にはデータベースというアイテム(ページ)を管理する機能があり、その機能を使ってタスク管理をしているとします。データベースのプロパティにはタスクのタイトル、「Todo」「In progress」「Done」といったステータス、担当者、依頼者があります。

また、データベースには様々なビューがあり、ボードビューを使うと、タスクの進捗状況が分かりやすくなります。

そして、担当しているシステムに関する依頼は Google フォームで受け付けており、 Google フォームの申請内容をもとに手動で Notion のデータベースにアイテムを追加しています。しかし、手動でのデータベースへの追加は面倒だと思います。

「ならば、 Google フォームではなく、 Notion のデータベースに依頼者が直接追加すればいいのでは?」という話も出てくるかと思いますが、以下の理由から Google フォームを依頼の申請フォームとして使いたいです。
- データベースのロック機能があるとはいえ、依頼者が誤ってアイテムを消してしまう可能性がある。

- Google フォームだと、必ず記入してほしい必須項目の指定や、各項目の説明の記述などができて自由度が高い。

このような背景から、 Google フォームに送信された依頼の内容をもとに、 Notion のデータベースにアイテムを自動的に追加したいというわけです。ここで登場するのが Zapier というサービスです。
・Zapier とは
Zapier は複数のサービスやアプリを連携する自動ワークフローを、ノーコードで作れるサービスです。
対応しているサービス・アプリは5000個以上で、Gmail や Google スプレッドシート、 Google ドライブ、 Google フォームといった Google 製品はもちろんのこと、 Notion や Slack 、 GitHub などにも対応しています。対応サービスの一覧は https://zapier.com/apps から確認できます。
これらの対応しているアプリを互いに連携させ、以下のようなワークフローを作ることができます。
・Zapier の用語
ここで Zapier に出てくる用語の一部を簡単に説明します。
今回紹介しない用語や詳しい説明については、以下のURLをご確認ください。
https://help.zapier.com/hc/en-us/articles/8496181725453
・Zap
Zap とは、アプリやサービスを連携させる自動化されたワークフローです。 Zap は Trigger と1つ以上の Action で構成されます。この Zap を On にすると、 Trigger のイベントが発生するたびに、 Action が実行されます。

Zap の例としては、先ほどの Zapier で作れるワークフローの例で挙げた「検索にマッチしたメールを受信したら、 Slack にメッセージを送信する。」や「 Notion のデータベースに新しいアイテムが追加されたら、 Google スプレッドシートに行を追加する。」が挙げられます。
・Trigger
Trigger とは、 Zap を開始するためのイベントです。 Trigger は、先ほどのワークフロー (Zap) の例における、「検索にマッチするメールを受信したら」や「 Notion の DB に新しいアイテムが追加されたら」に該当します。
・Action
Action とは、 Trigger が発動した後に Zap が実行するイベントです。 Action は、先ほどのワークフロー (Zap) の例における、「 Slack にメッセージを送信する」や「 Google スプレッドシートに新しい行を追加する」に該当します。
・やりたいことを Zapier に落とし込む
ここで、今回やりたいことについて振り返ってみます。今回は「 Google フォームに送信された依頼の内容をもとに、 Notion のデータベースにアイテムを自動的に追加する」ということをやりたいです。これを Zapier に落とし込んでみると次のようになります。
- 以下の Zap を作成する。
- Trigger : 「 Google フォームから回答が送信されたら」
- Action : 「 Notion のデータベースにアイテムを追加する」
・実際に作ってみる
・(1) 事前準備
Zap を作る前に、 Zap で連携する Google フォーム、 Notion のデータベースを作ります。
まず、「依頼デモ」という名前の Google フォームから送信された依頼を管理するための Notion のデータベースを作成します。このデータベースは、タイトル、ステータス、依頼者のプロパティを持っており、ステータスにはこの依頼の進捗状況として「Todo」「In progress」「Done」が値として入ります。先ほどのデータベースには担当者のプロパティを用意していましたが、今回は簡単にするためにプロパティをこの3つのみにします。


次に依頼を送信するための Google フォームを作成します。質問の内容は「依頼者の名前」「依頼の件名」「依頼の内容」となっています。

続きは NIFTY engineering で
記事にコメントを書いてみませんか?