> ## Documentation Index
> Fetch the complete documentation index at: https://developers.reintersect.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RSVP

> Going, maybe or can't go, with a headcount, an optional capacity bar and organizer-only details and controls.

> Reintersect apps are in developer preview. Names and limits can still change before general
> release.

When you need a headcount for an event, such as a team dinner, an RSVP block lets members answer
going, maybe or can't go. Only the member who added it sees the organizer details and controls.

```tsx src/app.ts theme={null}
import { createReintersectApp } from "@reintersect/sdk/app";
import { rsvp } from "@reintersect/sdk/recipes";

export const TeamDinner = rsvp({
  type: "team-dinner",
  title: "Team dinner",
  labels: { declined: "Not this time" },
});

export const app = createReintersectApp({ name: "Events" }).addBlock(TeamDinner);

export const autumnDinner = TeamDinner.insert({
  title: "Autumn team dinner",
  startsAt: "2026-10-16T18:30:00Z",
  location: "The Winding Stair, Dublin",
  capacity: 24,
});
```

## Props, state and actions

Props are `{ title, startsAt?, location?, capacity? }` (`capacity` a positive integer). State is
`{ going, maybe, declined, closed }`. Answers are a [viewer input](/blocks/viewer-inputs) named
`rsvp` with the values `going`, `maybe` and `declined`.

| Action | Behaviour |
| - | - |
| `tally` | Runs after each answer and copies the counts into state. Hidden from agents (`agent: false`). |
| `close` | Destructive. Stops answers, posts the headcount and marks the block final. |

The organizer section (the declined count) and the Close RSVPs button both use `audience="creator"`,
so only the member who added the block sees them. With a `capacity`, a progress bar labelled `spots`
("Spots taken") shows how full the event is, and Reintersect writes its text, such as "12 of 24".

## Labels

`question`, `going`, `maybe`, `declined`, `spots`, `full`, `organizer`, `close`, `confirmTitle`,
`confirmBody`, `closed`, `summary`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.