Skip to content

Start a waitlist

Say "start a waitlist" and get a signup box on your page, a place in line for each person, and invites sent in batches you choose.

Collect people who want in, then let them in a batch at a time. Each batch is small enough to talk to everyone in it.

Needs Startup

What you get

  • 1waitlist box on your pageWaitlist
  • 1Lead per signup, with a place in lineLead
  • 1confirmation email from your nameMessage
  • 20people let in, each with an invite emailLead

Your agent does

Waitlist.create → Waitlist.admit
You, to your agent

Start a waitlist.

Collect emails from people who want in.

Let people in from the waitlist in batches.

# 1. Waitlist.create
WAITLIST=$(curl -X POST https://api.sb/leaseline.app/waitlists \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"invited":1,"rank":"signup"}' | jq -r '.waitlist["$id"] | split("/") | last')

# 2. Waitlist.admit
curl -X POST https://api.sb/leaseline.app/waitlists/$WAITLIST/admit \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"count":20}'
import { $ } from 'startup-builder'

const waitlist = await $.Waitlist.create({ invited: 1, rank: 'signup' })
await $.Waitlist.admit({ waitlist: waitlist.$id, count: 20 })
WAITLIST=$(npx startup-builder do Waitlist.create --json '{"invited":1,"rank":"signup"}' | jq -r '.waitlist["$id"] | split("/") | last')
npx startup-builder do Waitlist.admit --json '{"waitlist":"'"$WAITLIST"'","count":20}'
{
  "name": "do",
  "arguments": {
    "code": "const waitlist = await $.Waitlist.create({ invited: 1, rank: 'signup' })\nreturn await $.Waitlist.admit({ waitlist: waitlist.$id, count: 20 })"
  }
}

The same sentence does more as the business grows:

StateCallsAsks first
IdeaWaitlist.createLet people in by signup order, or by best fit first?
BuildingWaitlist.admitHow many people this time?
LiveWaitlist.admitHow many people this time?

Change it

  • Let in only managers with more than 50 units.
  • Email everyone still waiting a short update.
  • Close the waitlist and open sign-up to all.

Under the hood

Systems
Waitlists, CRM, Mailboxes
Nouns
Waitlist, Lead, Message
Events
Waitlist.joined, Waitlist.admitted

Each signup joins by Waitlist.join and becomes a Lead. Waitlist.admit lets in the next people in line, by signup order or by best fit.