Skip to main content
Events template

Guest List Form template

Name, RSVP, headcount, dietary notes. This is the guest list form I use when an event needs a number, not a ticketing platform — rendered live below with the exact HTML behind it.

Rendered

What your visitor sees

Plain semantic HTML rendered through the same default form theme Core Forms applies on the front-end. Try it — this demo confirms inline and sends nothing.

Will you attend?

Dietary needs

Demo only. On your site, the same markup wires into the normal Core Forms action loop — email, Slack, Google Sheets, webhook, whatever you configure.

Source

The HTML behind it

Copy this block, paste into Core Forms → Add New Form → Fields tab, save. Field names map to merge tags automatically in your action templates.

<p>
	<label for="cf-guest-name">Guest name <span aria-hidden="true">*</span></label>
	<input type="text" id="cf-guest-name" name="NAME" autocomplete="name" required aria-required="true" />
</p>
<p>
	<label for="cf-guest-email">Email address <span aria-hidden="true">*</span></label>
	<input type="email" id="cf-guest-email" name="EMAIL" autocomplete="email" required aria-required="true" />
</p>
<fieldset>
	<legend>Will you attend? <span aria-hidden="true">*</span></legend>
	<p>
		<label><input type="radio" name="ATTENDING" value="Yes, count me in" required /> Yes, count me in</label>
		<label><input type="radio" name="ATTENDING" value="Can't make it" /> Can't make it</label>
	</p>
</fieldset>
<p>
	<label for="cf-guest-count">Number of guests (including you) <span aria-hidden="true">*</span></label>
	<input type="number" id="cf-guest-count" name="GUESTS" min="1" value="1" required aria-required="true" />
</p>
<fieldset>
	<legend>Dietary needs</legend>
	<p>
		<label><input type="checkbox" name="DIETARY" value="Vegetarian" /> Vegetarian</label>
		<label><input type="checkbox" name="DIETARY" value="Vegan" /> Vegan</label>
		<label><input type="checkbox" name="DIETARY" value="Gluten-free" /> Gluten-free</label>
		<label><input type="checkbox" name="DIETARY" value="Allergies" /> Allergies</label>
	</p>
</fieldset>
<p>
	<label for="cf-guest-allergy">Allergy details</label>
	<input type="text" id="cf-guest-allergy" name="ALLERGY" />
</p>
<p>
	<label for="cf-guest-note">Note for the host</label>
	<textarea id="cf-guest-note" name="NOTE" rows="4"></textarea>
</p>
<p>
	<button type="submit">Send RSVP</button>
</p>

When to use it

What this guest list form template is for

A guest list form beats an Eventbrite-style platform when nobody is buying a ticket: weddings, workshops, launch parties, community meetups. You need a headcount and a few dietary notes, not a ticket tier, a service fee, and a checkout page that sends your guests to someone else's domain. The form lives on your event page, on your site.

The template collects who is coming, whether they are coming at all, how many people they bring, and what they can eat. Every RSVP lands in your submissions inbox and can fire a confirmation email to the guest plus a row in Google Sheets, so the running headcount maintains itself.

What it deliberately doesn't do: sell tickets, take payment, or generate QR codes for check-in. If you need paid admission or door scanning, that's an events platform and you should buy one. For a free event where you just need to know how many chairs to set out, this form is complete.

Every field, and why it's there

FieldTypeRequiredWhy it's there
Guest name text Yes Who is RSVPing — maps to [NAME] in your action templates.
Email address email Yes The confirmation email goes here; so does any venue-change notice.
Will you attend? radio group Yes Two options, fieldset-wrapped. A recorded "no" is worth as much as a "yes" for planning.
Number of guests (including you) number Yes min="1" — the RSVPing guest counts themselves. This number IS your headcount.
Dietary needs checkbox group Optional Vegetarian, vegan, gluten-free, allergies — guests tick all that apply.
Allergy details text Optional Free text for the specifics when the Allergies box is ticked.
Note for the host textarea Optional Arrival times, plus-one names, "we can only stay for the ceremony".
Setup

From this HTML to a working form

  1. Paste the markup into the Fields tab

    Core Forms → Add New Form → Fields tab. Paste the HTML above, reword the attend options if your event is formal, save. The markup IS the form — no field picker.

  2. Wire the RSVP actions

    In the Actions tab, add Send Email to the guest: "Thanks [NAME] — you're down for [GUESTS]." Add a Google Sheets action next to it so every RSVP appends a row and the sheet total is your running headcount.

  3. Embed it on the event page

    Drop the Gutenberg block on your event page, or use the shortcode in a classic editor. Put it right under the date and venue — the fewer clicks between "sounds fun" and "sent", the more RSVPs you get.

Make it yours

Three upgrades worth considering

Show guest fields only after a "Yes"

Add data-show-if attributes so the guest count and dietary fields appear only when "Yes, count me in" is selected. A "no" reply stays two clicks long.

Conditional logic →

Close RSVPs on the deadline

Set an end date on the form and it stops accepting the moment your caterer needs final numbers — no midnight trip to wp-admin to unpublish the page.

Form scheduling →

Keep the headcount in a spreadsheet

A Google Sheets action appends every RSVP as a row. Sum the guests column and you have the number the venue keeps asking for.

Google Sheets integration →
FAQ

Guest List Form template questions

How do I see the final headcount?

Every RSVP sits in the Core Forms submissions inbox in wp-admin, and you can export the lot as CSV. Cleaner: wire the Google Sheets action so each RSVP appends a row, then sum the guests column — that sheet is your live headcount.

Can guests edit their RSVP after submitting?

There is no edit-my-response link — that would need guest accounts. If plans change, guests submit again and you keep both entries; the latest one wins. For a wedding or a meetup, that simplicity beats maintaining a login system nobody asked for.

Can the form stop accepting RSVPs at capacity or after a date?

By date, yes — the scheduling feature closes the form automatically on your deadline. By capacity, no: the form does not count seats, so when the Sheets total hits your room limit, you close the form manually. Honest answer: for most events the deadline does the job.

Should I bother collecting "no" replies?

Yes. A recorded no beats silence — you stop chasing that guest, your headcount firms up sooner, and the caterer gets numbers you trust. That is why the attend field is a required radio instead of assuming everyone who submits is coming.

The template is free. The plumbing is the product.

Core Forms turns this HTML into stored submissions, spam-filtered email, and 30+ integrations. Use CFLAUNCH for 20% off.