Copy an event RSVP form template and build your guest list from CSV
This event RSVP form asks whether someone's coming, how many guests they're bringing and about dietary needs. Each reply is stored by FormThunder and emailed to you, and you can export all of them as CSV for a guest list on any plan. On Pro, replies can go straight to Google Sheets, and guests can get a confirmation email.
Updated
Preview
This preview is switched off, so nothing here sends.
Copy the code
Replace YOUR_ACCESS_KEY with your own key. The classes use Tailwind's stock colours, so they work in any Tailwind project.
<form action="https://formthunder.com/submit" method="POST" class="mx-auto max-w-md space-y-4">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
<input type="hidden" name="subject" value="New RSVP">
<input type="hidden" name="event" value="Summer party">
<input type="checkbox" name="botcheck" class="hidden" tabindex="-1" autocomplete="off">
<div>
<label for="name" class="block text-sm font-medium text-slate-900">Name</label>
<input id="name" name="name" required autocomplete="name" class="mt-1 w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-950 focus:border-slate-950 focus:outline-none">
</div>
<div>
<label for="email" class="block text-sm font-medium text-slate-900">Email</label>
<input id="email" name="email" type="email" required autocomplete="email" class="mt-1 w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-950 focus:border-slate-950 focus:outline-none">
</div>
<fieldset>
<legend class="block text-sm font-medium text-slate-900">Will you be there?</legend>
<div class="mt-2 flex gap-4 text-sm text-slate-700">
<label class="flex items-center gap-1.5"><input type="radio" name="attending" value="Yes" required> Yes</label>
<label class="flex items-center gap-1.5"><input type="radio" name="attending" value="No"> No</label>
</div>
</fieldset>
<div>
<label for="guests" class="block text-sm font-medium text-slate-900">Guests, including you</label>
<input id="guests" name="guests" type="number" min="1" max="6" value="1" class="mt-1 w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-950 focus:border-slate-950 focus:outline-none">
</div>
<div>
<label for="dietary" class="block text-sm font-medium text-slate-900">Dietary needs</label>
<input id="dietary" name="dietary" class="mt-1 w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-950 focus:border-slate-950 focus:outline-none">
</div>
<button type="submit" class="w-full rounded-lg bg-slate-950 px-4 py-2.5 text-sm font-medium text-white hover:bg-slate-700">Send RSVP</button>
</form>The fields that matter
- event
A hidden field naming the event, so one form can serve several events and your CSV stays clear.
- attending
A required yes or no, so a no reply is recorded too.
Adapting it
- FormThunder won't stop accepting replies at a head count. Pause the form with
update_formwhen you're full. - If you need tickets or payment, use a ticketing tool. This is only for replies.
Questions
Can guests get a confirmation?
Yes, with the autoresponder on Pro. It needs allowed_domains set, and the form must be posted from one of those domains.
How do I close RSVPs?
Pause the form in the dashboard, or ask your AI to set its status to paused. Posts then get a 403.
Get a key and make this form send
This template works on the free plan, up to 250 submissions a month.