> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brew.new/llms.txt
> Use this file to discover all available pages before exploring further.

# Trigger Emails from Stripe, Clerk, Shopify, and More

> Connect an event source and its events fire your Brew automations. No webhook glue.

<Note>
  **January 2026** · Available on all plans.
</Note>

## What Shipped

Firing an email on a real event used to mean writing webhook glue: catch the
event, verify the signature, map the payload, match it to a flow, sync the
contact. Today, that's built in. Connect an event source and Brew handles the
whole path, verified, published, and contact-synced.

Available now, seven providers across auth, billing, and commerce:

* **Stripe** (22 events): subscriptions, invoices, checkouts, refunds, quotes
* **WorkOS** (18 events): SSO, SCIM, password resets, org membership
* **Shopify** (15 topics): customers, orders, checkouts, carts, fulfillments
* **Clerk** (13 events): signups, org changes, billing, waitlist
* **Supabase** (12 auth events): signups, email confirmation, password changes, bans
* **RevenueCat** (11 events): purchases and subscriptions across every store
* **Stytch** (8 events): Consumer and B2B user and org lifecycle

<video autoPlay loop muted playsInline className="w-full rounded-xl" src="https://0edx89zhjrasqnjf.public.blob.vercel-storage.com/docs/brew_event_integration_populated.webm" />

## How It Works

Connecting a provider provisions every supported event at once. There's no
per-event enable step.

<Steps>
  <Step title="Connect the Provider">
    In **Integrations**, connect the provider. Stripe is one-click OAuth with
    an auto-registered webhook. Clerk, Shopify, WorkOS, RevenueCat, and Stytch
    give you a brand-scoped Brew URL to paste in, plus a signing secret.
    Supabase installs a signed trigger on `auth.users` from a SQL block Brew
    generates.
  </Step>

  <Step title="Brew Verifies Every Delivery">
    Stripe SDK signature, Clerk and Stytch via Standard Webhooks, Shopify HMAC
    plus shop-domain check, WorkOS timestamped HMAC, Supabase HMAC from
    pgcrypto. Tampered or replayed events are rejected.
  </Step>

  <Step title="Events Fire Automations and Sync Contacts">
    On each verified event, Brew starts every published automation whose
    trigger matches, and upserts the contact into your audience.
  </Step>
</Steps>

Each provider has a **Manage → Recent events** panel, so you can fire a test
event and watch it land before you point an automation at it.

## Real Events, Not Raw Table Rows

Some sources only emit generic changes. Brew classifies them into events you'd
actually email on. Supabase is the clearest case: instead of a bare `UPDATE`,
Brew fires `auth.user.email_confirmed` the moment `email_confirmed_at` flips
from null to set, or `auth.user.password_changed` when the password hash
changes. Nine of Supabase's twelve events are these column-transition
classifications.

## Contacts Sync with Provider-Namespaced Fields

Every event upserts the contact keyed on email, with provider fields you can
filter and merge on: `stripe_subscription_status`, `shopify_last_order_at`,
`clerk_plan_name`, `supabase_email_verified_at`, and the rest. New fields
become filterable columns automatically.

Reference them straight in the email:

```
Subject: Your {{@trigger:output.payload.planName}} renews soon
Filter:  shopify_last_order_at is more than 90 days ago
```

## Backfill Your Existing Customers

Stripe ships a **Sync customers** button that imports every existing customer
in the background, landing them with the same `stripe_*` fields the live
webhook writes. So a win-back segment works on day one, not just on customers
who fire an event after you connect.

## Stop One Event Without Disconnecting

Every trigger is always on once its provider is connected. To pause a specific
email, unpublish the automation bound to it. The fire decision lives on the
automation, not in a second settings tab.

## Get Started

[Connect an Integration](/integrations/integrations) and point its first event
at a published [automation](/create-emails/automations).
