skills/sales-waitlister/SKILL.md
Waitlister platform help — pre-launch waitlist platform with hosted landing pages, points-based viral referrals, built-in email broadcasts, REST API, and five HMAC-signed webhook events. Use when choosing Free (100 subscribers) vs Launch $15/mo (unlimited subs, referrals + broadcasts) vs Growth $49/mo (API, webhooks, Klaviyo/Mailchimp/Kit sync, fraud detection unlock here) vs Business $129/mo, building a webhook handler that verifies X-Webhook-Signature, webhooks auto-disabled after 10 consecutive failures, API signups bypassing referral fraud detection because client_ip/fingerprint weren't forwarded, granting bonus points or pulling top referrers via the API for reward fulfillment, broadcast send caps forcing an ESP handoff, automating without Zapier (Waitlister has none — webhooks/API only), or comparing Waitlister vs LaunchList/KickoffLabs/GetWaitlist/Prefinery. Do NOT use for list-growth strategy (use /sales-audience-growth) or LaunchList help (use /sales-launchlist).
npx skillsauth add sales-skills/sales sales-waitlisterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
If references/learnings.md exists, read it first for accumulated platform knowledge.
What are you trying to do?
Where will signups happen? Hosted page / embed on your site (which builder?) / your own backend via API — drives install path and whether fraud params matter.
Where must the data end up? Stays in Waitlister / ESP (which?) / CRM / warehouse — drives whether you need Growth ($49) for API/webhooks/connectors.
Skip-ahead rule: if the user's prompt already contains enough context, skip to Step 2.
| If the question is about... | Route to... |
|---|---|
| General audience/list growth strategy across platforms | /sales-audience-growth [question] |
| LaunchList (one-time-pricing waitlists, no API) | /sales-launchlist [question] |
| KickoffLabs (waitlists + giveaways, Zapier, fraud webhooks) | /sales-kickofflabs [question] |
| UpViral (B2C sweepstakes/points campaigns) | /sales-upviral [question] |
| Multi-level referral/affiliate (L1/2/3, coupon groups) | /sales-referralhero [question] |
| No-code merge-tag newsletter referrals | /sales-referralkit [question] |
| ESP setup (Klaviyo, Mailchimp, Kit) | /sales-klaviyo, /sales-mailchimp, /sales-kit |
| Email marketing strategy once the list exists | /sales-email-marketing [question] |
If the question is Waitlister-specific, continue to Step 3.
Read references/platform-guide.md for the full reference — capabilities tagged by automation surface, pricing and plan gates, integrations, subscriber data model, quick-start recipes (server-side signup with fraud params, signed webhook handler, reward fulfillment via points API), integration patterns, and the comparison grid.
Read references/waitlister-api-reference.md for the API — base URL https://waitlister.me/api/v1, X-Api-Key auth, 5 endpoints with verbatim request/response JSON, page/limit pagination (max 100), per-plan rate limits (60/120 RPM), and all five webhook event payloads verbatim with the HMAC SHA-256 verification scheme.
Answer the user's question using only the relevant section. Don't dump the full reference.
Focus on the user's specific situation:
X-Webhook-Signature (HMAC SHA-256 over the raw body) and dedupe on X-Waitlister-Delivery — deliveries retry and are at-least-once.metadata.client_ip and fingerprint — server-side integrations silently lose referral fraud protection without them.points on update-subscriber is absolute, not incremental — read current points, then write the new total.If you discover a gotcha, workaround, or tip not covered in references/learnings.md, append it there.
Best-effort from research (2026-06-06) — review these, especially plan-gated features and pricing that may shift.
metadata.client_ip (and ideally fingerprint) are forwarded from the end user.points is a write-the-total field, not an increment — concurrent bonus grants can race; serialize updates per subscriber.is_pending_confirmation; pending signups that never confirm fire subscriber_pending_expired, not signup_created follow-ups./sales-audience-growth — List-growth strategy (lead magnets, referrals, cross-promotion across all platforms)/sales-launchlist — LaunchList (one-time-pricing waitlists, form POST + webhooks, no API)/sales-kickofflabs — KickoffLabs (waitlists + giveaways with REST API v1+v2, fraud webhooks, Zapier)/sales-upviral — UpViral (viral sweepstakes/rewards, API at Business+, Zapier/Make)/sales-referralhero — ReferralHero (full-stack referral/affiliate, multi-level L1/2/3, REST API)/sales-referralkit — ReferralKit (no-code merge-tag newsletter referrals)/sales-klaviyo — Klaviyo platform help (native connector destination)/sales-mailchimp — Mailchimp platform help (native connector destination)/sales-kit — Kit platform help (native connector destination)/sales-email-marketing — Email marketing strategy (what to send once you have the list)/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-do -a claude-codeUser says: "Launching a SaaS beta in 8 weeks. I want referral-driven signups and everything synced into Klaviyo automatically. Which Waitlister plan?" Skill does: Recommends Growth ($49/mo) — the Klaviyo connector, webhooks, API, and fraud detection all unlock there; Launch ($15/mo) covers referrals + broadcasts but exports are CSV-only. Notes unlimited subscribers from Launch up, the 10K/mo email cap on Growth, and that yearly billing is ~2 months free. Suggests sending segmented campaigns from Klaviyo rather than Waitlister broadcasts. Result: User picks Growth annual, connects Klaviyo, keeps Waitlister broadcasts for simple all-list updates.
User says: "How do I build a webhook handler for Waitlister signups that pushes them into HubSpot and credits referrers in real time?"
Skill does: Walks through Integrations → Webhooks → Manage with a secret set, then Recipe 2 from references/platform-guide.md: verify X-Webhook-Signature (HMAC SHA-256 over raw body, hmac.compare_digest), dedupe on X-Waitlister-Delivery, route waitlist.signup_created → HubSpot contact create and waitlist.referral_completed → referrer score bump, respond 2xx within 15s, and monitor for the 10-failure auto-disable.
Result: User has a verified, idempotent handler feeding HubSpot with referral attribution.
User says: "People are gaming our waitlist referral rewards with fake signups. We add some subscribers through our own backend too. What do we do?"
Skill does: Confirms fraud detection requires Growth+; for API-added subscribers, shows the metadata.client_ip + fingerprint params (without them API signups bypass detection entirely). Recommends double opt-in so unconfirmed referrals don't count, watching referral_completed webhooks for same-IP velocity, and fulfilling rewards from verified milestones (milestone_reached) rather than raw referral counts.
Result: User enables double opt-in + fraud params and gates rewards on verified milestones.
Symptom: Events arrived for days, then silence — no deliveries at all
Cause: The webhook auto-disabled after 10 consecutive failures (endpoint down, >15s responses, or non-2xx replies); it does not self-recover
Solution: Fix the endpoint first (respond 2xx in <15s; do slow work async), then manually re-enable under Integrations → Webhooks → Manage. Backfill the gap via GET /subscribers sorted by date. Add monitoring on the webhook's Active/Inactive/Disabled status.
Symptom: Same-IP or disposable signups counting toward rewards despite fraud detection being on
Cause: Signups came through the API without metadata.client_ip/fingerprint (detection has nothing to inspect), or plan is below Growth
Solution: Forward the real end-user IP and a browser fingerprint on every API signup. Enable double opt-in so unconfirmed emails never complete referrals. Gate reward fulfillment on milestone_reached events and spot-check top referrers via GET /subscribers?sort_by=referral_count before paying out.
Symptom: Rate limit exceeded. 60 requests allowed per minute. while paginating subscribers
Cause: Growth plan allows 60 requests/minute on subscriber endpoints (Business: 120); pagination max is 100 per page
Solution: Request limit=100, watch X-RateLimit-Remaining, and on 429 back off exponentially (docs suggest up to 30s max across 5 attempts) or sleep until X-RateLimit-Reset. For recurring syncs, prefer webhooks (push) over polling. Business doubles the limit if exports are routinely large.
development
LaunchList platform help — viral pre-launch waitlist platform with one-time lifetime pricing, gamified referrals (queue jumping, leaderboard, position inflation), embed widget + custom form POST endpoint, new_user/email_verify webhooks, Zapier, and spam protection. Use when choosing Free (100 submissions) vs Launch $29 (500) vs Grow $79 one-time (10K — webhooks, Zapier, team unlock here), wiring waitlist signups into Mailchimp/Kit/HubSpot or a CRM because LaunchList has no email broadcast system, needing programmatic access when there is no public REST API yet (form POST + webhook workaround), building a webhook handler with referred_by referral attribution, blocking disposable-email or bot signups on a viral waitlist, a custom signup form not submitting or not tracking referrals, or comparing LaunchList vs KickoffLabs/Viral Loops/Prefinery/GetWaitlist on one-time vs subscription pricing. Do NOT use for list-growth strategy (use /sales-audience-growth) or KickoffLabs help (use /sales-kickofflabs).
development
UpViral platform help — viral referral marketing and list-building platform (by Emarky) for viral sweepstakes, giveaway/reward campaigns, pre-launch waiting lists, and milestone referrals, with REST API (`app.upviral.com/api/v1/`, form-encoded `uvapikey` + `uvmethod`), Callback-URL webhooks, IP-based fraud detection, and 30+ ESP/CRM integrations. Use when campaigns aren't tracking referral points, deciding between Starter $79/mo (10K leads, NO API) vs Business $119/mo (API + webhooks) vs Premium $319/mo, the API erroring because you're on Starter where API/webhooks are gated, building a pipeline with `add_contact`/`get_leads`/`get_leads_points`, interpreting same-IP suspicious-referral flags, or picking UpViral over Viral Loops/Vyper/Gleam. Do NOT use for newsletter audience growth (use /sales-audience-growth), KickoffLabs help (use /sales-kickofflabs), merge-tag referrals (use /sales-referralkit), SparkLoop recommendations (use /sales-sparkloop), or multi-level Level 1/2/3 tracking (use /sales-referralhero).
tools
ReferralHero platform help — full-stack referral, affiliate, waitlist, contest, and NPS platform with REST API, webhooks, Zapier, native ESP connectors, multi-level referral tracking (Level 1/2/3), coupon groups, anti-fraud, and a 5,000 calls/hour limit. Use when referrals aren't tracking, deciding between Free (no API) vs PRO $199/mo (API + webhooks) vs PREMIUM $399/mo (ReCaptcha + SMS Verification), auth failing with `no_token` or `Bearer` vs `X-API-Key`, Level 2/3 counts off from calling `level_2_all_referrals` not `level_2_referrals`, bulk 429s from not chunking the 500-transaction `add_bulk_transactions` limit, coupon endpoints 404 without a coupon group, reward fulfillment (`promote` then `unlock_promoted_reward`) failing, or comparing to SparkLoop/ReferralKit/GrowSurf. Do NOT use for newsletter audience growth (use /sales-audience-growth), merge-tag referrals (use /sales-referralkit), SparkLoop recommendations (use /sales-sparkloop), or affiliate strategy across tools (use /sales-affiliate-program).
tools
KickoffLabs platform help — viral marketing for pre-launch waitlists, bonus-entry giveaways, milestone-reward referral programs, and leaderboard giveaways with REST API v1 + v2, server-side webhooks (`__fraudulent`/`__referral`), AnyForm + KOL.js, and native ESP/Shopify/Zapier integrations. Use when viral campaigns aren't tracking referrers, deciding between Hobby $13/mo (500 leads, no A/B no reward emails) vs Premium $48/mo (A/B + reward emails) vs Business $99/mo vs Enterprise $202/mo, the API key is rejected for being embedded client-side, webhook `__fraudulent` codes (`duplidate_email`/`duplicate_ip`/`bounced`) need a triage workflow, choosing v1 vs v2 endpoints, leaderboard capped at 50, lead-cap auto-upgrade inflating bills, or comparing to Viral Loops/UpViral/Prefinery. Do NOT use for newsletter audience growth (use /sales-audience-growth), merge-tag referrals (use /sales-referralkit), SparkLoop paid recommendations (use /sales-sparkloop), or multi-level Level 1/2/3 referrals (use /sales-referralhero).