Notion Event RSVP Tracker
When someone submits an RSVP via Microsoft Forms, the flow records the response in a Notion event database, sends a confirmation with calendar attachment, and updates a running attendee count on the Notion event page. A day-before branch emails confirmed attendees a reminder. Manages event RSVPs end to end from a Notion event hub.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
This solution manages event RSVPs end-to-end from a Notion event hub. It ships as two cloud flows in one solution. Flow 1 (Microsoft Forms trigger) logs each RSVP as a page in a Notion attendee database, emails a confirmation with a calendar (.ics) attachment, recomputes the confirmed headcount, and writes that count back to the Notion event page. Flow 2 (daily schedule) finds events happening tomorrow and emails every confirmed attendee a reminder.
Why it matters: organizers who run event logistics in Notion get RSVPs captured, attendees confirmed and reminded automatically, and a live, accurate headcount - with no manual spreadsheet.
Ships Off (Stopped). The headcount is recomputed from attendee records, not blind-incremented.
Use Case
A Marketing/Operations team plans events in Notion and collects RSVPs via a Microsoft Form. They want each RSVP logged against the event, attendees confirmed with a calendar invite, the confirmed headcount kept current on the event page, and confirmed attendees reminded the day before.
Flow Architecture
When RSVP Submitted
Forms - CreateFormWebhookFires on each new RSVP submission (Flow 1: RSVP Capture).
Get Response & Config
Forms - GetFormResponseByIdPulls the submitted answers and binds the Notion token/version, DB ids, confirmed label, date property, and the four answer values.
Create Attendee Page
Notion - CreateaPageLogs the RSVP as a page in the attendee database.
Match Event & Build Invite
Notion - Query_a_database + ComposeReads the event hub, filters to the matching event, extracts its page id + start date, and builds the VCALENDAR (.ics) invite.
Send Confirmation
Outlook - SendEmailV2Confirms the attendee with the .ics calendar invite attached.
Recompute Headcount
Notion - Query_a_database + ComposeReads the attendee DB, keeps confirmed attendees for this event, and computes the count from records (accurate even with edits/cancellations).
Patch Event Count
HTTP - PATCH /v1/pagesWrites the recomputed Confirmed Count to the Notion event page.
Daily 08:00 Reminder Check
RecurrenceFlow 2: each morning finds events happening tomorrow.
Remind Confirmed Attendees
Notion + OutlookReads events + attendees, filters to tomorrow's events and their confirmed attendees, and emails each a reminder.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_EventFormId | String | REPLACE_WITH_FORM_ID | Microsoft Forms RSVP form id. |
| flowlibs_NotionEventDatabaseId | String | REPLACE_WITH_NOTION_EVENT_DATABASE_ID | Notion event hub database id. |
| flowlibs_NotionAttendeeDatabaseId | String | REPLACE_WITH_NOTION_ATTENDEE_DATABASE_ID | Notion attendee/RSVP database id. |
| flowlibs_FormQuestionAttendeeName | String | REPLACE_WITH_QUESTION_ID | Form question id mapped to attendee name. |
| flowlibs_FormQuestionAttendeeEmail | String | REPLACE_WITH_QUESTION_ID | Form question id mapped to attendee email. |
| flowlibs_FormQuestionEventName | String | REPLACE_WITH_QUESTION_ID | Form question id mapped to event name. |
| flowlibs_FormQuestionRSVPStatus | String | REPLACE_WITH_QUESTION_ID | Form question id mapped to RSVP status (Yes/No/Maybe). |
| flowlibs_NotionIntegrationToken | String | REPLACE_WITH_NOTION_INTEGRATION_SECRET | Notion integration secret used by the HTTP page-property write-back. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Notion | shared_notionip | CreateaPage Query_a_database |
| Microsoft Forms | shared_microsoftforms | CreateFormWebhook GetFormResponseById |
| Office 365 Outlook | shared_office365 | SendEmailV2 |
| HTTP | shared_http | PATCH /v1/pages |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Map your form questions
- Set the four flowlibs_FormQuestion* env vars to your form's question ids.
- Match your Notion property names
- The flows assume attendee props Name/Email/Event/RSVP Status and event props Name/Date/Confirmed Count. Rename in the actions if your databases differ.
- Reminder timing
- Change the recurrence or the addDays(utcNow(),1) window for a different lead time.
- Capacity / waitlist
- Add a condition after the count update to close RSVPs or waitlist when a cap is reached.
- Ticketing
- Swap Microsoft Forms for the Eventbrite connector for ticketed events.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Form answer (dynamic question id)
Reads an answer by its configured question id.
EXPR.02Notion event date
The matched event's start date.
EXPR.03Confirmed count
Headcount recomputed from attendee records.
EXPR.04Tomorrow filter
Keeps events happening tomorrow.
EXPR.05Notion page-property PATCH body
The write-back body for the event count.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.