FormThunder isn't open yet. This site describes the service as it will run at launch. Find out more

FormThunder
Menu

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.

Will you be there?

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.

event-rsvp-form.html
<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_form when 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.