Supabase を接続すると、新規登録、メールアドレスの確認、パスワードの変更、利用停止をきっかけに、ブランドらしいメールを送れるようになります。セットアップ用のスクリプトが auth.users テーブルにデータベーストリガーを追加し、Brew が各変更を、12種類あるオートメーションのトリガーのいずれかに変えます。
ログイン、確認リンク、マジックリンク、パスワードリセットは、引き続き Supabase Auth が担当します。Brew は、それらの変更に続くメールを作成して送信します。
auth.user.signed_in は、last_sign_in_at が変わったときに発火します。Supabase のトークンのリフレッシュでもこの列が変わるため、ユーザーがログインしたままでも、このイベントは繰り返し発火することがあります。しばらく離れていた人が戻ってきたことを示すものではありません。
また、これは派生イベントの中で最も優先度が低いイベントです。同じ更新でメールアドレスの確認や匿名ユーザーの切り替えも行われた場合、Brew は auth.user.signed_in ではなく、そちらのイベントを発生させます。
休眠ユーザーに様子伺いのメールを送る場合は、休眠しているかどうかを、アプリケーション側で自社のアクティビティデータをもとに判断してください。条件を満たすユーザーについてだけ、別の Brew カスタムイベントを送信し、そのイベントをもとに、稼働中のオートメーションから様子伺いのメールを送ります。
両方のパスをテストしてください。休眠ユーザーには様子伺いのメールが届き、判定の前にアクティブだったユーザーには届かないことを確認します。
auth.user.created、auth.user.updated、auth.user.deleted は、auth.users での挿入、更新、削除から発生します。それ以外のイベントは、Brew が更新前と更新後の行を比較して、更新から派生させます。
1回の更新で発生するイベントは1つです。複数の列が同時に変わった場合は、email_confirmed、phone_confirmed、upgraded_from_anonymous、email_changed、password_changed、banned、unbanned、invited、signed_in の順で、最初に一致したものが採用されます。どれにも一致しない更新は、auth.user.updated として届きます。
Brew は、次の12種類のイベントに対応しています:
実際のメールアドレスを含む検証済みのイベントを受け取ると、オートメーションで使われているかどうかにかかわらず、Brew はメールアドレスで照合してコンタクトを作成または更新します。データがある場合、Brew は姓名、supabase_user_id、supabase_phone、supabase_role、supabase_full_name、supabase_avatar_url、supabase_provider を設定します。
一部のイベントでは、ライフサイクルのフィールドも設定されます。supabase_account_status は、active、invited、banned、deleted のいずれかになります。supabase_email_verified_at、supabase_phone_verified_at、supabase_last_sign_in_at は、対応する確認イベントやログインイベントから設定されます。
差し込みタグには、選択したイベントで宣言されているペイロードのスキーマを使います。すべてのイベントに email が含まれ、値があれば firstName、lastName、fullName、displayName、avatarUrl、phone、role、provider、createdAt、lastSignInAt、emailConfirmedAt も含まれます。名前とアバターは raw_user_meta_data から取得され、OAuthで登録したユーザーについては代替の取得元も使われます。3つのタイムスタンプは、いずれも秒単位の Unix 時間です。
派生イベントには previousValue、newValue、またはその両方が加わり、列の変更前と変更後の値がテキストで入ります。auth.user.password_changed には、どちらも含まれません。provider には email、google、github などの登録方法が入るため、登録方法に応じてウェルカムフローを振り分けられます。
Supabase のユーザーIDは差し込みタグにはなりません。Brew はこれを supabase_user_id としてコンタクトに保存し、フィルターやセグメント化に使えるようにします。
Supabase のアカウントがあるだけでは、マーケティングメールの受信に同意したことにはなりません。登録時に同意を記録し、プロモーションメールを送る前に確認してください。
いいえ。確認リンク、マジックリンク、招待、パスワードリセットは、これまでどおり Supabase Auth が、カスタムSMTPなど独自のメール設定を通じて送信します。Brew がオートメーションを開始するのは、それらの変更が auth.users に反映されたあとです。Supabase は、認証メールとマーケティングメールで送信ドメインを分けることを推奨しています。
イベントの受信とメールの送信は、別々のステップです。一致するオートメーションが稼働中であることを確認してから、そのフィルター、実行履歴、受信者が対象に含まれるかどうか、送信ドメインを確認してください。メールアドレスをまだ登録していない匿名ユーザーなど、メールアドレスのないユーザーのイベントでは、コンタクトは作成されず、オートメーションも開始されません。