Changelog

Everything we ship to LaunchList, newest first.

RSS

The LaunchList plugin for WordPress

The LaunchList plugin is in the WordPress plugin directory. Add your form to any page with a block or a shortcode, or send the signups of the WordPress forms you already have to LaunchList.

Install it from WordPress#

In WordPress, open Plugins → Add New Plugin, search for LaunchList, then click Install Now and Activate. Open LaunchList in the WordPress menu and click Connect to LaunchList to link the site to your workspace. You do it once per site. The plugin is on every plan, and its page in the directory is wordpress.org/plugins/launchlist.

Your form on any page#

Add the LaunchList form block and pick your form from a list, each named with its project. The form appears as you designed it in LaunchList, and each person sees their place in line and their referral link as soon as they join. The same block can show a popup button, a widget such as a signup counter or a leaderboard, or your updates. In a page builder or the classic editor, use the [launchlist] shortcode.

The forms you already have#

Keep a form you built in Contact Form 7, WPForms, Gravity Forms, Elementor Pro, Fluent Forms, Ninja Forms or Formidable Forms, and send its signups to LaunchList too. Choose the form, match its fields to yours, and it works as before: its emails, saved entries and success message are unchanged. A signup LaunchList cannot take at once waits on your site and is tried again for up to a day, and a delivery log in WordPress shows what happened to each one.

Referrals that follow the visitor#

With your site connected, LaunchList runs on every page, so a referral link someone clicked is credited wherever they sign up, for up to 90 days. Where your consent plugin uses the WP Consent API, it waits for marketing consent.

The steps, and the fixes for a form that does not show, are in the WordPress guide.

NewImproved

LaunchList is in Claude's connector directory

Connect LaunchList from Claude's connector directory, then go from an idea to a live waitlist page in one chat. In Claude Code, the LaunchList plugin now has six skills, including one that tests demand for an idea.

Connect it from Claude#

LaunchList is now in Claude's connector directory. In Claude, open Customize, then Connectors, search for LaunchList and choose Connect. Then sign in to LaunchList and approve the workspace Claude may use. Your LaunchList sign-in is all it needs. The steps are on the Claude page, and you can open the LaunchList listing directly.

On Claude Team and Enterprise plans, an Owner adds LaunchList for the organization first. Then each member connects it and signs in with their own LaunchList account.

From an idea to a live page#

Describe your idea, and Claude sets up a project and writes its launch page. Change the page in plain words while it is a draft. When you ask Claude to put it live, it shows you the address and what will go live, and publishes only after you say yes. Then ask how your signups are going.

Six skills in Claude Code#

The LaunchList plugin for Claude Code adds a sixth skill, validate-idea. It tests demand for an idea with a quick waitlist and reads the result honestly, against figures from real waitlists. Add the marketplace with /plugin marketplace add getlaunchlist/launchlist-agents, then run /plugin install launchlist@launchlist-agents.

A free guide to where to launch your startup

Startup directories, launch boards and communities, each with what we found there and the date we checked it. Build your own launch plan from it.

1,037 places in one list#

The guide is at getlaunchlist.com/directories. It lists 1,037 places where you can launch a startup: startup directories, launch boards, AI directories, subreddits, forums, newsletters, review sites and deal sites. We checked them between Oct 14 and 30, 2026.

Each place shows what we found: whether it is alive, what a listing costs and whether its link is dofollow. Each one also shows the date we checked it, so you can see how fresh the facts are before you submit.

Two lists to begin with#

Start here is the short list of 8 places most launches begin with. Free and dofollow is the 74 places that list you for free and give a dofollow link.

Make a plan from it#

The guide is free to use, and you can start without an account. Pick the places you want and they go into My launch plan, which is kept in your browser.

NewImproved

LaunchList is in ChatGPT's plugin directory

Install LaunchList from the ChatGPT plugin directory, and let an assistant publish your launch page after you say yes. When a plan limit blocks a request, it names the plan and gives an upgrade link.

Install it from ChatGPT#

LaunchList is now in OpenAI's plugin directory, which ChatGPT and Codex share. In ChatGPT, open Plugins, find LaunchList and choose Install plugin. Then sign in to LaunchList and approve the workspace it may use. No key is needed. The steps are on the ChatGPT page, and you can open the LaunchList listing directly.

Projects and publishing from chat#

An assistant can now create a project or rename one. It can also publish your launch page, in two steps: it shows you the address and what will go live, and publishes only after you say yes in the chat. Publishing needs a verified email address on your LaunchList account.

Plan limits name the plan#

When a plan limit blocks a request, the assistant now says which plan the limit is on and gives you a link to upgrade, instead of a bare error.

Top referrers#

A new get_leaderboard tool returns your top referrers, so an assistant can answer "who is bringing in the most people?" and, if you ask, tag or invite them.

Joining your waitlist is agreeing to hear from you

Everyone who signs up is on your list and can get your emails, whether or not they verified their email. Each broadcast and automation now chooses who gets it, and verifying an email is proof that the address is theirs.

Everyone who joins is subscribed#

Signing up for a waitlist is asking to hear about the launch, so everyone who joins, from your launch page, an embedded form, the API or an AI assistant, is subscribed straight away. Nobody waits on a link before your emails can reach them.

The form switch that used to be called double opt-in is now Ask people to verify their email. It is still on by default for waitlist forms, and it still sends a link. Verifying proves the address belongs to the person who typed it: their welcome email and their referrer's credit wait for that click, as they always did. It no longer decides whether they are on your list.

You choose who gets each email#

Each broadcast has a Who in this audience choice, and each automation has Send its emails to on its trigger step:

  • Verified email: people who clicked the link to verify their email.
  • Waiting for verification: people we sent that link to who have not clicked it yet.
  • Verified or not: everyone subscribed, including people you never asked to verify.

Each choice shows how many people it reaches. A new broadcast or automation starts on Verified email when every form in the project asks people to verify, and on Verified or not otherwise. If your choice includes people who have not verified, the send dialog says how many, and lets you check their emails with credits before you send.

One status per signup#

The Status column on Audience → Signups now says one thing about each person: Verified, Waiting for verification, Not verified (nobody asked them to), No email, Not subscribed, Unsubscribed or Can't email. The pinned views above the table are Everyone, Verified, Waiting for verification, Unsubscribed and Can't email.

People who were waiting on a verification link when this shipped are now subscribed, and show in Waiting for verification. Nobody was emailed and nobody was enrolled in an automation because of it.

Your first emails go out gradually#

Until your sending record is established, a broadcast to more than 50 people starts with 50 and grows each hour, up to 1,000 an hour, even if you chose to send it all at once. The check before you send says how long yours will take. It keeps a first send from reaching an inbox provider all at once, and it lifts on its own once your first sends land cleanly.

A subscribed contact now says "subscribed" in the API

Everyone who signs up is now subscribed when they join, and the status of a subscribed contact is `subscribed`, not `verified`, in the API, exports, and new webhooks and Zapier and Make connections. Verifying an email is proof only. Webhooks you already have keep `verified`.

What changed#

A contact who is subscribed, and so receives your broadcasts, used to have the status verified. It is now subscribed. That is the word the dashboard already used, and it stops the status being confused with proof that someone owns an address, which is the separate verified_at date.

New signups are subscribed the moment they join. Joining a waitlist is agreeing to hear from you, so a new contact from a form, an embed, POST /v1/contacts or the MCP server comes back with status: "subscribed", whether or not your form asks people to verify their email. That switch is now called Ask people to verify their email, and it only decides whether we send a verification link. verified_at and the contact.verified event mean proof and nothing else: the person clicked that link. POST /v1/contacts also returns verification (verified, waiting, not_asked or no_email) so you can see where they stand without inferring it, and no longer takes a double_opt_in parameter: the form decides. Signups who were still waiting on that click when this shipped are now subscribed too, and show in the Waiting for verification view. Nobody was emailed, and nobody was enrolled in an automation. Each broadcast and automation chooses who in its audience gets it (Verified email, Waiting for verification, or Verified or not) so you decide who they reach.

You will see subscribed in:

  • the status of a contact in the REST API, the MCP server and the contact count;
  • the contact in webhook events, for webhooks you create from now on, including the ones Zapier and Make create for you;
  • the Status column of a CSV export, and the status a form returns after a signup;
  • the events feed, GET /v1/events;
  • widget data sources and segment rules that filter on status.

What did not change#

Webhooks you already have. An existing webhook endpoint keeps receiving verified, exactly as before, so nothing you built against it breaks. It stays on the version it was created on, which every delivery shows as api_version (2026-07-30). New webhooks are on version 2026-10-27 and say subscribed. To move an existing one over, create a new endpoint and delete the old one.

verified still works when you send it: as the status filter on GET /v1/contacts, in a segment rule, and in the MCP tools. We read it as subscribed. Segments, widgets and saved filters you already have keep working, and we rewrite them for you. Nothing else is renamed: the contact.verified event still means someone clicked their verification link, and verified_at and the contact's trust level keep their names.

What to do#

If your code reads a contact's status from the REST API, compare it to subscribed instead of verified. If you send verified today, it keeps working for now, but switch to subscribed when you next touch it. Webhooks need nothing from you unless you create a new endpoint, which then sends subscribed.

The LaunchList app for Google Sheets

Connect Google Sheets and every new signup is added to a sheet as a row, with the columns you choose. On the Launch plan and the Grow plan.

A row for every signup#

Connect your Google account and choose where the signups go: a new spreadsheet, or one you already have. The signups you already have are added first, then each new signup as a row, usually within a minute. A row is written once and never changed afterwards, so the sheet is a record of who signed up and what they told you.

Your sheet, your columns#

Pick the columns: email, name, referral code and link, who referred them, where they came from, UTM values, country, when they joined and the answers to your own form's questions. A spreadsheet you already have gets a tab of its own, "LaunchList signups", so LaunchList never writes over your data. Test signups and signups past your plan's size are never added, and a signup held for review is added once you approve it.

Only the sheets you choose#

LaunchList can open only the spreadsheets it creates or you pick, and nothing else in your Google Drive. When you erase a signup while Google Sheets is connected, LaunchList deletes their row.

Connect it#

In Embed & API, find Google Sheets under Connectors and press Connect. The app is on the Launch plan and the Grow plan. The steps are in the Google Sheets guide.

The LaunchList app on Make

The official LaunchList app on Make works both ways. Signups, referrals and invites start scenarios, and your other apps can add, tag, move or invite your signups.

Scenarios that start in LaunchList#

The LaunchList app on Make has 10 instant triggers. A new signup, a confirmed email, a credited referral, a stage change, a form response, an unsubscribe and each step of an invite (issued, redeemed, revoked, expired) can start a scenario the moment it happens. Each trigger fires for the project you pick, and signups from test mode are left out unless you include them when you create the trigger's webhook.

Scenarios that change your waitlist#

Eleven actions let your other apps work on your list: Add Contact, Find or Create Contact, Update Contact, Move Contact to Stage, Add Tag to Contact, Remove Tag From Contact, Invite Contact, Mark Invite as Redeemed, Unsubscribe Contact, Get Position and Get Contact Count. Find Contact looks someone up, and Make an API Call reaches the rest of the LaunchList API the key can use, such as your segments. Add Contact runs the same duplicate check and referral credit as your own form.

Connect it with one key#

In Embed & API, open Overview, and under Connectors press Connect on the Make row. Copy key and open Make copies the key and opens the LaunchList app on Make, where you install it in your Make organization once. Then add a LaunchList module to a scenario, press Create a connection and paste the key. The steps are in the Make guide, and the Make page has the scenarios founders build with it.

The app is on the Launch plan and the Grow plan. Webhooks still work on every plan, so you can also send events to Make with a custom webhook.

The LaunchList app for Slack

Connect Slack and a channel you choose gets each new signup, your milestones and an optional daily or weekly digest. On the Launch plan and the Grow plan.

Each new signup in a channel#

Pick a channel for each project and every new signup posts there as a card: where they came from, their referrer, their place on the list and how trustworthy the signup looks. A launch won't flood the channel: after 10 single signups in an hour, the rest post as one summary when the hour is up. Milestones (10, 100, 1,000 signups and more) and a daily or weekly digest are switches of their own.

Write the message yourself#

Open Signup message to change what each card says. You edit the card itself, filled in with your latest signup: type the headline, add or reorder the lines under it, and type @ to add a value, including the answers to your own form's questions. A line a signup has nothing for is left out of their card. Send test posts the card to your channel, marked as a test.

Names stay where they belong#

Names and email addresses appear only in a private channel that isn't shared with another organization, and you can hide them there too. Anywhere else a card shows where a signup came from, never who it is. When you erase a signup while Slack is connected, LaunchList deletes the messages it posted about them.

Connect it#

In Embed & API, find Slack under Connectors and press Connect. The app is on the Launch plan and the Grow plan. The steps are in the Slack guide.

The LaunchList app on Zapier

The official LaunchList app on Zapier works both ways. Signups, referrals and invites start Zaps, and your other apps can add, tag, move or invite your signups.

Zaps that start in LaunchList#

The LaunchList app on Zapier has 10 triggers. A new signup, a confirmed email, a credited referral, a stage change, a form response, an unsubscribe and each step of an invite (issued, redeemed, revoked, expired) can start a Zap. Each trigger fires for the project you pick, and signups from test mode are left out unless you turn them on while you build.

Zaps that change your waitlist#

Eight actions let your other apps work on your list: Add Contact, Update Contact, Move Contact to Stage, Add Tag to Contact, Remove Tag From Contact, Invite Contact, Mark Invite as Redeemed and Unsubscribe Contact. Find Contact looks someone up, and can add them when they are not on your list yet. Add Contact runs the same duplicate check and referral credit as your own form.

Connect it with one key#

In Embed & API, open Overview, and under Connectors press Connect on the Zapier row. Paste the key when Zapier asks for it. The steps are in the Zapier guide, and the app is on Zapier's app directory.

The app is on the Launch plan and the Grow plan. Webhooks still work on every plan, so you can also send events to Zapier with Webhooks by Zapier.

See every template before you sign up

Browse the nine waitlist page templates on our site, try each one live in all eight styles, and start setup on the one you pick.

The nine starting pages now have a home on our site, at getlaunchlist.com/templates. You can look through them before you have an account.

Each template has its own page. It shows the template live, so you can scroll the whole page, switch between the eight styles and check it at phone width. Under the preview you can read what is on the page from top to bottom, who it suits and what to change first.

Use this template takes you to sign up, and setup opens on the page you picked.

Blocks and what you can change#

The gallery lists every block the page editor has, with a line on what each one is for. A template is a starting set: you can add any block to any page, then move, duplicate or remove sections.

Each template's page lists the blocks it does not start with, so you can see what else you could add to it.

NewImprovedFixed

Nine starting pages and a share kit

Choose from nine starting pages, share your published page with an image made from your project, and see what happens when your audience passes your plan's size.

Nine starting pages#

You now have nine starting pages in Pick your page during setup and in the page editor. Newsletter, Referral waitlist and Developer tool join the set, with a sample issue, a waiting line and a terminal giving each one its own starting point.

In the editor, the pages are named after the sample products they show: Relay, Stride, Marlo, Pricing Sprint, Mesa, Solostack, Vesper and Ferry. Each has words and pictures about that product, so you can see how the page fits together before making it yours. One screen is the ninth, with your name, one line and a signup form.

During setup, the same choices use names for what they lead with: Simple, Screenshot, Phone, Text first, Story, Photo, Letter, Referrals and Terminal. The pages are written around your own product there.

Share your page, or finish setup on your computer#

After publishing, the sharing screen and Home give you a share kit: a story image made from your project's name, pitch, color and logo, a link for the story's link sticker, and a link to put in your profile bio. Save the image, post it and add the link. You can also share through WhatsApp.

If you open LaunchList's sign-up screen on your phone, you can ask for an email with a link to finish signing up on your computer. It returns you to the sign-up screen with your email filled in.

Collecting signups on your own website? Setup now ends on an install screen with the code to copy, where to put it, and a line that waits for your first signup. Try the form on your site to see that it is working.

Your hosted page#

The LaunchList badge sits in the corner of your page. You can hide it on the Launch plan or the Grow plan.

Your hosted page can appear in search engines when you turn search visibility on in Embed & API → Hosted page. This needs the Collect plan, the Launch plan or the Grow plan. The switch lets search engines index your page; it does not promise a place in search results.

Hosted pages load only what your page needs. Your page's visit and signup counts work as before, and any tracking tags you choose to add remain yours to control.

Replies and rewards, explained where you need them#

When you have not set a Reply-to address, replies to emails sent to your signups go to your workspace owner. Project settings → Email prefills Reply-to with the owner's address, so you can see where replies will arrive and change it if someone else should answer.

Audience → Referrals & rewards explains rewards where you first meet them: you choose what a signup gets and how many friends need to join, and LaunchList tells them when they reach that count.

The empty More ways to move up section shows example bonus actions, such as following you on X or joining your Discord. They show how points can move someone up the line. They are examples until you save your own actions, so nothing is offered to your signups before you choose it.

When your audience passes your plan's size#

New signups keep being saved when your workspace passes its contact size. Contacts past that size are hidden, never deleted, and become available when you move to a size that holds them.

Home tells you how many signups are hidden, and an email tells you once per month while you are over the size. The button opens the plan page on the next size that fits your workspace. Plan prompts also show the price at a size that holds the contacts you already have.

The Free plan now holds 100 contacts; contacts past that size are hidden, and nothing is deleted.

Talk to us#

You can chat with us in the dashboard, on the marketing site and on the sign-in screens. If you prefer email, write to contact@getlaunchlist.com.

Fixed#

  • A CSV export that could stall before finishing now completes and gives you a file to download.
  • Your first signup and progress toward your tenth count people who actually signed up, excluding contacts brought in through an import.
  • Test emails use the same Reply-to address as the real send.
ImprovedFixed

A simpler dashboard

Fewer places to look, and every setting sits beside the thing it controls. Settings save themselves, confirmations always show, and the sign-in screens are simpler.

Fewer destinations, each one clearer#

The sidebar now has the places you actually work in: Home, Pages, Forms, Embed & API, Audience, Updates, Emails, Analytics and Project settings. Everything that used to live on a screen of its own moved next to the thing it belongs with.

  • Widgets are a section of Embed & API → Your website, right beside the embed they go on.
  • Apps are the Connectors section of Embed & API → Overview.
  • AI assistants has its own tab in Embed & API, with Developers holding API keys and webhooks.
  • Audience has four tabs: Signups, Referrals & rewards, Invites and Enrichment. Segments open from Signups, and pipeline stages from the strip at the top.
  • Referrals & rewards is where you run the program: edit rewards, give one, see who is waiting. The charts and analysis moved to Analytics → Referrals.

Any old address you bookmarked redirects to where its screen lives now.

Every widget on every plan#

Counters, the signup list, the leaderboard and the rest are open on every plan, including the Free plan. Build them, style them and put them on your site without upgrading first.

Settings that save themselves#

Project, workspace and account settings are now rows. A switch saves the moment you click it. A text value shows a Save button once you change it, and saves from the row. Nothing expands underneath what you are looking at, and a risky value opens a short dialog instead.

  • Workspace is three tabs: General, Members and Billing.
  • Billing shows what to buy. Your plan is a card with its own button (Upgrade, Change plan or See plans), the credits row shows the price of the smallest pack, and the contacts row offers a bigger size once you are 80% full.
  • Buy credits is pick, then pay: choose a pack and the button states the exact charge.
  • Account is Profile, Security and Notifications.
  • Changing your name no longer asks for your password. Changing the email you log in with still does.

One feel across the app#

  • Every save says Saved, and every confirmation shows. You never wonder whether something went through.
  • Anything destructive asks first, with a button that names what it does.
  • Forms that take several fields open in a side panel, in one of three sizes. A centered dialog is only for a confirmation or a single value.
  • Leaving the editor with unsaved work asks before it throws the work away.
  • Empty screens use one design: what this is, and the one next step. If the next step needs a bigger plan, the upgrade button is the same everywhere.
  • If a screen ever fails to load, the rest of the app stays put around it.

Simpler sign-in#

The sign-in, sign-up, password reset, verification and two-factor screens share one calm layout, with less on each. Every login is now remembered for 90 days, so you stay signed in on the devices you use.

Custom domains: live means it loads#

A custom domain is now marked live only once your page actually loads on it, so "live" always means a visitor can open it. The DNS card shows the full record to add, with the right type for your host, and Check now retries a domain that needs another look.

CAPTCHA on every embed form#

If you turned on CAPTCHA, the challenge now appears on forms you wrote yourself and on native forms that post to LaunchList, not only on the inline and popup embeds. Place it above the submit button, or inside an element marked data-launchlist-captcha.

Fixed#

  • Someone you had removed from your list who signs up again is back on it, at the first stage, rather than being told they are on the waitlist while you could not see them.
  • Audience search and the command palette now find a person by the address they typed, including Gmail +tags and dotted addresses.
  • Signing up with a Google account whose profile picture has a very long address no longer fails.
  • Webhook retries now keep retrying on schedule past the second attempt, and a dead endpoint is paused as intended.
  • Keep as real on test signups works even when a real signup already has the same address: the test copy is cleared, and the confirmation says how many were kept and how many were removed.
NewImprovedFixed

Email your signups, whatever identifies them

Email signups identified by a phone number, username or wallet, invite people again in bulk, and see your email checks, points and rewards more clearly in Audience.

Email goes to the address you collect#

Your form can identify a signup by a phone number, username or wallet and still collect an email address. Welcome emails, broadcasts and automations now go to that address. How you recognize a person and where you email them are separate choices.

The form builder shows both: Identity marks the field that identifies the person, and Email address marks where their emails go. Under Identity, the builder names that email field or tells you the form collects no email address. If you collect more than one address, you can choose which field to email.

You can also see the email address beside a contact identified by something else in Signups. Before sending a broadcast, the confirmation tells you how many contacts it will reach.

When an automation email is waiting or was not sent, LaunchList tells you why. Open the contact's Emails not sent section, or see the reasons in the automation editor and Test flow. You can tell whether someone is still waiting to confirm, has unsubscribed, or has no email address, with a next step where there is something you can do.

Invite people from the Invites tab#

Open Audience → Invites and choose Invite people to invite the next people on your waitlist, ordered by referrals and then by signup date. You can start a batch here without first selecting rows on Signups.

For people whose codes have expired, choose the Expired filter and Invite all again. They get a new code and a new invitation email. A bulk Invite from Signups can invite them again too, and the result tells you who was invited, who was invited again, and who already had a working code.

Large batches run in the background. The tab shows progress, you can leave the page, and you get a notification when the run finishes. Stop asks you to confirm before ending a run. People already invited stay invited; the rest are left for another batch.

The invited list filters by where each code stands: All, Not used yet, Used, Expired, or Turned off. Emails that did not arrive and invitations that were not emailed have their own Review actions above the list.

Email validation, with results and credits together#

Audience → Enrichment now centers on checking email addresses. You check an address for 1 credit and learn whether it is deliverable, risky, disposable, or undeliverable.

The screen shows how many signups you have checked, counts for each result, and your credit balance. Choose a result to open those contacts in Signups, or check the addresses you have not checked yet from the same screen.

For results on new signups, use Check new signups for me. It costs 1 credit for each answer and applies to forms that send a confirmation email. The switch turns off when your credits run out, and you can turn it back on after adding credits.

Points move people up the line#

Referrals & rewards uses points throughout. Points move people up the line; rewards unlock from real referrals. On new projects, each referred friend is worth 10 points by default.

Open Edit rewards and a live preview shows what a signup will see as you change the reward names and the number of friends needed. Each reward also states how it is given.

The status page uses "line" and "points" consistently in every supported language, so the words your signups see match the ones you use in the dashboard.

A clearer Signups table#

When the table fits your screen, its column headers stay pinned below the toolbar as you scroll through the rows. Import and Export are labeled buttons, and Customize stages opens from the pipeline strip beside the stages themselves.

Segment and filter panels use simpler rule rows. The choice to match all or any rules appears only when there are at least two, and a segment's color sits beside its name.

Fixed#

  • A broadcast sends once to each email address, even when several contacts share that address.
  • An automation email waits for a signup to confirm while their confirmation link is valid, then continues when they confirm. If the link expires, the reason says they never confirmed.
  • After you deal with the last invite delivery problem, Invites returns to the full list and clears the warning.
NewImprovedFixed

A new page editor

The launch page editor is rebuilt, with eight styles for the same page, designed font pairings, a publish panel that shows what is about to go live, a countdown block, and an assistant that changes the page you have. First run now starts from a finished page in your own words.

The launch page editor, rebuilt#

Open Pages → Edit page and you are in a new editor. Your page is on the canvas at its real size, on desktop or at a phone's width. Click a block to edit its words and pick its layout, drag it to reorder, or add one between any two blocks. Everything you do can be undone, and the editor saves as you go.

What you build with:

  • Blocks. Navigation, hero, logos, benefits, steps, numbers, quotes, questions, pricing, story, media, call to action and footer, plus the ones that read your project: the signup form, signup count, leaderboard, referral rewards and updates. Most come in several designed layouts.
  • Styles. Eight of them: Studio, Midnight, Editorial, Blueprint, Poster, Calm, Aurora and Luxe. A style changes the whole page at once and keeps every word, so you can see the same page eight ways before you choose.
  • Fonts. Fourteen heading and body pairings designed to go together, or your own two.
  • Your logo. Change it from the Design tab, or from any block that shows it. It is your project's Brand logo, so the new one is live everywhere right away.

Templates in the header swaps the draft for another starting page, a page the assistant writes, or a blank one. The draft you had is kept, and Restore previous draft brings it back.

Publish knowing what goes live#

Publish opens a panel instead of publishing on the click. It shows the page's address, a block-by-block list of what changed since you last published, the page's search and sharing settings, and the links to share once it is live. Unpublish is there too, and your draft stays as you left it. Your live page never changes until you publish.

A countdown block#

Add a Countdown and set a date, a time and a time zone. Visitors see it tick down, with your launch time written out and their own local time beside it. You choose the line it shows once the moment has passed. It comes as a large band or as one slim line near the top of the page.

Ask for a change#

The box under the canvas says Ask for a change. Type what you want ("make the hero shorter", "add a questions section", "try a darker style") and it happens on the page as one step, with Undo beside it. Select a block first and "this" means that block.

  • Redesign keeps your words. Ask it to redesign a block and it switches to another of that block's layouts, with every word as you wrote it.
  • It chooses, it does not improvise. Styles, font pairings, blocks and layouts are picked from the same designed options you have, so the result is a page you can keep editing by hand.
  • It tells you what it changed. The note under the canvas lists what actually changed, and when it cannot do something it says so and changes nothing.

Starting fresh, Write with AI takes one sentence about what you are launching and writes the whole page before the editor opens. It does not invent customers, quotes, numbers or prices.

The assistant is included on every plan.

Your existing pages came with you#

Every launch page you already had opens in the new editor with its layout, its words and its fonts kept. There is nothing for you to do, and a live page stayed live. Where something could not be carried over exactly, the editor tells you the first time you open that page.

First run starts from a finished page#

When you sign up and choose a page we host, the Pick your page step now shows finished pages written about your product, not a sample one. Click between them in a large live preview, add your logo and color, use Try another look to see the page in another style, or Rewrite the page text to say it differently. The page you publish is the one you are looking at.

The last step is about your first signup. Try the page yourself, send it to someone, and the first signup shows up on that screen as it lands. Your own try counts.

Fixed#

  • A save or publish that was refused, for example because the page was changed in another tab, keeps your changes in the browser and offers them back the next time you open the page.
  • When the assistant has no answer, your draft is left exactly as it was.
  • Asking the assistant to redesign a block rewrote its copy. It changes the layout now.
  • A page with no blocks can no longer be published by accident.
NewImproved

Plans sized to your list

Four plans, each paid one sold at the contact size you pick, monthly or yearly. No overage meters, the real price before any change, and contacts that are held and never deleted.

Four plans, each at the size you pick#

Pricing is rebuilt around one number: how many contacts you hold. You pick a plan for what it does, then a size for your list, and those two choices are the whole price.

  • The Free plan is for proving people want what you are building: a launch page, signup forms, referral links with a leaderboard, and a status page for every signup. It needs no card.
  • The Collect plan is for getting more signups: your own domain, rewards and milestones, points for follows and shares, and email campaigns to your list.
  • The Launch plan is for turning signups into users: automated emails, automatic invites, saved segments, Launch Day tools, and no LaunchList branding.
  • The Grow plan is for learning what works and repeating it: what brings you signups, who they are, and your full analytics history.

Each plan includes everything in the one before it. Every paid plan comes in seven sizes, from 500 to 100,000 contacts, billed monthly or yearly. Yearly is 2 months free: 12 months for the price of 10.

Paid plans include campaign emails every month, set by your size. The Collect plan includes one email per contact, up to 5,000 a month. The Launch plan and the Grow plan include two per contact. Broadcasts, automation emails and reward announcements count. Confirmation, verification, welcome and invitation emails never do.

Prices for every plan at every size are on the pricing page, and the plans screen under Workspace → Billing shows the same ones.

No overage meters, and two extras you approve first#

There is no charge for contacts past your size, and your subscription never goes up without your approval. Two things are sold on top of a plan, and both are your call each time:

  • Extra emails. $3 per 1,000, for the current calendar month. You see the cost and approve it before anything is charged, either when a broadcast needs more than you have left or with Add emails under Workspace → Billing. Without your approval the send waits.
  • Credits. A prepaid balance you spend to check whether a signup's email address is real. Every workspace starts with 10 free credits, you buy a pack when you want more, and credits never expire.

The real price before you confirm#

Changing plan or size happens inside LaunchList. When you move up, the confirmation shows the amount due today, the credit for the time you already paid for, the price at your next renewal and the card that will be charged. The button names the amount, and that amount is what you pay. Your new limits apply at once.

Moving down, or switching between monthly and yearly, starts at your next renewal, so you keep what you paid for until then.

Canceling is in the same place: Cancel plan at the foot of Workspace → Billing. Your plan runs to the end of the period you paid for and does not renew. A yearly payment is refunded in full, and the plan ends that day, if you cancel within 14 days of paying, while fewer than 100 contacts have been added and no campaign emails have been sent since that payment. The dialog shows the refund before you confirm. Monthly plans are not refunded.

Past your size, contacts are held and never deleted#

Every signup is captured, on every plan, whatever your size. Contacts past your size are saved and counted, then hidden from your audience, exports and sends until you move up a size. Move up and they are back at once. Nothing is deleted for being over a size, and we tell you as you get close.

Finished with a launch? Archive the project from its settings. Its page and forms close, its audience stays readable and exportable, and its contacts stop counting toward your size.

Pricing an AI agent can read#

The pricing page now has a Markdown version: every plan at every size in one document, with the billing rules, generated from the same prices the app charges. An agent that asks the pricing page for Markdown gets it, and you can open it yourself by adding .md to the page's address. Ask an assistant what the Launch plan costs for 25,000 contacts and the answer is there for it to read.

NewImprovedFixed

Broadcasts over the API, and shared invite codes

Draft and send broadcasts through the public API or your AI assistant, send in batches, and choose who to leave out. Shared invite codes now show who used them, and email editing starts with the message already there.

Run a broadcast from your code or assistant#

You can now draft, test, prepare and send a broadcast through the public API, or ask a connected AI assistant to do it through MCP. Schedule it for later, pause it, resume it, or cancel the rest of a send, then read the delivery results and a contact's email history.

Sending has two steps. Prepare checks the broadcast and counts its recipients. Your assistant shows you what it is about to send and asks for your approval before sending it.

The same choices are available in Emails → Broadcasts:

  • Send in batches. Choose how many recipients get the email each hour or day.
  • Choose who gets it. Send to a segment or tag, and exclude people by segment, tag, or a broadcast they already received.
  • Send plain text. Write an email without formatting. The unsubscribe link and postal address stay in the message.

Bring your audience into the same workflow#

The API and MCP now cover the work before the send, too. Import contacts, apply or remove tags, preview a segment's matches, and save a segment to use for a broadcast.

Imports bring in your existing contacts without sending confirmation or welcome emails or enrolling them in automations. You can read the import's progress and results afterward.

You can also list your automations, see their triggers, and read where a particular contact stands in them. The API includes each automation's steps. Automation access is read-only: you still build and edit them in Emails → Automations.

See who used a shared invite code#

One shared code can let several people into your product. In Audience → Invites, open a code to see how many people used it, its limit, expiry and any email-domain restriction.

The detail panel lists the people who redeemed it. Each person opens the same contact panel you use in Signups, and their contact record shows the code they used and when they used it.

The code's panel also explains how to connect redemption to your own app. Your app checks the code with LaunchList when someone joins, and LaunchList records who used it, matching an existing contact or adding a new one.

Email editing starts with the email#

An automation's Send email step now shows the saved email's subject and preview, with separate buttons to edit it or replace it. Choose an email opens the picker, where you can select a saved email or start a new one.

System emails in Emails → Library open with the current wording already filled in. Edit the subject, body or button directly, and use Reset to default to restore LaunchList's wording. The defaults follow your project's language.

Wallet addresses are easier to read#

Contacts identified by a wallet address now have a wallet icon and a shortened address in the audience. You can still view, search and copy the full address.

Give your assistant a place to start#

Embed & API → AI assistants has a prompt you can copy into your assistant to help it run your launch on LaunchList. The prompt points to a guide written for agents, with the connection steps and the actions they can take. Connect your assistant, choose its access, then ask for what you want in plain language.

Fixed#

  • Analytics' referring sites now show the external sites that brought people to your signup form.
  • Embed snippets use the correct address to load your form and collect signups.
  • Deleting your account returns you to login with a confirmation.
  • The form editor handles saved fields with missing names or keys, and the Import from v1 screen opens even when your project's brand color has not been set.
  • Dashboard pages that show email addresses load without display glitches.
NewImprovedFixed

Your page gets its own address

Hosted launch pages now live at yourname.launchlist.page, with the status page and updates feed alongside. Referral links follow your page address, new projects start without a reward ladder, and very large lists export and import cleanly.

A page address that is yours#

Your hosted launch page now lives at yourname.launchlist.page. Pick the name once, share it anywhere, and it reads as a page of its own rather than a path on ours. If you connected your own domain, that stays the address people see.

Nothing you shared before breaks. Older links keep working and redirect permanently to the new address, so a link someone posted months ago still arrives.

Everything that belongs to your page moves with it. Your status page, the page a signup lands on to see their place in line, is served at the same address, and so is your public updates feed. A signup who joined on your page stays on your page when they confirm and check their status.

You now choose where your referral links point, in your referral settings:

  • The page we host: your launchlist.page address, or your own domain if you connected one.
  • My own site: the address you set under Embed & API. It follows that address, so if you change it later your referral links change with it.
  • A different address: a form somewhere else, or a store behind a password.

Under the list, a Signups share line shows the exact link people will get, so you can check it before you send anything.

New projects start without a reward ladder#

A new project no longer comes with rewards already made up for you. Your status page and referral settings start empty, and nothing is promised to your signups until you decide what you are offering.

When you are ready, Add a reward lets you write your own, or you can start from a template. The starter is modest and fits any product: Move up the line, Early access, and Founding member. Once you add a reward, the reward block on your status page appears on its own.

Bigger lists, no waiting around#

Exporting and importing very large audiences now works at the size they really are. A big list exports as one finished file and imports end to end in the background, and you are told when it is done. Smaller lists behave exactly as before.

Fixed#

  • Emails now show the right logo in dark mode, on a clean light letterhead, instead of a logo that disappeared into the background.
  • When an image upload fails, you now see the real reason, such as the file being too large, rather than a generic "could not upload" message.
  • In the form builder, the Key field no longer jumps you back to the Content tab as you type, and it keeps the underscores you type.
  • Radio buttons in your forms now follow your form theme instead of the browser's default look.
  • The status page no longer says you "moved up" when you are the only one in line.
  • The embed snippet shown while you set up your first page now points at the right address.
  • The Claim access button on an early-access invitation now takes people to your product's signup page, even when it lives on a different site.
  • Previewing a segment's live count works on the Free plan, so you can see who matches before you decide to save it.
NewImprovedFixed

Build a launch page by describing it

Describe what you are launching and get a real page made of real blocks, refine it by asking, and keep editing it by hand whenever you want. Plus a second template, nested sections, and page addresses you can change safely.

Build with AI#

Open a new page and there is now a box instead of an empty canvas. Describe what you are launching, in whatever detail you have, and you get a page: hero, signup form bound to your form, benefits, proof, an FAQ, the sections your description actually called for.

Then keep talking to it. "Rewrite the headline punchier." "Add testimonials." "Make the hero full screen." "Use a darker background." Each change is a patch against the page you have, not a regeneration, so the work you already did survives. Changes preview on the canvas before you keep them, and you can throw one away without undoing the rest.

Three things that make it usable rather than a demo:

  • It builds from our blocks. What comes out is a normal page in the normal editor. Every block is editable by hand, versioned, and published through the same pipeline as a page you built yourself. There is no AI mode to get stuck in and nothing exotic to un-pick later.
  • It asks rather than invents. If it needs something only you have, like logos for a customer row or a real quote for a testimonial, it asks for it instead of writing a fake one. It does not put an invented company name on your page.
  • It says no. Asked for something the editor genuinely cannot do, it says so plainly and tells you what it can do instead.

This is available on every plan right now, at no extra cost. We would rather find out how people use it than meter it on day one.

Tell the assistant how to talk to you#

Account → Assistant has two settings: tone (friendly, neutral, or professional) and depth (guided, balanced, or concise). Concise gives you the answer and stops. Guided explains the surrounding context and what to do next.

They apply to Ask today. Building with AI will follow.

Build your own composition#

Sections are back as a proper part of the editor, on their own tab. Put blocks side by side, nest them, and pick from six arrangements that each behave sensibly down to a phone rather than squashing. Three editable starters give you something to change instead of an empty grid, and inserting a section is undoable like everything else.

Agents can work with the same structure: an assistant can now edit an existing page, not just create one, and it addresses individual blocks rather than replacing the document. Those edits are still drafts, always.

Nebula#

A second template, and a deliberately different one. Near black, a starfield, a single cool light rising behind the name and the form. It is the "something is on its way" page, and everything in it ships with the page, so the look needs no upload and no external request.

Screenshots that look like screenshots#

Images in the hero, showcase, feature and gallery blocks can now sit in a real device: a Mac or Windows browser chrome, an iPhone, or an Android. Choose how the image fits inside it, and whether the whole thing sits flat, raised or floating on a backdrop. Long screenshots no longer stretch a page to three times its height.

Change your page address without breaking anything#

You can rename your page's public address, and the old one keeps working. It redirects permanently to the new one, for good, so a link someone posted months ago still arrives. Search engines are told properly, so the change does not cost you what the old address had earned.

Fixed#

  • A signup who confirmed their email and then came back on a different device had no way to get their status page link again. They can ask for it now and we mail it to the address on file.
  • The {{position}} tag in an email printed a different number than the status page whenever a project had a head start configured. One person, two numbers.
  • Contacts held above your plan's limit were still appearing in search, in the referral activity feed, and in the recipient counts on a broadcast you were about to send. They are hidden everywhere now, and still nowhere near deleted.
  • You could spend a credit checking an address that was held above your plan limit and therefore could never be emailed.
NewImproved

LaunchList for AI agents

Connect your workspace to an AI agent over MCP and let it read your audience, capture signups and draft launch pages, through the same pipeline the dashboard uses.

An MCP server for your workspace#

People increasingly run parts of their work through an AI agent, and asking one to "add these five people to my waitlist" should not mean it writes a script against an API key it found in a file.

LaunchList now has an MCP server. Point Claude, or any assistant that speaks MCP, at your workspace and it can work with your launch properly: see your projects and their audience numbers, search your contacts, capture a signup, update someone, move them through your funnel, invite them, unsubscribe or resubscribe them, and create and read launch pages.

Connect it from Integrate → MCP, two ways:

  • With an API key. Paste an existing llk_ key into your agent's config. The key's scopes still decide what it can do, so a read-only key stays read-only through MCP.
  • By signing in. The agent sends you to a LaunchList consent screen, you approve one workspace, and it gets exactly the tools we curate. Revoke it any time from your settings.

Four rules this is built on, and none of them are going to move:

  • Nothing is a silent database write. A signup captured by an agent runs the same pipeline as your hosted page: deduplication, referral credit, double opt-in, automations. It is a real signup, or it is nothing.
  • Pages are only ever drafts. An agent can build a launch page and edit one, but it cannot publish. Nobody sees it until you open the editor and publish it yourself.
  • There is no delete tool. Deleting your audience is not something an agent gets to do on a misread instruction.
  • Every write records who did it. Your activity now distinguishes you, an API key acting for you, and an agent acting for you, on every event.

Your published page can explain itself to an agent#

Every published launch page now serves an agents.md alongside it: a short, machine readable description of what the page is, what the form expects and how to sign up. When someone asks an assistant to join a waitlist for them, it reads that instead of guessing at your HTML.

Ask, without signing in#

The Ask box has moved out of the dashboard as well. The documentation site and our marketing pages now carry the same ⌘K palette and the same answers, so someone deciding whether to use LaunchList can ask a question before they have an account.

Improved#

  • A captured signup can carry your own external_id, so a contact here lines up with the same person in your database without matching on email address.
NewImprovedFixed

Bring your old list over, and Emails gets four clear areas

Connect your LaunchList v1 account and copy a waitlist across without turning anything off, and find every email your project owns in one place instead of four.

Import from LaunchList v1#

If you have a waitlist on the old LaunchList, you can now bring it over yourself. Connect your v1 account, verify that it is yours, pick a waitlist, and import it into a project here.

It is a copy, not a cutover. Your v1 waitlist keeps running exactly as it is, still collecting signups, still sending. Nothing is switched off, nothing is deleted, and nobody is emailed about the move. You are trying v2 with your real data rather than committing to it, and you can run the import again later to pick up what arrived in the meantime.

The referral graph comes with it: who referred whom, referral counts and positions all survive the move, because a waitlist that forgets who invited who is not your waitlist. Large lists import in the background and tell you when they are done.

Start from New project → Import from v1.

Emails, in four areas#

Campaigns is now Emails, and it is four tabs that name what you actually want rather than how the system is built:

  • Broadcasts. Send one email to your audience, once.
  • Automations. Send email automatically when something happens.
  • Library. Every email this project owns, in one list.
  • Activity. Every email sent, and what happened to it.

The Library is the part that changed most. It holds the system emails LaunchList sends as part of running a waitlist (verification, welcome, invitation), which you can now edit and switch on or off per project, alongside your own saved emails. Each one has a live preview of the real message beside it.

Emails used to be able to hide inside an automation, owned by one step of one flow and invisible everywhere else. That is over: an automation step now references a saved email, the Library lists it with the automations that use it, and deleting it tells you which live flows it would break.

Your emails speak your project's language#

The emails LaunchList sends on your behalf are now written in your project's own language rather than English by default. The system emails are translated into all 17 languages we support and render in the language of the person receiving them, and the starter emails you build from are seeded in your project's default language.

Your own words, once you write them, are never touched.

Fixed#

  • One bad address could sink an entire broadcast. A recipient that fails is now recorded as failed and the send continues.
  • The Email confirmed automation trigger never fired for projects using double opt-in, which is exactly where it was supposed to fire.
  • Someone who already signed up and comes back to your form from the same browser is now returned to their own status page instead of being told they are a duplicate. From a different browser, they can ask for the link and we mail it to the address on file.
  • A widget dropped in with a keyword snippet ignored the way you had styled that widget and rendered with our defaults.
  • The form builder's preview ignored the "show below" setting for your success message.
  • The unsubscribe and confirmation pages on a custom domain sent people back to our domain.
NewImprovedFixed

The email check is on us, bulk actions on your whole audience, and a rebuilt status page

Every address we are about to mail is validated at our expense on every plan, selections stop being page-sized, and the page your signups come back to is rebuilt around the thing it is for.

The check is ours, the verdict is yours to reveal#

We changed how email validation is paid for, and it is worth explaining properly.

Every address we are about to send to is validated before we send, at our expense, on every plan including Free. No credit, no setting, no upgrade. If a mailbox is undeliverable or disposable, we do not send to it, and that happens whether or not you ever spend anything with us.

The reason is not generosity. Sending reputation is shared across everyone on the platform, so gating the check on a billing choice would mean the accounts least likely to pay are the ones most likely to be mailing a bought list, with our reputation behind it. That is not a trade we are willing to make.

What a credit buys is the answer: revealing the verdict on a contact so you can see it, filter on it, segment on it and export it. One credit per address, revealed once and yours from then on. Every new project starts with 10 free credits and email validation already switched on, so your first signups come back with real verdicts on day one.

Two rules we hold to underneath all of this:

  • A verdict we did not establish is "unknown", never "deliverable". We will not label an address we never looked at.
  • Only undeliverable and disposable ever withhold a send. Uncertainty is not a reason to mute somebody. A brand new domain and a valid Yahoo address are not bad addresses, and treating them as such quietly loses you real signups.

Test signups never cost a credit.

Select everyone, not everyone on this page#

A selection on your Signups table is now either the rows you ticked or the whole view: everyone matching the filters and search you currently have applied. It survives paging and sorting, and a bulk action over a few hundred people runs in the background instead of timing out.

What you can do with a selection: tag and untag (creating a tag inline if you need one), add to a static segment, move stage, unsubscribe, export, and copy. The action bar tells you what the selection is made of rather than just counting it ("7 selected, 1 subscribed, 6 awaiting confirmation").

Bulk resend confirmation is new and matters more than it sounds. Only confirmed contacts are mailable, so a pile of signups who never clicked the link in their verification email are simply unreachable. This is the way to ask them all again, and it reports what was actually sent, not what was selected.

The status page, rebuilt around the share card#

The page each signup lands on has one job: get them to share their link. It now looks like it.

The share card is the center of the page. It carries a real heading, the code, the share row docked inside it, and the position they would move to if one more person joined, which is the number that makes someone actually send the link. It changes emphasis with the situation: loud while they are waiting, quiet while confirming their email is the more important thing.

A new Layout choice on the page gives you either separate cards (the default) or one continuous sheet with your mark notched into its top edge. Every boxed thing on the page is the same card now, so nothing reads as accidentally transparent next to its neighbor.

There is also a Preview button. It renders your saved draft against a sample signup on a real public URL, so checking your status page no longer means signing up to your own waitlist to see it.

Improved#

  • Extra fields on your own form are kept. If you build your own HTML form or use the embed and post fields LaunchList does not know about, they are stored on the contact and appear as columns instead of being silently dropped.
  • Your status page now loads in a fraction of the time it did. It was counting your entire audience on every view, on the one page every signup bookmarks.
  • A status page that draws no leaderboard no longer sends other people's rows to the browser, and one with no early-access block no longer ships a live access code.
  • We will not email you that credits are running low until you have actually bought some, and the validation toggle switches itself off at zero rather than failing quietly.

Fixed#

  • Free plan projects were being told addresses were deliverable that had never been checked.
  • Re-importing the same list could charge for the same addresses again. Checks are now cached against the address, so a re-import costs nothing.
  • The grain effect on a page background was set to an opacity low enough to do nothing at all.
  • A photo background applied a fixed 72% white wash with no way to change it. It is now three settings, and none of them is invisible.
NewImprovedFixed

Ask LaunchList, from anywhere in the app

The command palette now answers questions as well as finding things. Type what you want to know, read the answer where you are, and check the sources it used.

Ask#

Press ⌘K and type a question instead of a page name. The answer arrives in the palette, streamed as it is written, and you stay where you were. There is no second chat window, no support widget, and nothing to close before you can get back to what you were doing.

What it knows is everything we publish about LaunchList: the documentation, the full API reference, what each plan contains, this changelog, the legal pages and the blog. It reads those from where they actually live, so an answer cannot describe a version of the product we stopped shipping.

Three things worth knowing about how it behaves:

  • Every citation is checked. The sources under an answer are the ones that were actually used to write it, verified against what was retrieved rather than whatever the model felt like naming. A link under an answer goes somewhere real.
  • It knows which screen you are on, so "what does this do" works. It gets the name of the screen, nothing else. Your contacts, your numbers and your settings are not part of the question.
  • It says when it does not know. A question we have no material for gets told so, and then gets pointed at the nearest thing that does exist by name, rather than a confident paragraph of invention.

You can follow up, copy any answer out, and rate it. The ratings go somewhere: every question we could not answer is filed for review, which is how the documentation gets written for the questions people actually have.

Ask is free, on every plan, including Free.

Improved#

  • The palette reads as a conversation rather than a list of menu rows once you have asked something, with selection and copy behaving the way they do in a document.
  • Answers come back as prose, with tables where a table is the right shape, instead of the flat paragraph everything used to be.
  • An answer that is really a redirect ("that lives in Project settings → Email") now counts as an answer, because it is one.

Fixed#

  • Every follow-up question was quietly searching for two questions at once, which made later answers in a thread worse than the first.
  • A failure in the assistant showed an error you could not copy the text out of.
  • Search could not find the palette by the words people actually type for things.
NewImprovedFixed

A first run that ends with a live page

Setup is now five steps that fork on where your signups actually happen and finish with a published page or an embed snippet, plus a command palette and a home of its own for your workspace.

Start here#

A new account now opens at a setup flow instead of an empty dashboard. It asks what you are launching, then forks on the only question that changes the answer: do you want signups on a page we host, or on your own site?

  • A page we host. Name it, pick your address, set your brand colors and logo, choose a template. It ends with a published page at a real URL.
  • Your own site. You get the embed snippet for the way you build, ready to paste.

Either way the last step watches for your first real signup and tells you the moment it lands. That is the part worth waiting for, and it is the one thing setup used to leave you to discover on your own.

Skipping is fine. A dashboard you land on without finishing setup is fully provisioned, not a half-built one.

Start, the template#

The page that first run publishes for you is now a real template you can find in the gallery, open, and switch back to. Logo, headline, one line, form, badge, centered in the screen.

No template ships placeholder text. Every string is one of three things: something we already know (your project name fills the headline on apply), something true of every launch we host (so it arrives finished), or a promise only you can make, like a price or a date, which ships not at all. A page with {your headline here} in it is a page somebody eventually publishes by accident.

A command palette#

Press ⌘K anywhere in the dashboard (Ctrl+K on Windows) and search across the whole app: projects, pages, forms, segments, automations, settings, and your contacts. Actions are in there too, so creating a broadcast or jumping to billing is two keystrokes and a word.

Your workspace has a home#

Your workspace is the thing that carries the subscription, the members and the audience, and it used to live as the last two tabs of your personal account settings. It is now its own destination at /workspace, with six views: General, Members, Plan, Usage, Credits, Invoices.

The practical effect is that finding an invoice no longer means scrolling past 62 rows of plan comparison. Old links to the billing and team pages redirect, so nothing you bookmarked is broken.

Improved#

  • Every plan includes enrichment credits now, and credits never expire. Upgrading mid-month tops you up rather than making you wait for the next cycle.
  • Your Brand Kit is per project on every plan. It used to be a paid feature, which meant the product's own design system was behind a gate.
  • Two corrections to the plan comparison table, both in your favor to know: priority support is on Scale only (Launch and Grow have chat), and pages on Free are not indexed by search engines. The second one is the most consequential thing about the Free plan and no pricing surface had ever said it.
  • You stay signed in for 30 days. "Remember me" defaults on, and Account → Security now lists every device with a session, its last activity, and a way to sign any of them out.
  • Your launch page can no longer take an address that would collide with one of our own URLs or send mail from a name like security@. Existing projects keep whatever they already hold.

Fixed#

  • Skipping setup left "Preview draft" pointing at a blank page.
  • The public FAQ described a plan that does not exist.
  • Going back to fix your headline during setup could silently fail to reach the page.
  • The reward panel on a contact said nothing at all when a project had rewards but that person had earned none, so the feature looked missing rather than empty.
NewImprovedFixed

Early access invitations, and a funnel in your own words

Move people off the waitlist and into your product with real invite codes, rename the stages of your own funnel, and choose exactly what LaunchList tells you about.

Early access#

A waitlist is only half the job. The other half is letting people in.

Invite one person, a segment, or a batch. Each invitation carries its own code and an email with a link to a claim page on your project's address. There are four ways someone can actually get in, and you can use more than one:

  • The claim page. They press a button, we record it, they go to your product.
  • A code they type. Your app checks it with us through the API.
  • Your server tells us. You authenticate your own user and confirm the redemption.
  • You tick a box. Mark someone as in from their contact record.

Each of those is recorded separately, so "got in" is never one number hiding four different kinds of proof.

Codes are random rather than guessable. Knowing someone's email address should never be enough to walk into your beta, so branding is a prefix in front of real entropy, never instead of it. Nothing is ever redeemed by a link being fetched, because corporate mail scanners open every link in every email before a human sees it.

The new Invites tab in Audience shows the funnel (invited, got in, waiting, expired, revoked), your bearer codes and your batches. Rows open the same contact panel Signups opens, with the invitation as a block inside it. {{invite_code}} and {{invite_link}} work in any email, there are four new webhook events, and the whole thing is in the API.

Your funnel, in your own words#

The default pipeline is waitlist, invited, joined, converted, plus a declined state. Now you can rename any of it, reorder it, color it and add your own stages in Project settings → Early access.

Your segments, automations and exports keep working: the name you see changes, the key underneath does not. Removing a stage always asks where its people go first, and a removal that touches more than a couple of thousand contacts runs in the background with a progress bar you can walk away from.

Notifications#

The bell works, and there is a real inbox behind it. 33 kinds of notification across 7 categories, each with its own choice of in-app, email, or neither, set per person per workspace.

Two rules that keep it from becoming noise: you are never notified about something you just did yourself, and there is no notification per signup. Milestones and digests instead, with webhooks as the honest answer if you genuinely want every row. Security notices are the one category you cannot switch off. Everything else carries one-click unsubscribe that turns off exactly that category.

Sign in with Google#

You can now create an account with Google, sign in with it, and connect or disconnect it from Account → Security. Two-factor is still enforced: if you have it on, Google gets you to the challenge, not past it.

Improved#

  • Every email LaunchList sends you about your own account now shares one design, and several that were missing exist at last: trial ending, plan changed, card expiring, send quota at 80% and 100%, overage billed, and a retention warning seven days before anything is erased.
  • Publishing an update no longer emails anybody. Publish makes it public; mailing your audience is a broadcast you open, read and send, which is the only version of that button we trust.
  • Export ready emails now carry a signed download link that works without signing in.

Fixed#

  • The project notification settings wrote four preferences that nothing ever read, one of which offered Slack. They are gone, replaced by the real matrix.
  • Renaming a pipeline stage could break the public claim page. Stages are resolved by their role now, so the name is yours to change.
  • A CSV import could place someone in the invited stage without ever creating a code for them.
  • A workspace invitation to someone with an apostrophe in their name arrived double-escaped.
NewImprovedFixed

The LaunchList API, every Google font, and three page templates

The REST API opens in beta, the Brand Kit gets the whole Google Fonts library, and launch pages start from a real template instead of a blank canvas.

The API is open (beta)#

You can now run a waitlist entirely from your own code. Create a signup, read your audience, update or delete a contact, look up someone's position, and list who they referred.

Create a key in Settings → API keys, choose what it is allowed to do, and start there. Every key is scoped, so a key that only needs to add signups cannot read your list.

Two things worth knowing before you build on it:

  • Signups created through the API go through the same pipeline as the hosted page, so spam checks, verification email and referral attribution all still happen. Nothing is skipped.
  • Every write accepts an idempotency key, so a retry after a timeout cannot create the same person twice.

The full reference, with a Try it button that runs against your real account, is in the API reference.

Every font Google has#

The Brand Kit used to offer a curated shortlist. It now searches the entire Google Fonts library, with a live preview of your page and emails as you scroll. The curated set is still there, at the top, for anyone who would rather not choose from a thousand options.

Pages start from a template#

New launch pages now open with a real page instead of an empty canvas. Three to pick from:

  • Signature. The full launch page: hero, signup, social proof, FAQ.
  • Minimal. One screen, one form, nothing else.
  • Midnight. Dark, product-led, built for a hardware or dev-tool launch.

Every template is fully editable, and you can swap between them without losing your content.

An email you can see before you send it#

Email now has its own appearance panel in Settings → Email, with a live preview of the actual message rather than a mockup. Set your header, colours, font and footer once and every email your project sends picks it up: verification, referral milestones, broadcasts and automations.

Fixed#

  • A custom domain could get stuck showing "pending" after it had already gone live. Domains now recheck themselves and recover on their own.
  • The short link on a hosted page pointed at the page's default URL even after a custom domain was connected. It now uses the domain you actually chose.
NewImproved

Bring your own domain

Launch pages can now live on your own domain, with DNS verification and HTTPS handled for you, and CSV export is available on every plan including Free.

Your launch page, on your domain#

Point join.yourproduct.com (or your bare domain) at a LaunchList page and it serves from there. Add the record we show you, and the page watches DNS until it resolves, issues the certificate, and turns itself on. No certificate files, no renewals, nothing to remember in ninety days.

The connect screen tells you what it is waiting for at every step, so a typo in a DNS record reads as "we cannot see this record yet" rather than a page that silently never works.

Search engines and your page#

Search visibility is now an explicit switch in Integrate → Hosted rather than something you have to infer. Turn it on when the page is ready to be found, leave it off while you are still writing.

Export your list, on any plan#

CSV export used to be a paid feature. It is now on every plan, including Free.

Your audience is yours, and putting a lock on the door out is not the kind of pressure we want to build the business on. Exports run in the background and arrive as a private download link when they are ready, so a list of half a million contacts does not tie up a browser tab.

Improved#

  • Webhook headers are now documented and named consistently across every event.
  • The signup verification email sends on its own path, so a large broadcast can no longer delay someone confirming their email address.
NewImproved

Webhooks, and your data on your terms

Send every signup to your own systems as it happens, plus one-click data erasure, retention controls, and a public page that speaks your visitors' language.

Webhooks#

Point LaunchList at a URL and it will tell you the moment something happens: someone joined, someone verified their email, someone hit a referral milestone, someone was marked as spam.

  • Pick your events. Subscribe to everything, or to the two you care about.
  • Verify it was us. Every delivery is signed, so your endpoint can prove the payload came from LaunchList and not from someone who guessed your URL.
  • See what happened. Every attempt is listed with its response, and you can resend any of them from the dashboard while you are still building the receiving end.

Failed deliveries retry with a growing gap between attempts. If an endpoint keeps failing we pause it and email you rather than quietly dropping events, which is the failure mode that makes people distrust webhooks in the first place.

Webhooks are available on Grow and above. Full guide: Webhooks.

Erasure and retention, without a support ticket#

If someone asks to be forgotten, you can now do it yourself from their contact record. It removes them everywhere, not just from the list view, and leaves a record that the request was honoured.

You can also set how long raw activity is kept. Your contacts and your counts are never touched by this, only the event trail behind them.

The public page speaks their language#

Hosted pages and forms now render in the visitor's own language for the parts we supply: buttons, validation messages, the verification email, the thank-you screen. Your own words stay exactly as you wrote them.

Improved#

  • Tracking tags (analytics, ad pixels) can be added to a hosted page from settings rather than needing a custom code block.
NewImproved

Invite your team, and take LaunchList with you

Workspaces now hold more than one person, with roles that decide who can send and who can spend, and the whole dashboard works properly on a phone.

More than one of you#

Invite people into your workspace and give them a role:

Role Can do
Owner Everything, including billing and deleting the workspace
Admin Everything except billing
Member Day-to-day work: pages, forms, audience, campaigns
Viewer Read-only, including analytics

Billing stays with the owner. Nobody else can change a plan, buy credits or cancel, which is the thing people are actually nervous about when they add a contractor to an account.

Invitations expire, can be revoked before they are accepted, and count against your seats as soon as they are sent so a seat cannot be double-booked.

It works on your phone now#

Every screen has had a proper pass: the audience table, the analytics charts, campaigns, settings. Navigation collapses into a drawer, tables scroll on their own instead of the page sliding sideways, and the editors pan rather than squash.

The page and email editors are still a desktop job. Everything else is not.

A dashboard that leads with the answer#

The project overview has been rebuilt around the four questions people actually open it for: how many joined, where they came from, who is referring, and what needs attention. Setup prompts only appear while they are relevant and get out of the way once you are live.

Improved#

  • Referral settings are now two clear ideas rather than one long form: what people earn, and where they start in the queue.
  • If you go over your plan's contact limit, signups keep being captured. Nothing is refused and nothing is deleted; the contacts above your limit are simply hidden until you upgrade.

Know which signups are real people

Check an email address before you ever send to it, fill in who is behind it, and give your waitlist a launch-day moment worth showing up for.

Enrichment#

Two things you can now ask about any signup:

  • Is this address real? Validation checks whether the mailbox can actually receive mail, before you spend a send on it and before a bad address damages your sending reputation.
  • Who is this? Enrichment fills in name, company, role and social profiles where they are publicly available, so a list of email addresses becomes a list of people you can prioritise.

It runs on demand, on a whole segment, or automatically on every new signup, and you can see exactly what it found and what it cost.

Enrichment is a paid add-on rather than something bundled into a plan, because it costs us real money per lookup and we would rather price it honestly than hide it in a tier. Every new project gets 10 free credits to try it. Credits never expire.

Launch day#

A waitlist has one moment that matters, and it deserved more than a broadcast. Launch day gives you a countdown on your page, a sequence that goes out as the clock hits zero, and a live view of who is arriving while it happens.

A status page people want to check#

The status page each signup lands on has been rebuilt: their position, how many people they have referred, what they unlock next, and their share link ready to copy. It is the page that does the referring, so it now looks like it.

Surveys#

Ask your waitlist a question and get answers back on the contact record, so "what are you hoping this solves" becomes something you can segment on rather than a spreadsheet you keep separately.

NewImproved

A setup flow that shows you your page while you build it

First-run setup now renders your real launch page next to the questions, so you watch it become yours instead of filling in a form and hoping.

See it before you finish it#

Signing up used to mean answering a few questions and then landing in an empty dashboard. Now the questions sit beside a live preview of your actual launch page, rendered with the real thing rather than a picture of one.

Type your product name and it appears. Pick a look and the page changes. Choose your colour and everything follows. By the time you reach the end you have a page you have already seen, and the first thing you do is publish it rather than go looking for where to start.

The order is deliberate: you choose how it looks before you write the words. Staring at an empty headline field is the hardest possible first question, and it is a much easier one once the page around it exists.

Skip anything#

Every step can be skipped. Nothing in setup is required to have a working waitlist, and you can come back to any of it later.

Improved#

  • New projects start with a draft welcome email sequence already written, ready to edit and turn on. Nothing sends until you say so.
NewImproved

Automations that branch, and widgets you can put anywhere

Build email flows that react to what someone actually did, and drop live signup counts, recent joiners or a leaderboard into any site.

Automations#

A welcome email is a start. An automation is what happens next.

Build a flow that starts when someone joins, verifies, refers a friend, reaches a position, or gets tagged, then branches on what is true about them:

Someone joins
  └─ Wait 1 day
      └─ Has referred anyone?
          ├─ Yes → "You're climbing" + share prompt
          └─ No  → "Here's your link" + why it's worth sharing

Every branch is visible on the canvas, so you can see what a person will receive rather than reconstructing it from a list of rules.

Two things that make it safe to leave running:

  • Test flow walks a real contact through the whole thing and shows you exactly which path they take, without sending anything.
  • Someone can only be in a flow once. An automation cannot pick the same person up twice and send them the welcome series again.

Every project also starts with an Onboarding series already drafted, so there is something to edit rather than a blank canvas.

Widgets#

Social proof, embeddable. Pick what to show, style it to match your site, and paste two lines anywhere:

  • Signup count. "2,481 people are waiting."
  • Recent signups. A live-updating list of who just joined, with names masked how you choose.
  • Leaderboard. Your top referrers.
  • Countdown. Time until launch.

They read live data, they work on any site, and they inherit your Brand Kit so they do not look bolted on.

Improved#

  • IDs you see in the dashboard and the API are now short and readable (con_, prj_, frm_) instead of a long string of hex. Old IDs keep working everywhere.
NewImproved

Email campaigns, analytics, and one place to ship

Write and send a broadcast to your waitlist, see where your signups actually come from, and get every embed snippet from a single screen.

Broadcasts#

Write to your waitlist from inside LaunchList. Compose in a proper editor, send to everyone or to a segment, preview it on desktop and on a phone, and send yourself a test first.

The parts that are easy to get wrong are handled:

  • Anyone who unsubscribed, bounced or complained is excluded automatically. You cannot accidentally send to them, even if they are inside a segment you picked.
  • Every email carries a working one-click unsubscribe, which is what the mailbox providers now require and what keeps you out of the spam folder.
  • A broadcast can only send once. Refreshing, double-clicking or a retry will not send it twice.

Analytics#

Four questions, four views: how your list is growing, where people are coming from, who is doing the referring, and where in the world they are. Filter by date range, compare against the previous period, and export any of it.

It reads a summarised view of your data rather than counting a million rows every time you open the page, so it stays fast whether you have 200 signups or 2 million.

Integrate#

Every way to put LaunchList on your site now lives on one screen, with your real keys already filled into the snippets:

  • Hosted. Your launch page URL, publishing and search visibility.
  • Embeds. Inline form, popup, plain HTML, React, or your own form enhanced in place.
  • API. Keys and endpoints.

Copy, paste, done. No more hunting for the snippet with your project's key in it.

Improved#

  • A project can have several launch pages now, so you can run a variant per campaign, per market or per domain and compare them.
NewImproved

Real layouts in the page editor, and an audience that stays fast

Columns, grids and reusable sections in the page editor, a media library, and an audience list that opens instantly whether it holds a thousand contacts or a million.

Layouts, not just blocks#

The page editor could stack blocks. It can now arrange them.

  • Columns, stacks and grids you can nest, so a feature row or a three-up testimonial section is something you build rather than something you wait for us to add.
  • Saved sections. Build a section once, save it, and drop it into any other page. Useful when you are running several pages that share a footer or a signup block.
  • Media library. Upload once and reuse across every page, instead of re-uploading the same logo into four blocks.

An audience that does not slow down#

The audience list has been rebuilt to stay fast at any size. A million-contact list now opens as quickly as a small one, and so do the counts on your dashboard.

Import and export#

  • Import a CSV through a three-step wizard: upload, map your columns, review what will happen. It tells you how many are new, how many already exist and what will be skipped before anything is written.
  • Export runs in the background and emails you a private download link, so a large export does not hold a browser tab open.

Duplicates are handled on the way in. Importing the same file twice does not double your list.

Improved#

  • The page editor warns you before you navigate away with unsaved changes.
  • Saving now tells you it saved, which sounds small and was not.

Updates, segments and rewards

Build in public with a changelog of your own, slice your audience with saved segments, and decide what people unlock as they climb the queue.

Your own updates feed#

Post progress to the people waiting for you. Updates appear on your launch page, have their own public URL, and come with an RSS feed so anyone can follow along.

Publishing an update does not email your list. Emailing is a separate, deliberate choice, because "I posted a small update" and "I emailed nine thousand people" should never be the same button.

Segments#

Save a filter and it becomes a segment you can send to, export or watch. Signups from the last week, everyone who has referred at least three people, everyone from a particular campaign, everyone who has not verified.

Segments update themselves as people qualify, and you can pin the ones you use daily to the top of the list.

Rewards#

Decide what people get for climbing:

  • At a position ("top 100 get early access")
  • After a number of referrals ("3 friends unlocks the beta")

Each reward shows up on the status page as something to work towards, with the ones already unlocked marked off. You can also give people a head start, so the queue does not begin at #1 and look empty on day one.

Where your signups come from#

Every signup now records the country it came from, so the map on your analytics page reflects real arrivals rather than a guess. We store the country and the coarse location, never the raw address.

NewImproved

Spam signups, sorted

Every contact now carries a plain verdict on whether they look like a real person, and referral rewards stop paying out to fake ones.

Is this a real person?#

Waitlists attract two kinds of bad signup: bots filling the form, and one determined person creating forty accounts to climb the referral leaderboard. Both look fine one row at a time.

Every contact now carries a single verdict, in plain words rather than a score you have to interpret:

  • Looks real. Nothing suspicious.
  • Worth a look. Something is unusual but not conclusive.
  • Almost certainly fake. Multiple independent signals agree.

Open any contact to see exactly why it was rated that way. The reasoning is always shown, because "trust us" is not an acceptable answer when it is your list.

Referrals that cannot be gamed#

Referral credit is now withheld from signups that fail the check, so forty fake accounts move nobody up the leaderboard. If a verdict changes later, the count corrects itself.

You always have the final word: mark someone as genuine and that decision sticks, whatever the signals say.

Improved#

  • Deliverability is now visible on the audience list, so you can see at a glance who has verified, who has bounced and who has never opened anything.
  • Referral codes can be copied straight from the audience table.
NewImproved

Forms grow up

Forms now match the site they are embedded in, adapt to light and dark on their own, ask follow-up questions only when they are relevant, and validate phone numbers per country.

Light and dark, decided for you#

An embedded form now follows the page it is sitting on. Drop it into a dark site and it arrives dark; a visitor switching their system theme sees it switch with them. On your hosted launch page it inherits whatever the page is using.

You can still pin it to light or dark if you would rather it never moved.

Questions that appear when they matter#

Fields can now depend on earlier answers. Ask "which platform?" only after someone has said they are a developer. The form stays short for everyone and specific for the people it needs to be specific for.

Conditional fields are marked on the canvas while you are editing, so you can see the shape of the form without having to fill it in.

Phone numbers that actually validate#

The phone field now has a searchable country picker and validates against that country's real format, rather than accepting anything with digits in it.

Start from a template#

Eight form templates to start from: a simple email capture, a beta application, a feedback form, an early-access request and more. All fully editable.

Improved#

  • Live preview inside the builder, with a device frame, so you can check a form on a phone without publishing it first.
  • Per-field width. Put first name and last name side by side instead of stacking everything.
  • Duplicate, copy, paste and delete a field, with the keyboard shortcuts you would expect.
  • A form cannot be taken live without a way to identify people, so you can no longer publish something that collects answers nobody can be contacted about.
NewImproved

One Brand Kit for everything you publish

Set your logo, colour and font once and every page, form, widget and email follows, plus ten new blocks in the page editor.

Set it once#

Your logo, colours, typeface and corner radius now live in one place. Change the colour there and your launch page, your embedded forms, your widgets and your emails all move with it.

Anything can still be overridden where it matters. A form on a dark partner site can break from the kit without you having to maintain two brands.

Ten new blocks#

The page editor picked up the sections a launch page keeps needing: FAQ, logo strip, testimonial, feature grid, stats row, timeline, comparison table, embedded video, a live signup counter that reads your real numbers, and a footer.

An inspector that is not a wall#

Block settings are now split into Content, Style and Advanced, so the thing you came to change is visible without scrolling past twenty options you have never touched.