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가 업데이트 전후의 행을 비교해 파생해요.
업데이트 하나는 이벤트 하나만 만들어요. 여러 열이 함께 바뀌면 다음 순서에서 먼저 일치하는 항목이 우선해요: 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 가입에 대비한 대체값도 있어요. 세 타임스탬프는 Unix 초 단위예요.
파생 이벤트에는 previousValue나 newValue, 또는 둘 다가 추가되며, 여기에 열의 이전 값과 새 값이 텍스트로 담겨요. auth.user.password_changed 이벤트에는 둘 다 없어요. provider에는 email, google, github 같은 가입 방식이 담겨 있어서, 가입 방식에 따라 웰컴 플로우를 나눌 수 있어요.
Supabase 사용자 ID는 개인화 태그로 쓸 수 없어요. Brew는 필터링과 세그먼테이션에 쓸 수 있도록 이 ID를 연락처에 supabase_user_id로 저장해요.
Supabase 계정만으로는 마케팅 이메일 수신 동의가 성립하지 않아요. 가입할 때 수신 동의를 기록하고, 프로모션 이메일을 보내기 전에 확인하세요.
아니요. 이메일 인증 링크, 매직 링크, 초대, 비밀번호 재설정 이메일은 여전히 Supabase Auth가 커스텀 SMTP 같은 자체 이메일 설정으로 보내요. Brew는 그런 변경이 auth.users에 반영된 뒤에 자동화를 시작해요. Supabase는 인증 이메일과 마케팅 이메일에 서로 다른 발신 도메인을 쓰도록 권장해요.
이벤트 수신과 이메일 발송은 별개의 단계예요. 일치하는 자동화가 활성 상태인지 확인한 다음, 필터와 실행 기록, 수신자가 발송 대상인지, 발신 도메인을 확인하세요. 아직 이메일을 추가하지 않은 익명 사용자처럼 이메일 주소가 없는 사용자의 이벤트는 연락처를 만들지 않고 자동화도 시작하지 않아요.