RSVP form template
An RSVP form takes a yes or a no, and only after a yes asks who is coming along and what each of them eats. Send one link to everyone, or one per household with the source filled in, and the headcount adds itself up.
Updated
Opens in the editor. No account needed to try it.

What it asks
| Question |
|---|
| Full Name |
| Email Address |
| Will you attend? |
| Guest (repeating group, shown on a yes, up to 10) |
| Guest Name (per guest) |
| Meal Choice (per guest: standard, vegetarian, vegan or kids meal) |
| Dietary restrictions or allergies (per guest, optional) |
| Any message for the host? (optional) |
This one is a public form, usually
The request templates here go to one known person. An RSVP works both ways: one link in the invitation that anyone can answer, or a request per guest with their name filled in and a reminder before the deadline. The form is the same.
How to use it
- Select Use this template, and put the occasion, date and place in the intro.
- Publish it, and put the share link in the invitation. Add
?source=familyor?source=workto the link per group, and the hidden field records it. - Send each reply to Google Sheets, where every guest’s meal choice is in the row, or read the headcount in the dashboard’s question summary.
What to change
- The meals. Standard, Vegetarian, Vegan and Kids Meal are the caterer’s usual four. Rename them to the actual menu, or drop the question for a party without a seated meal.
- The guest limit. The group allows up to ten guests. Set it to one for a plus-one, or to the number of seats a household was given.
- The deadline. Give the share link an expiry on the RSVP date, so late replies get a message rather than a form. Reminders are for requests: send the form as a request per guest when you want Formstep to chase.
- The message. Any message for the host? is optional. For a wedding, add a song request the same way.
Where the replies go
Each reply comes back under keys derived from the titles, such as full_name, will_you_attend and guest, with the guest list as a list of entries under the group’s key. In a sheet or a Notion page, the group maps as one cell with every guest numbered, or as one column per guest field joined with “ · “. A webhook gets the entries as an array.
When another template fits
- Event registration when the room is open to anyone, people register themselves, and you need a limit and their organization.
- Appointment booking when each guest picks a time of their own.
More templates
- Vendor onboardingCompany, tax and bank details, a registration document and a signature.
- Client intake and onboardingContact and billing details, terms and a signature from a new client.
- Document collectionAsk one person for files, with your own paperwork attached.
- ApprovalApprove, decline or request changes, signed on approval.
- Payment requestShow an invoice number and amount, then take the payment.
- Invoice verificationHave a supplier check what your AI read from their invoice.
- Employee onboardingPersonal details, emergency contact and preferences from a new hire.
- Job applicationCandidate details, experience, resume and availability.
- Contact formName, email and a message, from anyone on your site.
- Lead generationA demo request with company details, straight into your CRM.
- Appointment bookingPick a service and a time from your live calendar, in one form.
- Support requestA ticket with category, priority, description and a file.
- Event registrationAttendee details and dietary requirements, from anyone with the link.
- Quick feedbackA five-star rating and an optional comment, done in ten seconds.
- NPS surveyThe 0 to 10 question, the reason, and what could be better.
Questions about this template
Something else on your mind? The docs cover every setting, and we answer email.
The Guest group appears only after Yes, I’ll be there, and starts empty. Add another guest adds a name, a meal choice and allergies for each person, up to ten. A no skips it all.
The hidden Referral Source field is filled from the link, so a link per household, or per channel, tells you. To invite named guests with their names already filled in, send each one a request instead of a link.
Yes. Google Sheets gets one row per reply with every guest in it, and the question summary in the dashboard shows the yes and no split and the meal choices.
The yes or no, who is replying, and what the caterer needs per guest. Keep everything else optional: a message box is nice, a phone number is not needed.
