Build an RSVP list with a live headcount
Every registration adds a row to the RSVPs worksheet, and a SUM keeps the headcount current for catering.
New submission on your event registration form
Create a row in the RSVPs worksheet with attendee name, email and ticket count
One-directional. A submission triggers the action — nothing is written back into your form.
The number a caterer needs is the one that changes all week. This flow writes each registration into the RSVPs worksheet as it happens, so the guest list and the headcount move together and nobody is counting rows the night before.
Events coordinators use it for anything from a supplier breakfast to a hundred-seat conference. Dietary and access answers travel with the attendee, which is what turns a list of names into something the venue can actually work from.
Setting it up
- 1
Publish the registration form with Ticket Type as a select question — the RSVP tab is only as sortable as the answers are consistent.
- 2
Create an RSVPs worksheet with the headers Attendee, Email, Ticket Type, Extra Guests, Dietary, Access, and freeze the header row.
- 3
On a Headcount tab, put =COUNTA(RSVPs!A2:A)+SUM(RSVPs!D2:D) in one cell: one seat for the person registering, plus whatever they entered for additional guests.
- 4
In Zapier, pick formformform with the New Submission trigger, connect your account and select the registration form.
- 5
Add the Google Sheets Create Spreadsheet Row action, connect the Google account that owns the guest list, and choose the RSVPs worksheet by name.
- 6
Map Full Name and Email Address into Attendee and Email, Ticket Type into its column, and Number of Additional Guests into Extra Guests so the headcount formula has a number to add.
- 7
Map Dietary Restrictions and Accessibility Requirements into their own columns, then add a COUNTIF on the Headcount tab for each dietary answer the venue wants a number for.
- 8
Send a test RSVP with two additional guests, confirm the headcount moves by three, then delete the test row and turn the Zap on.
What maps where
Using the Event Registration Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | Google Sheets |
|---|---|
| Full Name | Attendee column on the RSVPs worksheet |
| Email Address | Email column, used for the joining instructions |
| Ticket Type | Ticket Type column, pivoted for a breakdown by ticket |
| Number of Additional Guests | Extra Guests column that feeds the headcount SUM |
| Dietary Restrictions | Dietary column counted for the caterer |
| Accessibility Requirements | Access column the venue reads before the day |
Variations worth knowing
Insert a pivot table with Ticket Type as rows and SUM of Extra Guests as values, then add COUNTA of the same rows to get seats per ticket type. It answers how many people are coming to the dinner rather than the whole day without maintaining a second list.
Attendee emails do not need to leave your team. Build a Catering tab holding only the dietary counts and the total, share the file with the venue and protect or hide the RSVPs worksheet. The numbers stay current as rows arrive; the contact details stay with you.
If something isn't arriving
Number of Additional Guests means guests besides the person filling the form in. Summing that column alone leaves out every registrant. Add COUNTA over the Attendee column to the SUM, as in the Headcount formula, and check it against a test RSVP before you quote the venue.
Inserting a column in the middle of the worksheet moves the existing ones, and the action step is still holding the old layout. Open the Zap, refresh the worksheet in the action so the new headers load, remap the affected fields and send another test RSVP.
Frequently asked questions
Can someone change their RSVP after submitting?
A second submission creates a second row rather than editing the first. Sort by Attendee to spot the pairs, keep the later row and delete the earlier one, or note in the confirmation email that guests should reply to you instead of filling the form in again.
Will the form close itself when the headcount hits capacity?
No. Nothing is read back out of Google Sheets, so the spreadsheet cannot tell the form anything. Watch the headcount tab and unpublish the form yourself when you reach capacity, or swap the link for a waiting list form at that point.
Can I share the headcount without sharing attendee emails?
Yes, but do it with a separate tab rather than a filter. Anyone with access to the file can see every worksheet, so put the totals on a Catering tab and share that file with the venue while the guest list stays in a file of its own.
Related automations
- Capture feedback for pivot table analysis
Every survey response lands on the Responses tab with score, category and comment, ready for a pivot table.
- Collect job applications in a hiring tracker
Each application becomes a row on the Candidates tab, with the scoring columns left empty for reviewers to fill in.
- Log every lead in a master spreadsheet
Every lead form submission becomes a row on the Leads tab, with name, work email, company and source already filled in.
- Record orders in a packing list spreadsheet
Each order lands on the Orders tab with product, quantity, variant and customer, ready to pick and pack from.
- Track support requests in a Tickets tab
Each support request lands on the Tickets tab with issue type, priority and reporter email, ready to sort and mark resolved.
- Add every inbound enquiry to your Notion leads database
Every business enquiry lands in your Notion Leads database as a page tagged New, with the company and inquiry type already filled in.
Build the form first
The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.
Start free