今回はWebでの予約のタイミングでユーザにメール通知する事例です。
なんだかんだ言ってNode-RED + Sendgridなどの組み合わせが最強
Airtableでenebularの使いどころ: 販売在庫管理編で利用したShopifyなどのWebショップ運営サービスにはメール通知機能がついています。AirtableのAutomationsにもメール送信機能があります。しかし、いずれも帯に短し襷に長しな点があります。
Webショップ運営サービスのメール送信機能は、Webショップ運営サービス上にあるデータしかメールに挿入できないという点が致命的です。サービスによってはカスタムフィールド的なものがありますが、結局外部のデータをカスタムフィールドに連携することになるので、それならもうAirtableを使うよね、というレベルになっちゃいます。
AirtableのAutomationsのメール送信機能は最も柔軟に使えるgmail連携が個別のgmailユーザのOAuth認可になってしまう点がすごく惜しくて、例えば自分のアカウントでOAuthすると自分がFromになってしまい受信箱に現れなくなってしまうんです。
そこで、AirtableのAutomaitionsのRun scriptでコールアウトして、Node-REDでSendgridなどメール送受信サービスを介してメール送信する、Webhook的なenebularのクラウド実行環境に構築します。
レッスン予約が完了したらメールを送信する
すごくシンプルな例です。
- Airtableで何らかのレッスンの予約を管理している
- 最終的に人が確認して予約テーブルの「確定」チェックボックスをチェックする
- ユーザに予約が確定した旨をメール送信する
これは以下のNode-REDフローをenebularのクラウド実行環境にHTTPドリガーとしてデプロイして、予約テーブルの「確定」チェックボックスがチェックされたタイミングで呼び出しています。
レッスンの3日前と1日前にリマインドメールを送信する
こちらはレッスンの3日前と1日前にリマインドメールを送信します。
- enebularのクラウド実行環境のスケジュールトリガーとして登録したフローを毎日定時に起動する
- 起動したフローはAirtableの予約テーブルの「3日後のレッスン」と「1日後のレッスン」という2つのViewの予約データを取得する
- 取得した予約データのユーザにリマインドメールを送信する
今回は上記2つだけの事例紹介ですが、こういった通知系フローは1つのプロジェクトで10〜20本くらいは必要になることが多いですね。こういう開発こそノーコード・ローコード開発が向いてると思います!