How it works
TF Join sits between the link you share and TestFlight. This page describes each step.
1. Publish a sign-up page
Each app has a hosted page with its name, icon and description. You choose whether to ask for a name, whether to offer an updates opt-in, and whether to limit the number of sign-ups.
A page can be published before the app is on TestFlight. Add the app by name and icon, and connect App Store Connect later.
2. Sign-ups confirm their email
Each person receives a confirmation link that is valid for 48 hours. Sign-ups that are not confirmed are never invited and do not count towards your plan.
The page shows the same message whether or not an address is already on the list, so it cannot be used to find out who has signed up.
3. Hold a waitlist, or invite on confirmation
Each sign-up page has one of two settings. With a waitlist, confirmed sign-ups are held until you invite them. With invite on confirmation, each tester is added to your beta group as soon as they confirm.
86waiting9awaiting confirmationFirst joined 21 Oct
| Source | Joined | |
|---|---|---|
| elenav@example.com | producthunt.com | 21 Oct, 08:14 |
| mbell@example.org | Direct | 21 Oct, 09:02 |
| yuki@tanabe.example | reddit.com | 21 Oct, 11:47 |
| amara.nwosu@example.net | x.com | 22 Oct, 07:30 |
| finnoc@example.com | tideline.example | 22 Oct, 19:21 |
4. Invite testers
From the waitlist, invite everyone, a set number in sign-up order, or selected people. Each is added to the External Testing group you chose through the App Store Connect API, and Apple sends the TestFlight invitation. An optional notice can be sent beforehand.
Apple sends invitations once a build in the group has passed Beta App Review. People invited before then receive the invitation when a build is available.
5. Track status and sources
Each tester is shown as invited, accepted or installed, with the installed build. Sources reports visits, sign-ups and installs by source and campaign, from UTM parameters and tracked links.
The list can be exported as CSV with each person's opt-in status, or sent to your own systems with webhooks.