メールフック×Notion×Slackで実用的なシナリオを作ってみよう | MakeではじめるiPaaS入門【第3章】

メールフック×Notion×Slackで実用的なシナリオを作ってみよう | MakeではじめるiPaaS入門【第3章】

3-1 はじめに:この章で学ぶこと

ここからは、より実務に即したシナリオの構築に進んでいきます。

第2章では、Notionに問い合わせが追加されたらSlackに通知する、という基本的な自動化を構築しました。
今回はそれをさらに発展させ、次のようなより現場に即したフローを作っていきます。

📩 今回のシナリオ

実際の現場では、問い合わせや申請などのやり取りがメールを起点に始まることが多くあります。
その中でも「メールで受信した内容を管理ツールに自動登録したい」というニーズは非常に一般的です。

この章で学べること

  • Mailhookを使ったメール受信トリガーの設定方法
  • メール本文から任意のテキストを抽出する方法
  • Notionの新しいモジュール「Create a Database Item」の使い方
  • 必要な情報だけを自動処理する「実用的なシナリオ設計」

まずは今回のシナリオ全体像を確認してみましょう。

3-2 シナリオの全体像と構成イメージ

今回作成するシナリオは、メールで受け取った問い合わせ内容から必要な項目を抽出してNotionに記録し、Slackに通知するというものです。
MakeのMailhookを使って、外部からのメールをトリガーに処理をスタートします。

シナリオのゴール

外部からのメールを受信 → 本文から必要な情報を抽出→Notionに記録 → Slackに通知

このように、入力(メール)→ 情報抽出→ 出力(登録と通知)という流れを自動で処理できるようにします。

Makeシナリオの完成図

処理の流れ

以下が今回の処理のステップです:

使用する主なモジュールと機能

  • Webhooks – mailhook:Makeがメールを受け取り、自動化を開始
  • Text parser:メール本文から必要なテキストのみを抽出
  • Notion – Create a Database Item:Notionのデータベースに記録
  • Slack – Create a Message:処理結果をSlackでチームに通知

このシナリオの実用性

  • 手作業でのメール確認・転記をなくせる
  • 問い合わせが来た瞬間にチームへ通知できる

今回はデータ加工のプロセスモジュールを使用しています。アプリケーション間を直接連携するだけでなく、必要に応じてデータ加工を行える点もiPaaSの魅力です。

それでは、構築にあたっての事前準備から進めていきましょう。

3-3 事前準備

Notionテンプレートをコピー

新たにNotionのテンプレートを用意しましたので、ご自身のNotion内にコピーして下さい。(2章のテンプレートとは異なります)

https://inquisitive-surprise-581.notion.site/20bc691be30280bcac9ae8d0bd7f7066?v=20bc691be30281a0a64b000c11f884bb

上記URLにアクセスし、画面右上の「複製」ボタンをクリックすると、テンプレートをコピーできます。

追加したテンプレートを連携承認ページとして追加

テンプレートのコピーが完了したら、Notion側で、新たにMakeとの連携を許可するページとして登録が必要になります。

画面右上の三点リーダーからメニューを開き、接続 > Make の順でクリックします。

以下のような確認画面が表示されますので、「はい」をクリックします。

※この操作は、第2章で作成したMake、Notion間のコネクションがMake側に存在している前提の操作となります。コネクションを削除してしまっている場合などは、再度Make側からNotionとのコネクション作成を行って下さい。

3-4 具体的なシナリオの作成手順

Makeのダッシュボード画面右上の「Create a new scenario」をクリックします。

3-4-1 メールフックトリガーの設定

最初のモジュールを追加するウィンドウで、「Webhooks」をクリックします。

表示されたトリガーの一覧から、「Custom mailhook」をクリックします。

シナリオにメールフックのモジュールが追加されます。これが今回のトリガーになります。

続いて、「Create a webhook」をクリックします。

Webフックの名前はそのままで問題ありませんので、「Save」ボタンをクリックします。

以下のような、メールアドレスが発行されます。このメールアドレスはこのシナリオを実行する為に発行された独自のメールアドレスです。

発行されたメールアドレスをメモ帳などに控え、「Save」ボタンをクリックします。

💡このトリガーは発行されたメールアドレスにメールが受信される事で、実行が開始されます。

3-4-2 メールフックのテスト実行方法

実際にテスト実行を行ってみましょう。

画面左下の「Run once」をクリックします。

すると、以下のようにトリガーが待機状態になります。
この状態で、先程控えたメールアドレスにメールを送信すると、トリガーが実行されます。

(一定時間でタイムアウトしますので、メールを準備している間に停止してしまった場合は、再度「Run once」をクリックして待機状態にして下さい。)

普段お使いのメールツールを使用して、先ほど発行されたメールアドレス宛に以下の内容でメール送信を行ってみて下さい。

■ タイトル
新規のお問い合わせがありました。
■ 本文
【お問い合わせ内容】
———————————————–
名前:佐藤 花子
メールアドレス:sato@example.com
お問い合わせ内容:広告の掲載を検討しています。料金プランを教えて下さい。
———————————————–

※Gmailで送る場合は以下のようになります。

メールの送信が完了したら、Makeの画面に戻ります。
しばらくすると、メール受信が検知され、以下のような結果が出力されます。

メールフックのモジュールは、メールの内容を出力しますので、後続のモジュールで受信したメールの内容を使用できます。

3-4-3 メール本文の情報抽出(Text Parser の活用)

続いて、受信したメールの本文から、必要なテキストのみを抽出する方法について解説します。

💡この方法はメール以外でも、多くのシーンで利用します。少し難易度が高いかもしれませんが、覚えておくとかなり柔軟なシナリオを作成できるようになります。

画面下のツールメニューから、「Text parser」をクリックします。

一覧から「Match pattern」を探し、クリックします。

モジュールをドラッグし、メールフックトリガーの次につなげます。

追加した「Text parser」モジュールをクリックし、設定を行います。
Patternに「名前:(.*)」と入力します。
Textにはメールフックトリガーの出力値から「Text」を参照します。
Save」ボタンをクリックします。

このモジュールはPattern正規表現を入力して、テキスト内から特定の文字列を抽出できます。今回の設定では、メール本文中の”名前:”というテキストの後ろにある文字列を抽出するように設定しています。

■ 正規表現とは
主にプログラミング言語やテキストエディタなどで利用される、特定の文字列パターンを表現する方法です。文字列検索や置換などの処理に役立ちます。
正規表現の利用はやや難しそうに見えるかもしれませんが、基本的な使い方を押さえるだけでも、CSVの文字列置換やテキストデータの検索など、様々なシーンで役に立ちます。最近はChatGPTに生成させることもできますので、是非チャレンジしてみて下さい。

続けて、メールアドレスを抽出します。先ほどと同じように「Text Parser」モジュールの「Match pattern」を追加して以下のように設定します。

Patternに「メールアドレス:(.*)」と入力します。
Textにはメールフックトリガーの出力値から「Text」を参照します。

さらにもう一つ、お問い合わせ内容の抽出用に「Text Parser」モジュールの「Match pattern」を追加して以下のように設定します。

Patternに「お問い合わせ内容:(.*)」と入力します。
Textにはメールフックトリガーの出力値から「Text」を参照します。

以下のように4つのモジュールが出来上がっているはずです。

💡ちょっとした豆知識ですが、画面下のツールメニューから魔法の杖のアイコンをクリックすると、モジュールの並びをきれいに整えてくれます。
ガタガタしているのが気になる方は使ってみて下さい。

さて、同じモジュールが複数並んでいると、各モジュールが何をしているのかが分かり辛いですよね。
作っているときは理解していても、後日改めてシナリオをみると、「これ何してるモジュールだっけ?」となることも少なくありません。

Makeはモジュールの名前を自由に変更できるようになっていますので、今追加した「Text Parser」モジュールを分かりやすい名前に変更しておきましょう。

モジュールの上で右クリック(Macの方はControlキー + クリック)し、「Rename」を選択します。

名前を付けるウィンドウが出てきますので、分かりやすい名前に変更しておきましょう。

ここまで設定ができたら、一度テスト実行を行ってみましょう。
画面左下の「Run once」をクリックし、先ほど同様にMakeで発行されたメールアドレスにメールを送信してみましょう。

内容も同じものを送信します。

■ タイトル
新規のお問い合わせがありました。
■ 本文
【お問い合わせ内容】
———————————————–
名前:佐藤 花子
メールアドレス:sato@example.com
お問い合わせ内容:広告の掲載を検討しています。料金プランを教えて下さい。
———————————————–

以下のような警告が表示されるかもしれませんが、「Run anyway」で強制実行します。
(💡本来「Text Parser」モジュールのようなデータを加工するモジュールがシナリオの最後に来ることはありえませんので、おかしいですよ!という警告になります。開発中のシナリオではよくある事ですので、そのまま実行します。)

テスト実行が完了したら、データ抽出を行っているモジュールの実行結果ログを確認してみて下さい。
OUTPUTに抽出結果が出力されていると思います。

これで、名前、メールアドレス、お問い合わせ内容をメール本文から抽出する事ができました。

3-4-4 Notionへの登録モジュールの設定

続いて、取得した情報をNotionに登録するモジュールを設定していきましょう。

今回使用するモジュールは「Create a Database Item」です。

コネクションは第2章で作成したものが自動で参照されますので、さっそくモジュールの設定を行っていきます。

前回と同様にデータベースIDが必要になりますので、一度Notionの画面に切り替え、NotionのURLからデータベースIDをコピーします。

データベースIDを入力すると、Notionの入力項目が追加で表示されます。
先ほど抽出した「名前」や「お問い合わせ内容」などを参照していきます。

状況は「未着手
発生日のStart Timeには、カレンダータブから「now」を参照します。
Save」ボタンをクリックします。

Notionのモジュールが正しく設定されている事を確認するため、ここまでをテスト実行してみましょう。

改めて、画面左下の「Run once」をクリックし、先ほど同様にMakeで発行されたメールアドレスにメールを送信してみましょう。
内容も同じものを送信します。

■ タイトル
新規のお問い合わせがありました。
■ 本文
【お問い合わせ内容】
———————————————–
名前:佐藤 花子
メールアドレス:sato@example.com
お問い合わせ内容:広告の掲載を検討しています。料金プランを教えて下さい。
———————————————–

Notionの画面を表示し、内容が正しく反映されているか確認します。

3-4-5 Slack通知モジュールの設定

最後は第2章でも使用した、slackの「Create a Message」モジュールを使用します。
前回同様、SlackのチャンネルIDは以下から取得してください。

Slackモジュールの設定は第2章で説明していますので割愛しますが、送信メッセージを以下のようにアレンジすると、より業務に最適化されたメッセージになると思います。

■ 送信メッセージ内容のポイント
新着のお問い合わせがあった事に加えて、お客様名やNotionの対象ページへのリンクURLを追加する事で、slackでメッセージを受け取った担当者がスムーズにNotionページを閲覧し、対応に移れるように設定しています。

これで、今回のシナリオが完成です。

3-5 テスト実行

改めて、画面左下の「Run once」をクリックし、先ほど同様にMakeで発行されたメールアドレスにメールを送信してみましょう。
内容は少し変更し、以下で送ってみましょう。

■ タイトル
新規のお問い合わせがありました。
■ 本文
【お問い合わせ内容】
———————————————–
名前:田中 次郎
メールアドレス:tanaka@example.com
お問い合わせ内容:こんにちは。一度、商品に関する説明会を実施して頂くことは可能でしょうか。
———————————————–

Slackを確認してみると、正常にメッセージが届いている事が確認できました。

Slack内のURLからNotionの対象ページに遷移できます。

3-6 シナリオの有効化 (運用開始)

最後に、シナリオを有効化します。

画面下のツールメニューから「Immediately as data arrives」(データが届いたらすぐに)をクリックします。

スケジュール設定のウィンドウが表示されますので、「Immediately」のまま、「Save」をクリックします。

最後に、シナリオ名を変更しておきましょう。

💡実際に運用する際は、普段使っているメールツール(Gmailなど)側でメールを受信したら、Makeで発行したメールアドレスにメールを転送するように設定を行う事で、フローを自動的に開始する流れになります。

3-7 まとめ:実践的な自動化シナリオを構築してみて

この章では、メールをトリガーに、Notionに記録し、Slackに通知するという、より実務で使える自動化シナリオを一から構築しました。

✅ この章でできるようになったこと

  • mailhookを使って、外部からのメールをトリガーにする
  • Text Parserを使って、必要な情報を本文から抽出する
  • Notionの「Create a Database Item」モジュールで、データベースに情報を登録する
  • Slackモジュールで、結果をチームに通知する
  • 正規表現やモジュール名の整理など、運用を意識したテクニック

このような処理は、日々の業務の中に多数存在しています。
Makeを使えば、シンプルな作業を自動化するだけでなく、情報の見える化やチームの対応力向上にもつながります。

「これは自動化できるかも?」という視点で日々の業務を見直すだけでも、業務改善の第一歩です。

🔜 第4章へ進もう:条件付きで処理を分ける「フィルター」の使い方

さて、今回作成したシナリオは「すべてのメールを処理対象とする」ものでした。
しかし実際の現場では、

「件名に“お問い合わせ”が含まれているメールだけ記録したい」
「特定の部署宛の連絡だけ通知したい」

といった条件付きの自動化が求められるケースも多くあります。

次の第4章では、Makeの「フィルター」機能を使って、
条件に応じて処理の実行をコントロールする方法を学んでいきます。

「自動化の質」をワンランク上げたい方に、ぜひ学んでいただきたい内容です。

※ 第4章は後日公開を予定しております。今しばらくお待ち下さい。

Make Tipsカテゴリの最新記事