Webhooks
Set webhookUrl on a waitlist (via MCP create_waitlist/update_waitlist, CLI --webhook, or the API) and Waitloop POSTs to it on every new signup and every referral milestone.
signup.created
{
"event": "signup.created",
"waitlist": { "id": "0d9c…", "slug": "acme-robots", "name": "Acme Robots" },
"signup": {
"id": "7f2a…",
"email": "visitor@example.com",
"referralCode": "k2m4p6q8",
"createdAt": "2026-07-04T12:00:00.000Z"
}
}
referral.milestone
Fires when a referrer crosses 1, 5, or 10 referrals — the moments they earn a queue item (balloon, pennant, golden glow). Useful for thanking your best sharers automatically.
{
"event": "referral.milestone",
"waitlist": { "id": "0d9c…", "slug": "acme-robots", "name": "Acme Robots" },
"signup": {
"id": "3b1e…",
"email": "sharer@example.com",
"referralCode": "x7f2m4p6",
"referralCount": 5
},
"milestone": { "referrals": 5, "item": "pennant" }
}
- Delivery is fire-and-forget with a 5s timeout; there are no retries yet.
- Duplicate signups (same email joining again) do not fire the webhook.
- Remove the webhook by setting
"webhookUrl": nullviaPATCH.