PlunkPlunk
Recipes

Waitlist with confirmation email

Track signups as a custom event, store everyone who joins as a contact, and automatically email them

A waitlist is the simplest possible Plunk workflow: one tracked event from your app, one workflow that listens for it, one email.

Setup

Create the confirmation template

In Templates → New template, create a Marketing template. Use {{variable}} placeholders for anything you want to personalise from contact data:

Subject: You're on the list, {{firstName}}

Hi {{firstName}}, thanks for joining the {{product}} waitlist.
We'll let you know as soon as your spot opens up.

Track the signup from your backend

Call POST /v1/track when a user submits the form. Use a secret key (sk_*) — never call this from the browser.

curl https://next-api.useplunk.com/v1/track \
  -H "Authorization: Bearer sk_your_secret_key" \
  -H "Content-Type: application/json" \
  -d '{
    "event": "waitlist.joined",
    "email": "ada@example.com",
    "data": { "firstName": "Ada", "product": "Beta" }
  }'

This call upserts the contact (subscribed by default) and records waitlist.joined on them. Anything you put in data lands on the contact and is available as {{firstName}}, {{product}}, etc. in the template.

Pick a stable event name

A workflow's trigger event cannot be changed after the first execution. Namespace it (waitlist.joined) rather than something generic you might want to reuse.

Create the workflow

Workflows → New workflow:

  • Trigger: EVENT on waitlist.joined
  • Add a SEND_EMAIL step pointing at the template from step 1

Enable the workflow. Workflows are created disabled — until the toggle is on, nothing fires.

Tagging signups for later

If you want to segment on waitlist signups later, add an UPDATE_CONTACT step before the email:

{ "stage": "waitlist", "waitlistSource": "{{event.referrer}}" }

You can then build a segment of contacts where stage == "waitlist" to target with follow-up campaigns. This is cleaner than filtering on "ever fired waitlist.joined."

What's next