# Clerk + Brew

Picu otomatisasi Brew dari peristiwa webhook Clerk untuk pendaftaran pengguna, perubahan organisasi, langganan berbayar, dan pendaftaran daftar tunggu.

URL kanonis: https://brew.new/id/browse/integrations/clerk

- Arah: Data masuk
- Koneksi: Kunci rahasia webhook
- Pemicu peristiwa autentikasi

## Kemampuan yang aktif

- **Pemicu peristiwa**: Picu otomatisasi Brew dari 13 peristiwa webhook Clerk di kategori pengguna, organisasi, penagihan, dan daftar tunggu.

## Ubah peristiwa Clerk menjadi email yang bermanfaat

Hubungkan Clerk untuk memulai email bermerek saat seseorang mendaftar, bergabung dengan organisasi, memulai langganan Clerk Billing, atau masuk ke daftar tunggu Anda. Clerk menandatangani setiap webhook, dan Brew mengubah 13 jenis peristiwa menjadi pemicu otomatisasi.

Clerk tetap bertanggung jawab atas proses masuk, organisasi, dan penagihan. Brew hanya menerima peristiwa. Brew tidak dapat mengubah pengguna, membuat organisasi, atau menagih langganan.


## Yang bisa Anda buat

- Email sambutan: user.created dipicu saat pengguna baru mendaftar. Selain nama, tersedia juga username, imageUrl, dan lastSignInAt.
- Onboarding tim: organizationMembership.created membawa organizationName, organizationSlug, dan roleName untuk anggota baru, baik yang menerima undangan maupun yang ditambahkan secara langsung. organizationInvitation.accepted juga dipicu saat undangan diterima, jadi pilih salah satu pemicu agar email sambutan tidak terkirim dua kali.
- Tindak lanjut undangan: organizationInvitation.created, organizationInvitation.accepted, dan organizationInvitation.revoked ditujukan ke alamat email yang diundang serta membawa roleName, status, dan expiresAt. Peristiwa ini tidak membawa nama organisasi, orang yang mengundang, atau tautan untuk menerima undangan.
- Email sambutan pelanggan: subscription.created membawa planName, planSlug, planAmount, currency, periodStart, dan periodEnd.
- Pengingat masa uji coba: subscriptionItem.freeTrialEnding dipicu sesaat sebelum uji coba gratis Clerk Billing beralih menjadi langganan berbayar, dengan planName, planAmount, currency, dan periodEnd.
- Pemberitahuan tunggakan: subscriptionItem.pastDue dipicu saat pembayaran untuk item langganan terlewat. Tautkan ke halaman penagihan Anda sendiri.
- Tindak lanjut pembatalan dan uji coba yang ditinggalkan: subscriptionItem.canceled dipicu saat sebuah item langganan dibatalkan. subscriptionItem.abandoned biasanya berarti uji coba berakhir tanpa metode pembayaran yang tersimpan.
- Konfirmasi daftar tunggu: waitlistEntry.created dipicu saat sebuah alamat email masuk ke daftar tunggu Clerk Anda.

## Peristiwa organisasi memerlukan pembuat yang dikenal

organization.created tidak membawa alamat email. Brew mencari ID pengguna pembuatnya di antara identitas yang sudah pernah dilihatnya dalam peristiwa Clerk sebelumnya pada koneksi saat ini. Jika Brew menemukan alamat email sungguhan, peristiwa itu diproses. Jika tidak, Brew mencatat peristiwa itu sebagai peristiwa tanpa penerima, tidak membuat kontak, dan tidak memulai otomatisasi.

Atur endpoint agar juga berlangganan user.created, supaya Brew dapat mengetahui alamat email para pembuat organisasi. Untuk email yang harus selalu sampai ke seseorang, gunakan organizationMembership.created, yang membawa alamat email anggota.


## Siapkan Clerk di Brew

- Buka Integrasi, pilih Clerk, lalu pilih Buat URL webhook.
- Di Clerk Dashboard, buka Webhooks, lalu tambahkan endpoint dengan URL Brew.
- Atur endpoint agar berlangganan 13 peristiwa yang didukung dalam grup user, organization, organizationInvitation, organizationMembership, paymentAttempt, subscription, subscriptionItem, dan waitlistEntry, lalu buat endpoint tersebut.
- Tampilkan kunci rahasia endpoint, yang diawali dengan whsec_, tempelkan ke Brew, lalu pilih Hubungkan. Brew memverifikasi setiap pengiriman webhook sesuai spesifikasi Standard Webhooks (Svix).
- Di Clerk, buka tab Testing pada endpoint, pilih user.created, lalu pilih Send Example. Status di Brew berubah dari “Menunggu peristiwa uji” menjadi “Terhubung”. Contoh ini hanya memverifikasi webhook. Brew tidak menambahkan kontak dan tidak memulai otomatisasi.
- Saat Anda memilih Hubungkan, Brew membuat 13 pemicu, satu untuk setiap peristiwa. Tidak ada tombol untuk mengaktifkan atau menonaktifkan peristiwa.
- Buat otomatisasi, pilih peristiwa Clerk yang memicunya, lalu jalankan uji selagi otomatisasi masih berstatus Draf. Hanya otomatisasi berstatus Aktif yang dijalankan saat peristiwa yang cocok masuk.

## Peristiwa Clerk yang didukung

Brew mendukung 13 jenis peristiwa berikut:

- user.created
- organization.created
- organizationInvitation.created
- organizationInvitation.accepted
- organizationInvitation.revoked
- organizationMembership.created
- paymentAttempt.created
- subscription.created
- subscriptionItem.freeTrialEnding
- subscriptionItem.pastDue
- subscriptionItem.canceled
- subscriptionItem.abandoned
- waitlistEntry.created

## Sinkronisasi kontak dan personalisasi

Setiap peristiwa terverifikasi yang memiliki alamat email sungguhan akan membuat atau memperbarui kontak Brew, yang dicocokkan berdasarkan email, baik peristiwa itu dipakai otomatisasi maupun tidak. Jika datanya tersedia, Brew mengisi nama depan, nama belakang, dan clerk_user_id.

user.created juga mengisi clerk_username, clerk_image_url, clerk_signed_up_at, dan clerk_last_sign_in_at. Peristiwa undangan dan keanggotaan mengisi clerk_organization_id, clerk_org_role, dan clerk_org_role_name. Peristiwa undangan menambahkan clerk_org_invitation_status, sedangkan peristiwa keanggotaan menambahkan clerk_organization_name dan clerk_organization_slug.

Peristiwa penagihan mengisi clerk_subscription_status dan clerk_plan_name, dan sebagian juga menambahkan clerk_plan_slug, clerk_subscription_period_end, atau clerk_is_trialing. paymentAttempt.created mengisi clerk_last_payment_attempt_status dan clerk_last_payment_attempt_at. waitlistEntry.created mengisi clerk_waitlist_status.

Gunakan skema payload yang dideklarasikan untuk peristiwa terpilih sebagai acuan merge tag. Setiap peristiwa menyertakan email, firstName, lastName, dan createdAt. Field lainnya bergantung pada peristiwanya, seperti planName, planAmount, roleName, organizationName, dan grandTotalFormatted. planAmount dan grandTotalAmount dinyatakan dalam satuan mata uang terkecil, jadi dalam USD, nilai 2000 berarti US$20,00. Stempel waktu dinyatakan dalam detik Unix.

ID objek Clerk, seperti ID pengguna, organisasi, dan langganan, tidak tersedia sebagai merge tag. ID pengguna disimpan di kontak sebagai clerk_user_id.

Akun Clerk tidak membuktikan adanya persetujuan untuk email pemasaran. Catat persetujuan saat pendaftaran dan periksa sebelum pengiriman promosi.


## Bisakah paymentAttempt.created dipakai untuk mengirim email pembayaran gagal?

Tidak selalu. Brew hanya menerima paymentAttempt.created, bukan pembaruan berikutnya atas percobaan pembayaran tersebut. Field status pada peristiwa ini bisa bernilai pending, paid, atau failed, tetapi pembayaran yang gagal setelah percobaannya dibuat akan sampai ke Brew sebagai peristiwa yang tidak didukung. Untuk pembayaran yang terlewat, gunakan subscriptionItem.pastDue. Untuk menampilkan total di teks email, grandTotalFormatted berisi nilai yang sudah diformat, seperti $22.00.


## Mengapa peristiwa muncul tetapi email tidak terkirim?

Menerima peristiwa dan mengirim email adalah dua langkah terpisah. Pastikan otomatisasi yang cocok berstatus Aktif, lalu periksa filter dan riwayat eksekusinya, kelayakan penerima, serta domain pengirim. Pengiriman lewat Send Example memverifikasi webhook tetapi tidak pernah memulai otomatisasi, dan peristiwa organization.created tanpa pembuat yang dikenal dicatat sebagai peristiwa tanpa penerima.


## Batasan dan pemecahan masalah

- Brew tidak dapat membuat atau mengubah pengguna, organisasi, atau langganan Clerk.
- Hanya 13 peristiwa yang tercantum yang memulai otomatisasi. Peristiwa Clerk lainnya, seperti pembaruan dan penghapusan pengguna, dicatat sebagai peristiwa yang tidak didukung.
- Jika Clerk melaporkan 401 pada setiap pengiriman webhook, kunci rahasia di Brew tidak cocok dengan kunci rahasia endpoint di Clerk. Tampilkan kunci rahasia terbaru di Clerk, lalu hubungkan ulang dengan kunci tersebut.
- Brew mensyaratkan kunci rahasia diawali dengan whsec_ dan minimal 24 karakter.
- Tinjau persetujuan dan tujuan setiap email. Menyinkronkan pengguna Clerk tidak memberi izin untuk pengiriman promosi.

## Sumber dan panduan penyiapan

- [Panduan penyiapan Clerk](https://docs.brew.new/integrations/import/clerk)
- [Membuat otomatisasi](https://docs.brew.new/create-emails/build-an-automation)
- [Merge tag](https://docs.brew.new/create-emails/merge-tags)
- [Yang bisa Anda kirim dengan Brew](https://docs.brew.new/get-started/what-you-can-send)
- [Ikhtisar webhook Clerk](https://clerk.com/docs/guides/development/webhooks/overview)

## Terkait

- [Semua integrasi](https://brew.new/id/browse/integrations.md)
- [Daftar](https://brew.new/id/sign-up.md)
- Situs web: https://brew.new
