Event registration with multiple events, waitlist


I’m looking for advice on setting up an event registration portal. We have a series of 8 classes, each of which have a particular capacity. Each applicant is welcome to sign up for multiple classes. We’d like to also track waitlisted applicants - registrations that happen after a class is full - so they can be registered if a spot opens up.

Internal needs:

  1. A way to view each a list of people registered for each class
  2. A way to view all people, with information on their registrations, a way to keep track of payments received (happening outside of Airtable).
  3. A way to see people who have waitlisted for a class by date added, so they can be registered if spots open up.

External needs

  1. A signup form, where people can register with their personal information and choose from all open classes. We’d prefer to do this in one form, where they can choose from a multi-select field, but if that’s more difficult I think it would work to do this as one form submission per signup. I do have access to miniextensions, if that helps.
  2. A way to contact registrants at regular intervals with “amount due” invoice messages

My current thinking is that this could be done with two tables: Courses and Contacts, where Contacts has a linked field that’s a multiselect of Course names. To handle the waitlist, I plan on making duplicate “WAITLIST” courses in the Courses table - when the regular courses fill up, they will deactivate and an admin can make the WAITLIST versions appear in the form instead.

Is there any reason that I should look into a three table solution (with a junction table joining the two)? Any other advice is appreciated as well.

Hi Andre, having that junction table will allow us to automatically track whether an event is full, view payments per person per event, and send emails per person per event

We could…probably(?) do it with just two tables, but it’d get super complicated I think, and would require some manual work such as deactivating events and stuff

I’ve created a working version of what you’re trying to do here with three tables

attendance with waitlist

To view the setup (formulas, automations etc), duplicate the base by clicking the title of the base at the top of the screen, then the three horizontal dots on the right, and then the “Duplicate Base” button.

It’ll automatically update a person’s attendance status based on the number of slots each event has with 3 automations

The first automation will create a record in the Participation table per event the person has chosen to attend via the multiple select field in the form

The second automation links the Participation records to the Events record. This allows us to do a rollup of the Event’s attendance status, i.e. whether it’s full or not

The third automation will update the Participation record’s Status value to either “Attending” or “Waitlist”, based on whether the event is full or not


For the emails, I’ve created another table called Emails that is linked to the Participation table

If a Participation record’s Paid value is unchecked, and the Days since creation / last email value is > 15, then it’ll send an email

Once an email is sent, it’ll create a new reocord in the Emails table that’s linked back to the Participation table, and we do a rollup to find out when the latest email was sent, which allows us to power the Days since creation / last email formula

Let me know if you have any questions!

This is amazing, Adam - thank you for your quick and detailed solution! I’m digging in a bit this week and will post back with any other questions or follow ups, but really appreciate the help!

Happy to anwer any questions!

Hi all! this is a great thread!
I am dealing with a very similar base

I have 3 tables: People, Events and Attendance.
The main difference for me is that people don’t register for events, the Attendance table is currently manually updated after each event based on who shows up. It’s a very tedious process to enter records in the Attendance table considering there are 150 people and 24 events per year.

Do you have any idea how I could pre-populate the Attendance table with all eligible people for each event? After that for each record I will simply update an “Attended” checkbox, much faster than entering all info from scratch. (See screenshot)

I tried with automations but they don’t support bulk creation of records…any other idea?

Hi Ambra, I’ve created a base that should solve your problem here that works on the same principles

Pre-populate the Attendance table with all eligible people for each event

A word of caution: It features an automation that will run per record created in the Attendance table to link each one to the respective People record, and so you might burn through your automation runs really quickly.

You could do this manually by just copy pasting the Person Name column values into the linked field, or if you find you do not need the link to the People table at all you can do away with the automation entirely

Do let me know if you have any questions!

This topic was solved and automatically closed 15 days after the last reply. New replies are no longer allowed.