Invitation System Setup and How It Works

A pre-launch waitlist campaign/project in Prefinery has 2 major components in it - a referral system, and an invitation system. 

For your pre-launch campaign, Prefinery lets you create a custom application (signup) form for your product which you can setup to ask for name, email, or any other information you would like to collect from users, and then easily install that form on your website. 

After a visitor submits the form they are given a unique referral link to encourage them to share your beta with friends via email or on their social networks such as Facebook, Twitter, WhatsApp, etc. 

The idea is that you lock down something and require an invitation code in order to grant access. That "something" depends on your product.

For example, if you have a SaaS product, then you would add an "invitation code" input field to your account registration form and ask for an invitation code in addition to the normal email and password in order to create an account. This means that no one can create an account on your site unless they have received an invitation code. Then, on your homepage you ask visitors to apply for your waitlist by filling out the Prefinery-powered signup form. 

What's the difference between the referral system and the invitation system?

The referral system, which comes with both project types (general refer-a-friend/referral and pre-launch waitlist), pertains to the way you can allow users to signup on your website to join your waitlist, as well as earn referrals by sharing their unique referral link with others. This system is responsible for tracking shares and referrals as your waitlist grows. 

The invitation or beta management system, which is only available when you choose the pre-launch waitlist project type, covers your launch process for when you want to start inviting users from your waitlist to use your app or service. This system allows you to track who's been invited to use your app/service, who are the active users, and to also allow your invited/active users to directly invite others too (skipping the waitlist). 

You can start running your referral campaign while you're still setting up your invitation system (or if you'd rather set it up at a later time) e.g. if you want to gauge first how much interest there is in your app/service. 

What happens when a user is invited?

In a typical setup, Prefinery manages the flow of your users through different stages in the form of statuses as they move from applying for access (the applied  status), to being invited (the invited  status), to using their invitation code and ultimately actively using your product (the active  status). 

These changes in status can also be used to trigger specific email messages. 

How do I set up the invitation system?

After having created your pre-launch waitlist project, or if you already have one running, and you're ready to start inviting users, here are your next steps: 

  1. Set up invitation code validation
  2. Set up invitation email
  3. Invite users

1. Set up invitation code validation

The invitation code that Prefinery automatically generates for a user is tied to their email address. We give you the formula to calculate what the user's invitation code should be, then you compare that to the code the user provides. To learn more about how this works, please check out our invitation code validation guide. 

Optionally, you can implement user idling (track if user is actively using your product) and/or the invite-a-friend system (allow invited/active users to directly invite their friends).

2. Set up invitation email

When you invite a user the following will happen: 


The user's invitation code is generated. You can find this by viewing the user's profile. 


The user's status changes from applied to invited, and the time and date ("invited_at" timestamp) of that event is recorded. 

All of the above information are also provided by the API and via webhook. 


All email messages that are set to trigger when a user's status becomes invited are queued for sending. 

Your project comes with an "Invitation" email message already added. You will want to edit this email to include instructions for how or where the user can use their invitation code in order to get access to your product. As described earlier, this depends on what you are gating access to. If it is SaaS app, then this email probably says something like "Congratulations, you've been invited! Click this link to redeem your code and get access." and provide a link to your registration page. 

Pro Tip: You can pre-fill your account registration form by passing the user's email address and invitation code along as URL parameters. For example, you can provide a link or a nice call to action button which goes to{{}}&code={{user.invitation_code}}

Note: While your account comes with one email message set to trigger on the invited event, you are free to create more email messages with this same trigger. For instance as shown in the image below, you may want to send them a reminder to use their invitation code if they haven't already done so after 7 days of being invited and they haven't been activated yet. You can find more information about re-inviting users here.

3. Invite users

Once you're done setting up code validation and the emails, and after having collected users on your waitlist, you should now be ready to start inviting them to use your product. 

Depending on how you qualify users to invite, Prefinery offers you different ways, either manual or automatic, to accomplish this as follows: 

[Manual] Using the Waitlist 


From your project dashboard, go to Users page then select the Waitlist View tab. 


Select the users you'd like to invite, then click on the Action button and select Invite

Not selecting any user then using the Action button will allow you to perform a specific action on all users in the waitlist, even ones not shown (beyond the top 100). 

Note: Only users in the applied status are on the waiting list. Once you've invited them or set them to active , they are pulled off of the waiting list.

[Manual] Using the Table View (Search Filtering, Via User's Profile)

If you're looking to invite users based on a set criteria, you can use the search filter to set your criteria and easily bulk invite users that match those criteria. Perhaps, you just want to invite everyone at once, or in batches where the earliest gets to be invited first.  


From your project dashboard's navigation sidebar, click on Users


In the Users page, you can use the Filter button to open up the filter section and setup filters to search for specific type of users. 

The same functionality can also be used to search for individual users by name or email address. 

You can also sort in ascending/descending order by field by clicking on the column headers. 

You can customize the Table View at any time by clicking the Customize Table button in the upper right corner, allowing you to display/hide columns as needed. 


Select the users that you want to invite, then click on the Action dropdown button and select Invite

To invite all users that match the filter, don't select any of the filtered users then use the Actions button.. 

Notice how the newly invited users are no longer in the filtered list because their Status has changed from applied to invited

Alternatively, you can invite a user individually by clicking on them from the list (or clicking their View button) to navigate to their profile page, and from there you can click on the Actions menu and select Invite

[Manual] Exporting then Re-importing

In the previous method if you're looking to invite users based on a set criteria, you can use the search filter to set your criteria and easily bulk invite users that match those criteria. But, perhaps you also want to take into consideration the user's position in the waitlist (e.g. I want to invite the top 1000 users in the waitlist), in which case exporting those subset of users then re-importing them with the invited status is the option for you. 


From the Users page > Table View, export this subset of users with the applied (waitlisted) status like as shown below. 


In the exported CSV, you'll find that you can sort users by Waitlist Position. This will allow you to delete the rows beyond position 1000, or whatever many positions you want to invite. 


Still editing the CSV, remove all other columns except Email and Status, and change all status values from applied to invited like as shown below: 


Save your changes to the CSV file then re-import it into your Prefinery project, making sure the Do not send emails when importing option is NOT checked if you want these users to receive your invitation email: 

[Automatic] Using a Reward

The rewards feature is also a way to automatically get users invited when reaching a specific milestone. 

In the example single-sided reward below, when the user earns 5 referrals, the reward is triggered which gets them automatically invited. 

To learn more about rewards, check out: What Triggers a Reward?

[Automatic] Using Supported Integration Tools

If you're looking to automate the way a user gets invited - perhaps you want to invite them if they performed a specific action in your funnel e.g. made a purchase - you can use a Prefinery-supported integration tool to do so. 

At the moment, only Pabbly Connect natively supports an "Update User" action event which as shown below allows you to set the user's status to invited

But, if your no-code automation tool supports HTTP requests (like Webhooks by Zapier), then you can utilize our API to update a users status. Check out our full guide here: How to use the Prefinery API with No-code Automation Tools

[Automatic] Using our REST API

Similar to how the above supported integration option works, you can use our REST API by making a testers#update call from your end to change the user's status in your Prefinery campaign to invited.

[Automatic] Auto-Approve Applications

You have the option to auto-approve (auto-invite) users as soon as they sign up for the waitlist. This is helpful when your traffic is light and you're not concerned with being overwhelmed with users, yet you want to ensure timely approval of applications.

This can be enabled via Settings > Beta Management > Auto-approve Applications in your project dashboard.

[Automatic] Invite-A-Friend System

If you enabled and setup the Invite-A-Friend System on your campaign, you provide your invited and active users the option to directly invite their friends by submitting their email address. The invited friend gets immediate access to your product or service, as if they had signed up for the waitlist and you automatically invited them.

Still need help? How can we help? How can we help?