RsvpAction
RsvpAction is an InformAction subtype (InformAction → CommunicateAction → InteractAction → Action) for notifying an event organizer whether the agent plans to attend. It is Google's primary action for event RSVP markup in Gmail and Calendar emails.
Full example of schema.org/RsvpAction json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "RsvpAction",
"agent": { "@type": "Person", "name": "Dr Henrik Lund", "email": "henrik.lund@example.dk" },
"object": {
"@type": "Event",
"name": "Dunmore Medical Archive — 1945 Anniversary Dinner",
"startDate": "2026-04-23T19:00:00+02:00",
"location": {
"@type": "Place",
"name": "NordicKitchen Studio",
"address": { "@type": "PostalAddress", "streetAddress": "Nørrebrogade 44", "addressLocality": "Copenhagen", "postalCode": "2200", "addressCountry": "DK" }
}
},
"rsvpResponse": "https://schema.org/RsvpResponseYes",
"additionalNumberOfGuests": 1,
"comment": { "@type": "Comment", "text": "Looking forward — I'll bring a signed copy of the 1945 paper for the archive." },
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://dunmore.example/events/1945-anniversary/rsvp?token={token}",
"actionPlatform": ["https://schema.org/DesktopWebPlatform", "https://schema.org/MobileWebPlatform"]
},
"actionStatus": "https://schema.org/CompletedActionStatus"
}
</script>Direct properties (3)
rsvpResponse: RsvpResponseType enum — one ofRsvpResponseYes,RsvpResponseNo,RsvpResponseMaybe.additionalNumberOfGuests: Number — how many extra guests the agent is bringing beyond themselves.comment: Comment — free-text note to the organizer.
The RSVP lives inside an Event.potentialAction or as a standalone ActivityStream entry. Pair with target (an EntryPoint whose urlTemplate is the RSVP URL) and the inherited agent (the attendee) and object (the Event).
Minimal valid version
The smallest markup that still produces a valid RsvpAction entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "RsvpAction",
"agent": { "@type": "Person", "name": "Attendee" },
"object": { "@type": "Event", "name": "Example event" },
"rsvpResponse": "https://schema.org/RsvpResponseYes"
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsGmail RSVP action (confirm-your-attendance card)primary
Common RsvpAction mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
rsvpResponse as a string 'Yes'
Wrong"rsvpResponse": "Yes"Right"rsvpResponse": "https://schema.org/RsvpResponseYes"rsvpResponse is typed as RsvpResponseType, a closed enum. Gmail's RSVP card only fires on the canonical RsvpResponseYes/No/Maybe values.
- 02
additionalNumberOfGuests includes the agent
WrongadditionalNumberOfGuests: 2 for an agent + 1 guestRightadditionalNumberOfGuests: 1 — the "additional" is beyond the agentThe property is extras beyond the agent; double-counting inflates the guest count and breaks catering headcounts.
- 03
Missing target EntryPoint in Gmail markup
WrongRsvpAction with no targetRighttarget: EntryPoint with urlTemplate pointing at the RSVP-handling URLGmail's confirm-your-attendance card needs a target to resolve when the recipient clicks — without it the action won't render in the inbox.
Schema properties in this example
About the example data
Dr Henrik Lund's RSVP — "Yes, with one guest" — to the Dunmore Medical Archive 1945 Anniversary Dinner invitation sent through Gmail.
Comments
Loading comments...