An event page where every RSVP creates a Google Calendar invite and sends a confirmation email, no ticketing platform needed. Built on One.
Template page: withone.ai/templates-vibe/event-rsvp
- Renders an event page with the date, venue, description, and an RSVP form
- Each RSVP adds the guest to your Google Calendar event through the One SDK, so they get a real calendar invite
- A confirmation email goes out through your Gmail automatically
- No ticketing platform, no per-ticket fees
Out of the box the app runs on demo data, so it works before you add any keys. All event details live in src/lib/event.ts: edit that one file to make it your event.
npm install
cp .env.example .env # fill it in (see below)
npm run dev # http://localhost:3000| Variable | What it is |
|---|---|
ONE_API_KEY |
Your One API key. Run one init or copy it from the One dashboard. |
ONE_CONNECTION_GCAL |
The key of your Google Calendar connection on One. Connect with one add google-calendar, then one list shows the key. |
CALENDAR_EVENT_ID |
The id of the calendar event guests join. Open the event in Google Calendar (or create one) and copy the event id from the URL or the API. |
Optional: ONE_CONNECTION_GMAIL (sends the confirmation email; without it guests are still added to the event) and CALENDAR_ID (default primary).
- Replit: replit.com/github.com/withoneai/template-event-rsvp
- Bolt.new: bolt.new/github.com/withoneai/template-event-rsvp
After importing, add the keys above as secrets and restart.
RSVP form ──server action──▶ rsvp({ name, email })
│
One SDK ──▶ Google Calendar
merge attendees + new guest
(patch replaces the array,
so dedupe by email)
│
One SDK ──▶ Gmail
confirmation email to the guest
src/lib/event.ts: the event details, edit this filesrc/lib/rsvp.ts: calendar attendee merge + confirmation emailsrc/app/actions.ts: the server action the form posts tosrc/app/rsvp-card.tsx: the RSVP form UI
MIT
