今回は、自動ワークフロー作成サービスである Zapier を使った Google フォーム (Google Forms) と Notion データベースの連携について紹介します。
こちらの記事は、 NIFTY Tech Talk #10「 Notion で仕事のスピードを加速するテクニックとは?」にて発表した内容がベースとなっており、その時のスライドも公開しているので、興味のある方は確認してみてください!
背景
Notion にはデータベースというアイテム(ページ)を管理する機能があり、その機能を使ってタスク管理をしているとします。データベースのプロパティにはタスクのタイトル、「Todo」「In progress」「Done」といったステータス、担当者、依頼者があります。![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-31-1024x242.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-32-1024x295.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-33.png)
- データベースのロック機能があるとはいえ、依頼者が誤ってアイテムを消してしまう可能性がある。
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-34.png)
- Google フォームだと、必ず記入してほしい必須項目の指定や、各項目の説明の記述などができて自由度が高い。
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-35.png)
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 が実行されます。![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-36-1024x363.png)
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つのみにします。![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-37-1024x276.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-38.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-39.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-40.png)
(2) Zapier へのアクセス
事前準備が終わったので、本題の Zap 作成に移ります。 まず、 Zapier にログインし、左上の「Create Zap」ボタンを押します。この前に Zapier のアカウント作成などがあるかと思いますが、今回は省略します。![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-41-1024x412.png)
(3) Zap の名前を変更
「Create Zap」ボタンを押すと、 Zap の編集画面に遷移します。この画面の左上から、必要に応じてZapの名前を変更します。今回は「Google Form x Notion Demo」という名前にしました。![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-42.png)
(4) Triggerの作成
次に、 Zap を開始するためのイベントである Trigger の作成をします。今回は「 Google フォームから回答が送信されたら」という Trigger を作成したいので、検索フィールドに「Google Forms」と入力し、「Google Forms」を選択します。![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-43-1024x563.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-44.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-46.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-47.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-48-1024x473.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-49.png)
(5) Action の作成
次に、 Trigger が発動した後に Zap が実行するイベントである Action の作成をします。今回は「Notion のデータベースにアイテムを追加する」という Action を作成したいので、検索フィールドに「Notion」と入力し、 Latest のほうの「Notion」を選択します。![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-51.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-52.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-54.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-55.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-56-1024x340.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-57-1024x529.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-58-1024x247.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-59.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-61.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-60.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-62.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-63-1024x322.png)
(6) Zap の有効化・動作確認
Zap の編集画面に戻って、右上の「Publish」ボタンを押すと、 Zap が有効化され、トグルが On になります。![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-64-1024x407.png)
![](https://engineering.nifty.co.jp/wp-content/uploads/2023/05/image-65-1024x373.png)
まとめ
今回紹介したサービス Zapier を使うことで、 Notion や Google フォーム などの様々なサービスの連携をする自動ワークフローを、先ほどのデモのようにコードを一切書かずに作ることができます。 また、有料プランのみの話になりますが、 Zap は2つ以上の Action を持てるということで、 Action をさらに追加して、データベースにアイテムが追加されたことを Slack のチャンネルに通知することもできたりします。 他のサービスとの Notion の自動化の例については、公式サイトに色々載っているので興味のある方はご覧ください。https://zapier.com/apps/notion/integrations
We are hiring!
ニフティでは、さまざまなプロダクトへ挑戦するエンジニアを絶賛募集中です!ご興味のある方は以下の採用サイトよりお気軽にご連絡ください! Tech TalkやMeetUpも開催しております!
こちらもお気軽にご応募ください!