Clerk를 연결하면 누군가 가입하거나, 조직에 참여하거나, Clerk Billing 구독을 시작하거나, 대기자 명단에 등록할 때 브랜드에 맞는 이메일을 보낼 수 있어요. Clerk는 모든 웹훅에 서명하고, Brew는 이벤트 유형 13개를 자동화 트리거로 바꿔요.
로그인, 조직, 결제는 계속 Clerk가 담당해요. Brew는 이벤트를 수신하기만 해요. 사용자를 변경하거나, 조직을 만들거나, 구독 요금을 청구할 수는 없어요.
organization.created 이벤트에는 이메일 주소가 없어요. Brew는 현재 연결에서 앞서 받은 Clerk 이벤트로 이미 확인한 사용자 중에서 생성자의 사용자 ID를 찾아요. 실제 이메일을 찾으면 이벤트가 그대로 처리돼요. 찾지 못하면 Brew는 이 이벤트를 수신자를 찾지 못한 이벤트로 기록하고, 연락처를 만들지 않으며 자동화도 시작하지 않아요.
Brew가 생성자 주소를 알 수 있도록 user.created 이벤트도 구독하세요. 매번 반드시 사람에게 전달돼야 하는 이메일이라면, 멤버 주소가 담긴 organizationMembership.created 이벤트를 사용하세요.
Brew는 다음 이벤트 유형 13개를 지원해요:
실제 이메일 주소가 담긴 검증된 이벤트는 자동화에서 쓰이는지와 관계없이, 이메일 주소를 기준으로 Brew 연락처를 만들거나 업데이트해요. 데이터가 있으면 Brew가 이름과 성, clerk_user_id를 설정해요.
user.created 이벤트는 clerk_username, clerk_image_url, clerk_signed_up_at, clerk_last_sign_in_at도 설정해요. 초대 이벤트와 멤버십 이벤트는 clerk_organization_id, clerk_org_role, clerk_org_role_name을 설정해요. 여기에 초대 이벤트는 clerk_org_invitation_status를, 멤버십 이벤트는 clerk_organization_name과 clerk_organization_slug를 추가해요.
결제 이벤트는 clerk_subscription_status와 clerk_plan_name을 설정하고, 이벤트에 따라 clerk_plan_slug, clerk_subscription_period_end, clerk_is_trialing이 추가되기도 해요. paymentAttempt.created 이벤트는 clerk_last_payment_attempt_status와 clerk_last_payment_attempt_at을 설정해요. waitlistEntry.created 이벤트는 clerk_waitlist_status를 설정해요.
개인화 태그에는 선택한 이벤트에 선언된 페이로드 스키마를 사용하세요. 모든 이벤트에는 email, firstName, lastName, createdAt이 포함돼요. 그 밖의 필드는 이벤트에 따라 다르며, planName, planAmount, roleName, organizationName, grandTotalFormatted 등이 있어요. planAmount와 grandTotalAmount는 통화의 최소 단위로 표시되므로, USD 기준으로 2000은 $20.00에 해당해요. 타임스탬프는 Unix 초 단위예요.
사용자, 조직, 구독 ID 같은 Clerk 객체 ID는 개인화 태그로 쓸 수 없어요. 사용자 ID는 연락처에 clerk_user_id로 저장돼요.
Clerk 계정만으로는 마케팅 이메일 수신 동의가 성립하지 않아요. 가입할 때 수신 동의를 기록하고, 프로모션 이메일을 보내기 전에 확인하세요.
안정적으로 보내기는 어려워요. Brew는 paymentAttempt.created 이벤트만 받고, 이후 결제 시도가 업데이트된 내용은 받지 않아요. status 필드 값은 pending, paid, failed일 수 있지만, 결제 시도가 생성된 뒤에 실패한 결제는 지원하지 않는 이벤트로 Brew에 들어와요. 결제 누락에는 subscriptionItem.pastDue 이벤트를 사용하세요. 이메일 문구에 합계 금액을 넣을 때는 $22.00처럼 미리 서식이 적용된 값이 담긴 grandTotalFormatted를 사용하세요.
이벤트 수신과 이메일 발송은 별개의 단계예요. 일치하는 자동화가 활성 상태인지 확인한 다음, 필터와 실행 기록, 수신자가 발송 대상인지, 발신 도메인을 확인하세요. Send Example로 보낸 이벤트는 웹훅을 확인할 뿐 자동화를 시작하지 않으며, 생성자를 알 수 없는 organization.created 이벤트는 수신자를 찾지 못한 것으로 기록돼요.