Circle event attendance dashboard for community leads

By General Input

One screen that shows who actually shows up to your Circle events, ranks your regulars, and flags the first-timers worth welcoming personally.

Integrations

  • Circle
  • Google Sheets

Type

App

Categories

  • Operations
  • Marketing

Build me an app for the recurring events I run in my Circle community: one screen that tells me who actually shows up, instead of me rebuilding a spreadsheet after every session. The audience is the community or events lead who needs to prove attendance trends over time and spot the regulars worth turning into hosts or moderators.

The main view is an attendance grid. Load events with Circle List Events, with a space filter built from Circle List Spaces and a window control at the top of the page that defaults to the last 8 events (also offer 4, 12 and all). For every event inside the window, call Circle List Event Attendees and page through until has_next_page is false. Render members down the left side and events across the top, with a filled marker in a cell where that member attended. Column headers show the event title and date, row headers show the member name, avatar and a running total of events attended out of the events in the window. Clicking a column header opens a detail panel for that event using Circle Get Event, showing the description, start and end time, location, host and the space it lives in, plus the attendee count for that session.

The second view is a regulars view with three sections. Regulars ranks members by how many of the events in the window they attended, descending, showing both the count and an attendance rate. First-timers lists the members who appear in the most recent event's attendee list and in no earlier event in the window, so hosts can welcome them personally before the next session; give this section its own visible badge because it is the part hosts act on fastest. Never attended lists members pulled from Circle List Community Members, paging through the full list, who do not appear in any attendee list at all. Keep the sections on one page so the lead can move from the strongest regulars to the completely disengaged without navigating away.

From any member row I want to act without leaving the page. Tagging a reliable attendee should load the existing tags with Circle List Member Tags so I can pick one, or create a fresh tag with Circle Create Member Tag, then apply it to the member with Circle Update Community Member. Adding a regular to a VIP access group should let me pick the group from Circle List Access Groups and then call Circle Add Member to Access Group using the member's email. Both actions should update the row optimistically, show a short confirmation, and roll back visibly if the call fails.

Scheduling the next session belongs inside this app, because Circle has no built-in automation for recurring events. Give me a Create Event dialog that pre-fills the space and title from the most recent event in the window and suggests a start time one interval after that last session, so booking the next one takes a few clicks. Use Circle Create Event and refresh the event list afterwards so the new session appears as a column in the grid.

Exporting matters for sponsor and board reporting. An export button should call Google Sheets Create Spreadsheet to make a new spreadsheet, then Google Sheets Append Values to write a header row (member name, email, one column per event, total attended, attendance rate) followed by one row per member, plus a short summary block with total events, total unique attendees and average attendance per event. Show me the spreadsheet link when it finishes, and remember the most recently created spreadsheet per user so I can find the last export again.

Two constraints to respect. Circle exposes event attendees but has no RSVP versus attended distinction and no per-attendee join or leave timestamps, so treat the attendee list as the attendance record and never label anything as dwell time, partial attendance or no-show rate in the UI. Every Circle list endpoint is paginated with a has_next_page flag, so page through attendees per event and members properly rather than reading only the first page.

Be careful with request volume, because Circle limits API calls per month and a Business plan community only gets 5,000. Fetch attendees only for the events inside the selected window, load them in modest concurrent batches, hold the assembled grid in app state instead of refetching on every interaction, and give me an explicit refresh button. Show skeletons while the grid assembles and a clear empty state when a space has no events yet.

Remember my last selected space filter, window size and sort order between visits, per user.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seatsBuild audience segments from product usage and push to LoopsTurn the people who engage with your posts into Pipedrive leads