# Clerk + Brew

Activa automatizaciones de Brew con los eventos de webhook de Clerk: registros de usuarios, cambios en organizaciones, suscripciones de pago y entradas en la lista de espera.

URL canónica: https://brew.new/es/browse/integrations/clerk

- Dirección: Entrada de datos
- Conexión: Secreto del webhook
- Disparadores por eventos de autenticación

## Funciones disponibles

- **Disparadores por eventos**: Activa automatizaciones de Brew con 13 eventos de webhook de Clerk de las categorías de usuario, organización, facturación y lista de espera.

## Convierte los eventos de Clerk en emails útiles

Conecta Clerk para activar emails fieles a tu marca cuando alguien se registra, se une a una organización, empieza una suscripción de Clerk Billing o se apunta a tu lista de espera. Clerk firma cada webhook y Brew convierte 13 tipos de evento en disparadores de automatizaciones.

Clerk sigue encargándose del inicio de sesión, las organizaciones y la facturación. Brew solo escucha los eventos: no puede modificar usuarios, crear organizaciones ni cobrar suscripciones.


## Qué puedes crear

- Emails de bienvenida: el evento user.created se emite cuando se registra un usuario nuevo. Además del nombre, están disponibles username, imageUrl y lastSignInAt.
- Onboarding de equipos: el evento organizationMembership.created incluye organizationName, organizationSlug y roleName del nuevo miembro, tanto si llega por una invitación aceptada como si se incorpora directamente. El evento organizationInvitation.accepted también se emite cuando se acepta una invitación, así que elige un solo disparador para no enviar dos bienvenidas.
- Seguimiento de invitaciones: los eventos organizationInvitation.created, organizationInvitation.accepted y organizationInvitation.revoked van dirigidos a la dirección invitada e incluyen roleName, status y expiresAt. No incluyen el nombre de la organización, quién envió la invitación ni un enlace para aceptarla.
- Emails de bienvenida para suscriptores: el evento subscription.created incluye planName, planSlug, planAmount, currency, periodStart y periodEnd.
- Recordatorios de fin de prueba: el evento subscriptionItem.freeTrialEnding se emite poco antes de que una prueba gratuita de Clerk Billing se convierta en una suscripción de pago, con planName, planAmount, currency y periodEnd.
- Avisos de pago vencido: el evento subscriptionItem.pastDue se emite cuando un elemento de una suscripción no se paga a tiempo. Enlaza a tu propia página de facturación.
- Seguimiento tras una cancelación o una prueba abandonada: el evento subscriptionItem.canceled se emite cuando se cancela un elemento. El evento subscriptionItem.abandoned suele indicar que una prueba terminó sin un método de pago registrado.
- Confirmaciones de la lista de espera: el evento waitlistEntry.created se emite cuando una dirección de email se apunta a tu lista de espera de Clerk.

## Los eventos de organización necesitan un creador conocido

El evento organization.created no incluye ninguna dirección de email. Brew busca el ID de usuario del creador entre las identidades que ya ha visto en eventos anteriores de Clerk de la conexión actual. Si encuentra un email real, el evento sigue adelante. Si no, Brew registra el evento con un destinatario no resuelto, no crea ningún contacto y no inicia ninguna automatización.

Suscribe también el endpoint a user.created para que Brew pueda conocer las direcciones de los creadores. Para un email que tiene que llegar siempre a una persona, usa organizationMembership.created, que incluye la dirección del miembro.


## Configura Clerk en Brew

- Abre Integraciones, elige Clerk y selecciona Generar URL del webhook.
- En el panel de Clerk, abre Webhooks y añade un endpoint con la URL de Brew.
- Suscribe el endpoint a los 13 eventos compatibles de los grupos user, organization, organizationInvitation, organizationMembership, paymentAttempt, subscription, subscriptionItem y waitlistEntry, y luego créalo.
- Muestra el secreto de firma del endpoint, que empieza por whsec_, pégalo en Brew y selecciona Conectar. Brew verifica cada entrega con la especificación Standard Webhooks (Svix).
- En Clerk, abre la pestaña Testing del endpoint, elige user.created y selecciona Send Example. En Brew, el estado pasa de “Esperando un evento de prueba” a “Conectado”. Un evento de ejemplo solo verifica el webhook: Brew no añade ningún contacto ni inicia ninguna automatización.
- Al conectar, Brew crea disparadores para los 13 eventos. No hay ningún interruptor para activar o desactivar eventos.
- Crea una automatización, selecciona su evento de Clerk y envía una prueba mientras siga siendo un borrador. Cuando llega un evento que coincide, solo se ejecutan las automatizaciones activas.

## Eventos de Clerk compatibles

Brew admite 13 tipos de evento:

- 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

## Sincronización de contactos y personalización

Cada evento verificado con una dirección de email real crea o actualiza un contacto de Brew, identificado por su email, tanto si alguna automatización usa el evento como si no. Cuando los datos están disponibles, Brew completa el nombre, el apellido y clerk_user_id.

El evento user.created también completa clerk_username, clerk_image_url, clerk_signed_up_at y clerk_last_sign_in_at. Los eventos de invitación y de pertenencia completan clerk_organization_id, clerk_org_role y clerk_org_role_name. Las invitaciones añaden clerk_org_invitation_status, y las pertenencias, clerk_organization_name y clerk_organization_slug.

Los eventos de facturación completan clerk_subscription_status y clerk_plan_name, y algunos añaden clerk_plan_slug, clerk_subscription_period_end o clerk_is_trialing. El evento paymentAttempt.created completa clerk_last_payment_attempt_status y clerk_last_payment_attempt_at, y waitlistEntry.created completa clerk_waitlist_status.

Usa el esquema de payload declarado del evento seleccionado para las etiquetas de combinación. Todos los eventos incluyen email, firstName, lastName y createdAt. Los demás campos, como planName, planAmount, roleName, organizationName y grandTotalFormatted, dependen del evento. Los campos planAmount y grandTotalAmount están en la unidad más pequeña de la moneda, así que, en USD, 2000 equivale a 20,00 dólares. Las marcas de tiempo se expresan en segundos Unix.

Los ID de los objetos de Clerk, como los de usuario, organización y suscripción, no son etiquetas de combinación. El ID de usuario se guarda en el contacto como clerk_user_id.

Una cuenta de Clerk no acredita el consentimiento para emails de marketing. Guarda el consentimiento en el momento del registro y compruébalo antes de hacer envíos promocionales.


## ¿Se puede enviar un email de pago fallido con paymentAttempt.created?

No de forma fiable. Brew solo recibe paymentAttempt.created, no las actualizaciones posteriores del intento. Su campo status puede valer pending, paid o failed, pero un pago que falla después de crearse el intento llega a Brew como un evento no compatible. Para los pagos vencidos, usa subscriptionItem.pastDue. Para mostrar un total en el texto del email, grandTotalFormatted contiene un valor ya formateado, como $22.00.


## ¿Por qué aparece un evento sin que se envíe ningún email?

Recibir un evento y enviar un email son pasos distintos. Confirma que haya una automatización coincidente activa; después, revisa sus filtros y su historial de ejecuciones, y comprueba que el destinatario pueda recibir el email y el estado del dominio de envío. Una entrega hecha con Send Example verifica el webhook, pero nunca inicia una automatización, y un evento organization.created sin un creador conocido se registra como no resuelto.


## Límites y solución de problemas

- Brew no puede crear ni modificar usuarios, organizaciones ni suscripciones de Clerk.
- Solo los 13 eventos de la lista inician automatizaciones. Los demás eventos de Clerk, como las actualizaciones y las eliminaciones de usuarios, se registran como no compatibles.
- Si Clerk muestra un error 401 en todas las entregas, el secreto de firma de Brew no coincide con el secreto del endpoint en Clerk. Muestra el secreto actual en Clerk y vuelve a conectar con él.
- Brew exige que el secreto de firma empiece por whsec_ y tenga al menos 24 caracteres.
- Revisa el consentimiento y la finalidad de cada email. Sincronizar los usuarios de Clerk no autoriza a hacer envíos promocionales.

## Fuentes y guías de configuración

- [Guía de configuración de Clerk](https://docs.brew.new/integrations/import/clerk)
- [Crea una automatización](https://docs.brew.new/create-emails/build-an-automation)
- [Etiquetas de combinación](https://docs.brew.new/create-emails/merge-tags)
- [Qué puedes enviar con Brew](https://docs.brew.new/get-started/what-you-can-send)
- [Introducción a los webhooks de Clerk](https://clerk.com/docs/guides/development/webhooks/overview)

## Relacionado

- [Todas las integraciones](https://brew.new/es/browse/integrations.md)
- [Crear cuenta](https://brew.new/es/sign-up.md)
- Sitio web: https://brew.new
