> ## 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.

# Launch from a Waitlist

> Confirm every waitlist signup the moment they join, keep them warm, and run the launch-day sequence when you open the doors.

A waitlist is an audience that builds itself, but only if you treat it as one. Most teams collect signups for months and send nothing until launch day, by which point half the list has forgotten they joined. The fix is two emails and one flow: confirm the signup immediately, check in while they wait, and run a proper sequence when you open the doors.

This recipe uses [Clerk](/integrations/import/clerk), whose `waitlistEntry.created` event fires the moment someone joins.

<Info>
  **Before you start.** You need a [verified sending domain](/get-started/verify-your-sending-domain) and a Clerk application with the waitlist feature enabled. If your waitlist lives elsewhere, fire a [custom event](/create-emails/automations#trigger-events) from your backend instead; the rest of the recipe is identical.
</Info>

## 1. Connect Clerk

Follow the [Clerk integration setup](/integrations/import/clerk): paste the brand-scoped webhook URL into Clerk, enable the `waitlistEntry` events, and confirm a test event lands in the **Manage → Recent events** panel. Every Clerk event also upserts the person into your [audience](/audience/add-contacts) automatically, so your waitlist contacts accumulate in Brew without an import step.

## 2. Confirm the Signup Instantly

Build a single-email automation triggered by `waitlistEntry.created`. This is the highest-open-rate email you will ever send this contact, so give it a job beyond "you're on the list":

```text theme={null}
Create a waitlist confirmation email triggered by waitlistEntry.created.
Confirm their spot and tell them roughly when to expect access. Give them
one useful thing today: a link to the demo video or the changelog. Set
expectations for how often we'll email before launch. Short and warm.
```

Set it **Live** and every new signup gets confirmed within seconds, for as long as the waitlist runs.

## 3. Keep Them Warm While They Wait

A silent waitlist decays. Add a second email to the same flow, two to three weeks after the first, sharing real progress:

```text theme={null}
Add a second email to this flow, 3 weeks after the first. Share two
things we've shipped since they joined and one thing coming next.
No CTA beyond a reply. Build-in-public tone, no hype.
```

If your wait is long, send fresh progress updates as one-off [Emails](/create-emails/emails) to the waitlist audience instead, so the content stays current rather than frozen in the flow.

## 4. Launch Day: Run the Sequence

Save an audience of your waitlist contacts, then use a [one-off flow](/recipes/run-a-one-off-flow) rather than a single blast. The flow gives you a built-in follow-up for the people who miss the first email:

```text theme={null}
Build a one-off launch flow I can run manually against my waitlist audience.

Email 1: we're live. Their access is ready, here's the door. One CTA to
sign in. Confident, no countdown-timer urgency.
Wait 2 days.
Filter: only contacts who did NOT open email 1.
Email 2: shorter version with a different subject line. Same CTA.
```

Test it with **Test automation**, check the contact count on the trigger node, and run it. The automation shows **Sending** while the run is in flight and **Sent** when it completes.

## 5. After Launch

Two cleanup moves:

* **Retire the waitlist flow.** Archive the `waitlistEntry.created` automation once the waitlist closes, or leave it live if you're still gating access.
* **Hand off to onboarding.** New users now arrive via `user.created`, so point a [welcome flow](/recipes/build-a-welcome-flow) at that event and let the regular lifecycle take over.

## Need help?

Our team is ready to support you at every step of your journey with Brew. Choose the option that works best for you:

<Tabs>
  <Tab title="Self-Service Tools">
    <CardGroup cols="2">
      <Card title="Search Documentation" icon="magnifying-glass" color="#c44925">
        Type in the "Ask any question" search bar at the top left to instantly find relevant documentation pages.
      </Card>

      <Card title="ChatGPT/Claude Integration" icon="robot" color="#c44925">
        Click "Open in ChatGPT" at the top right of any page to analyze documentation with ChatGPT or Claude for deeper insights.
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Talk to Our Team">
    <CardGroup cols="2">
      <Card title="Schedule a Call" icon="calendar" color="#c44925" href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ1iYoRUG1J792XQpbuQLjSRRDupr7MwraFK-HQRCtTYdBmrQi8nZu2qXfzKQigb8gbKJK3KN3-R">
        Book time with our founders for personalized guidance on strategy, best practices, or complex implementation questions.
      </Card>

      <Card title="Call Us Directly" icon="phone" color="#c44925">
        Need immediate assistance? Reach us at **+1-(332)-203-2145** for urgent issues or time-sensitive questions.
      </Card>

      <Card title="Slack Channel" icon="slack" color="#c44925">
        Our preferred support channel. You'll receive an invite after signup for direct founder support and fast responses.
      </Card>

      <Card title="Email Support" icon="envelope" color="#c44925" href="mailto:support@brew.new">
        Contact us at **[support@brew.new](mailto:support@brew.new)** for detailed inquiries or if you prefer not to use Slack.
      </Card>
    </CardGroup>
  </Tab>
</Tabs>
