Connect LaunchList to Zapier

Set up the official LaunchList app on Zapier. Make a key for Zapier, connect it, and use 10 triggers, 8 actions and Find Contact in your Zaps.

Updated ·10 min read

Get the LaunchList app on Zapier

The LaunchList app on Zapier works in both directions. Ten triggers start a Zap when something happens on your waitlist, such as a new signup, a credited referral or a redeemed invite. Nine actions and a search let any app Zapier connects add, change, tag, move or invite your contacts.

What you need#

  • A workspace on the Launch plan or the Grow plan. On the Free plan and the Collect plan, use a webhook instead.
  • The owner or admin role in the workspace, to create the key.
  • A Zapier account.

Create a key for Zapier#

The app connects with a key made for Zapier. It is separate from the keys your own code uses, so you can cut Zapier off without touching anything else, and it gets exactly the access the app needs.

  1. Open Embed & API → Overview. Under Connectors, find Zapier and press Connect.
  2. LaunchList makes the key straight away and shows it once. Press Copy key and open Zapier, which copies the key and opens Zapier in a new tab. LaunchList keeps only a hash of the key.

The key is named Zapier. It covers every project in the workspace, including ones you create later (each Zap picks one), and it does not expire. It can read your projects and segments, read and write contacts, issue and revoke invites, and start or stop the triggers your Zaps use. It cannot send a broadcast to your list.

The key lives on the Zapier row only, never in the API keys list, which holds the keys for your own code. The row's settings button makes a new key or disconnects Zapier.

Connect LaunchList in Zapier#

  1. In Zapier, create a Zap, add a step and search for LaunchList.
  2. Connect a new account and paste the key into API key.
  3. Zapier names the connection after your workspace. Back in LaunchList, the Zapier row reads Connected.

If Zapier refuses the key, the message says why:

Message starts with What it means
This is not a LaunchList API key The value does not start with llk_. It may be a classic dashboard token
This key was not made for Zapier It is a key from New API key. Use Connect on the Zapier row
LaunchList did not accept this API key The key was revoked, has expired or was mistyped. Create a new one
The official Zapier app is on the Launch plan Your workspace is on a plan without the app

Triggers#

Every trigger is instant: LaunchList sends the event to Zapier within seconds. Each one asks for the project, unless the key is for one project. Every trigger about a contact or a form response also has Include test signups, off by default.

Trigger Fires when Extra option
New Signup Someone joins your list for the first time. A returning contact does not fire it
Signup Confirmed A signup verifies their email address (they were already subscribed when they joined)
New Form Submission Any form gets a response, including a repeat response from a contact you already have Form, to fire for one form only
Contact Stage Changed A contact moves from one stage to another, with the stage before and after Stage, to fire only for moves to that stage
Referral Credited A referral is credited, with the referrer's name, email, referral count and link
Invite Issued An early-access code is created. It says whether the code is for one person or shared
Invite Redeemed Someone uses their code, or you mark them as in. Carries the external ID you sent
Invite Revoked An early-access code is taken back and stops working
Invite Expired An early-access code reaches its expiry date
Contact Unsubscribed A contact unsubscribes from your emails

A contact trigger gives the Zap flat fields ready to map, including Email, Name, Stage key, Referral link, Referral code, Referrals and Position, plus the answers from your form.

When you test a trigger, Zapier loads your project's latest real events of that kind, or a sample when there are none yet.

Actions#

Most actions take a Contact ID. Map it from a LaunchList trigger, or find the person first with Find Contact.

Action What it does
Add Contact Adds a signup to a project through one of its forms, with the same duplicate check, referral credit and emails as the form itself. For someone already on the list, it fills in a missing email or external ID and merges extra details, but leaves their form answers as they are
Update Contact Changes a contact's email, external ID or other details. On a contact identified by their email, the email cannot be changed here
Move Contact to Stage Moves a contact to a stage you pick. Moving them to your invited stage also creates their invite
Add Tag to Contact Adds a tag, and creates it first if a tag with that name does not exist
Remove Tag From Contact Removes a tag you pick or name exactly
Invite Contact Creates a personal invite and moves the contact to your invited stage, the same as inviting them in LaunchList. Takes a contact ID, or an email or identifier
Mark Invite as Redeemed Records that a person got into your product, for when your own app knows they signed up. It fires Invite Redeemed, with the external ID you send
Unsubscribe Contact Unsubscribes a contact from your emails, to pass on an opt-out from another tool
Resubscribe Contact Subscribes a contact again after you or a teammate unsubscribed them, or one an import marked as not subscribed. You tick They asked to hear from me to say they asked. It cannot undo a person's own unsubscribe or a spam report, and it sends no email

Add Contact needs an email, a phone number or an identifier. It returns Email verification: verified, waiting (a verification link was sent and not clicked yet), not_asked or no_email. Leave Form empty to use the project's signup form. Its fields appear as inputs in Zapier, so you can map each answer. Referral code credits the person who referred the signup, when the code is valid. A contact you add follows that form's settings. They are subscribed at once, and while the form's Ask people to verify their email is on, they are also sent an email with a link to verify their address.

Mark Invite as Redeemed takes the person's word from your app: LaunchList does not check who they are, so only send people your own app has already verified. More on invites in Early access.

Find Contact, and adding someone who is not found#

Find Contact looks a person up by Email, Identifier or External ID, and returns their stage, status, position, referral code, referral link and referral count. When nobody matches, it finds nothing, and the step's settings in Zapier decide whether the Zap carries on.

To add the person instead, turn on Zapier's option to create the LaunchList contact if it does not exist yet. Zapier then runs Add Contact with the details you map, and the rest of the Zap carries on with the new contact.

Test signups#

Signups made in your project's test mode never start a Zap unless you turn on Include test signups on that trigger. Turn it on while you build, so your own test runs the Zap, and off again before you publish. Each record also carries Test signup, so a filter step can tell them apart.

Contacts past your plan's size#

When your list passes your plan's size, the newest contacts are kept in LaunchList but hidden, and nothing about them reaches Zapier. That covers every trigger, including referrals and invites that name them. Those events are not sent later either: once you move up a size, only new events about those contacts come through. Plans, billing and contact limits explains the hold.

Avoiding duplicates and loops#

  • New Signup or New Form Submission. Both fire when someone joins. Use New Signup for "a new person is on my list" and New Form Submission for "someone answered a form". Using both for the same job sends each signup twice.
  • Add Contact also fires triggers. It goes through a form, so it fires New Form Submission each time it runs, and New Signup when the person is new. A Zap that starts from New Form Submission and runs Add Contact on the same project starts itself again. Point it at another project, or add a filter.
  • Spotting a repeat. Every record has an Event ID that stays the same if LaunchList sends it again, so a filter or a lookup on it can skip a repeat.
  • Fields are a snapshot. Each record describes the contact when it was sent, seconds after the event. A delivery that is retried hours later can show newer values, such as a later stage.

When a Zap stops#

  • You revoke the key, or it expires. LaunchList stops sending events to the Zaps that use it and asks Zapier to pause those Zaps, and Zapier lets you know. An action step with that key fails with "LaunchList did not accept this API key". To start again, make a new key from the Zapier row's settings, reconnect LaunchList in each Zap and turn it back on.
  • You delete a Zap's trigger in LaunchList. Each trigger shows on Embed & API → Developers → Webhooks as an endpoint marked Managed by Zapier. You cannot edit it there, because its settings belong to the Zap. Delete trigger asks first, then asks Zapier to pause the Zap that uses it. Its delivery history is kept.
  • Your workspace moves to a plan without the app. LaunchList stops sending events to your Zaps but keeps their settings and history, and actions and searches answer with "The official Zapier app is on the Launch plan and the Grow plan." Move back and the triggers start again. Events from the time in between are not sent later.
  • Zapier stops accepting a trigger. LaunchList tries a failed delivery again over about two days. When Zapier says the Zap is gone, LaunchList removes its trigger.
  • Too many requests. If a Zap sends more requests than your plan's API rate allows, Zapier waits and tries the step again.

On any plan: Webhooks by Zapier#

The API and webhooks work on every plan, so you can reach Zapier without the official app. It takes a little more setup.

To start a Zap from LaunchList:

  1. In Zapier, create a Zap with the Webhooks by Zapier trigger and the Catch Hook event, and copy the URL.
  2. In LaunchList, open Embed & API → Developers → Webhooks, press New endpoint, paste the URL and choose the events, such as signup.created.
  3. Press Send test on the endpoint, then test the trigger in Zapier and map the fields.

Each event arrives as JSON with the contact under data.object, so the email shows in Zapier as Data Object Email. The webhook guide lists every event and shows how to check the signature.

To add people from Zapier: use a Webhooks by Zapier POST action that calls the create contact endpoint, with an API key from New API key in the Authorization header.

Using the classic LaunchList dashboard#

Zaps built with an access token from the classic LaunchList dashboard use an older version of the app. They connect only to the classic dashboard's waitlists, and they keep working for now.

That token does not work in the app described here. This app connects to a workspace with the key LaunchList makes when you press Connect on the Zapier row. To use it with a waitlist from the classic dashboard, first import that waitlist into a project here.

Common questions

Is there an official LaunchList app on Zapier?

Yes. It has 10 triggers, 9 actions and a Find Contact search, and it connects with a key LaunchList makes when you press Connect on the Zapier row, under Embed & API, then Overview, then Connectors. It is on the Launch plan and the Grow plan.

Can I use Zapier on the Free plan or the Collect plan?

Yes, through a webhook. The official app is on the Launch plan and the Grow plan, but the API and webhooks work on every plan. Start a Zap with Webhooks by Zapier and Catch Hook, and add its URL to LaunchList as a webhook endpoint.

Why does Zapier say my key was not made for Zapier?

The app only accepts the key LaunchList makes when you press Connect on the Zapier row under Connectors. A key made with New API key is for your own code, and Zapier refuses it. Press Connect on the Zapier row and paste that key.

Why does a signup run two of my Zaps?

New Signup and New Form Submission both fire when someone joins. New Signup fires once per person, the first time. New Form Submission fires for every response, repeats included. Use one of the two for the same job.

Why does Zapier show an older LaunchList version on some of my Zaps?

Zaps built before this app use an older version that connects to the classic LaunchList dashboard with its own access token. Those Zaps keep working for now. Connecting a workspace from this dashboard uses the app described on this page, with a key made here.

Was this page helpful?