Problem
Managing event registrations can be tricky when space is limited. Whether you’re organizing a small workshop, a webinar, or a private appointment schedule, you want to make sure you don’t overbook, but you also want a way to collect waitlist signups the moment capacity is reached.
Solution
In this tutorial, I’ll walk you through two approaches to automatically switching from a registration form to a waitlist form using Gravity Forms:
- A simple approach using built-in entry limits
- An advanced solution that tracks the actual number of attendees (not just form submissions) using a custom shortcode
Use Case #1: Using Built-In Gravity Forms Settings
Best for: One registrant per form submission
Overview
If each form submission only represents one attendee, you can use Gravity Forms’ built-in entry limit feature and embed your waitlist form directly into the Entry Limit Reached message.
- Create Your Registration Form
- Create a Waitlist Form
Set up both of these forms as normal, adding your desired fields (Name, Email, Payment, etc.).
- Copy the Waitlist form shortcode

- Enable the Entry Limit
- Go to Form Settings for the registration form
- Scroll to the Restrictions section
- Check Enable Entry Limit
- Enter the total number of available spots (e.g., 25)
- Enter your message and paste the registration form shortcode
Here is an example message:
This event is full. Please join our waitlist below in case a spot opens up.
[gravityform id="1" title="false" ajax="true"]

- Save the Settings
Once saved, Gravity Forms will automatically stop accepting registrations once the limit is reached, and the embedded waitlist form will be shown instead.
Use Case #2: Advanced Tracking Based on Number of Attendees
Best for: Multiple attendees per form submission
If each registrant can submit multiple attendees on a single form, using the built-in entry limit won’t be accurate because it only counts total entries, not how many people were registered.
To solve this, we’ll use a custom shortcode that:
- Tracks the number of attendees from a List field
- Automatically switches to a waitlist form when a defined attendee limit is reached
What You’ll Need
- One form with a List field to collect attendees
- A second form for your waitlist
- A small plugin or code snippet to calculate total attendees
- The IDs of both forms and the List field
Step-by-Step Instructions
- Set Up the Registration Form
- Add a List field where users can enter multiple names (or name/email pairs)
- Note the Form ID and the Field ID of the List field

- Create the Waitlist Form
Same as before, just collect the info you need from people who missed the cutoff.
- Add the Custom Shortcode Plugin
- Download the plugin (button below)
- Then install and activate it using the Plugins page in the WordPress admin
Get Access to the Registration Form Switcher Plugin
- Embed the Shortcode
On your registration page (or wherever you want the form to appear), use the shortcode below, but be sure to replace the IDs with the appropriate values from your forms.
[event_form_display registration_form_id="248" waitlist_form_id="249" list_field_id="24" max_attendees="6"]
How It Works
- The shortcode fetches all active entries from the registration form.
- Displays a message with the available remaining seats.
- It counts the total number of rows entered in the List field across all entries.
- If the total attendees equals or exceeds the limit (e.g., 6), the waitlist form is displayed instead of the registration form.
Optional Enhancements
You could extend this setup by:
- Supporting additional attendee input methods (like repeaters or individual name fields)
- Adding admin notifications when the switch to waitlist occurs
- Logging waitlist signups in a separate view for review and manual follow-up
The Wrap Up
With Gravity Forms and a small snippet of custom code, you can build a seamless attendee management workflow, automatically switching from registration to a waitlist the moment your event fills up.
It’s simple, effective, and flexible enough to grow with your event registration needs.
Need Help?
If you’re having issues with the plugin or want this plugin packaged and downloadable? Or want us to build an add-on version that works without code?
Let us know in the comments or chat.