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


- データベースのロック機能があるとはいえ、依頼者が誤ってアイテムを消してしまう可能性がある。

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

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 が実行されます。
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つのみにします。



(2) Zapier へのアクセス
事前準備が終わったので、本題の Zap 作成に移ります。 まず、 Zapier にログインし、左上の「Create Zap」ボタンを押します。この前に Zapier のアカウント作成などがあるかと思いますが、今回は省略します。
(3) Zap の名前を変更
「Create Zap」ボタンを押すと、 Zap の編集画面に遷移します。この画面の左上から、必要に応じてZapの名前を変更します。今回は「Google Form x Notion Demo」という名前にしました。
(4) Triggerの作成
次に、 Zap を開始するためのイベントである Trigger の作成をします。今回は「 Google フォームから回答が送信されたら」という Trigger を作成したいので、検索フィールドに「Google Forms」と入力し、「Google Forms」を選択します。





(5) Action の作成
次に、 Trigger が発動した後に Zap が実行するイベントである Action の作成をします。今回は「Notion のデータベースにアイテムを追加する」という Action を作成したいので、検索フィールドに「Notion」と入力し、 Latest のほうの「Notion」を選択します。











(6) Zap の有効化・動作確認
Zap の編集画面に戻って、右上の「Publish」ボタンを押すと、 Zap が有効化され、トグルが On になります。

まとめ
今回紹介したサービス Zapier を使うことで、 Notion や Google フォーム などの様々なサービスの連携をする自動ワークフローを、先ほどのデモのようにコードを一切書かずに作ることができます。 また、有料プランのみの話になりますが、 Zap は2つ以上の Action を持てるということで、 Action をさらに追加して、データベースにアイテムが追加されたことを Slack のチャンネルに通知することもできたりします。 他のサービスとの Notion の自動化の例については、公式サイトに色々載っているので興味のある方はご覧ください。https://zapier.com/apps/notion/integrations
We are hiring!
ニフティでは、さまざまなプロダクトへ挑戦するエンジニアを絶賛募集中です!ご興味のある方は以下の採用サイトよりお気軽にご連絡ください! Tech TalkやMeetUpも開催しております!
こちらもお気軽にご応募ください!