Event day check-in desk for Gravity Forms registrations

By General Input

A phone-friendly roster your front desk works out of: search attendees, tap to check them in, run the waitlist, and export the final list.

Integrations

  • Gravity Forms
  • Gmail
  • Google Sheets

Type

App

Categories

  • Operations
  • Marketing

Build me a registration desk app that my events team works out of on the day of an event, on a phone, instead of scrolling the Gravity Forms entries screen in wp-admin. The main screen is the attendee roster for one event form, and it has to be usable one-handed at a busy door.

Setup. In app settings, load my forms with the Gravity Forms List Forms operation and let me pick the registration form for this event. Then fetch the full form object for that form (List Forms returns complete form objects when you request specific form IDs) and use its field list to build a field mapping screen where I choose which field holds the attendee name, which holds the email, which holds the check-in status, and which holds the confirmed versus waitlist status. Do not hardcode field IDs: entry values are keyed by field ID and every form is different, so always read the mapping from the form object and let me pick. Store the selected form ID, the field mapping, the capacity number, and the export spreadsheet and tab in the app's own storage so the team does not re-pick them every time the app opens.

Roster view. Load every entry for the selected form with List Entries by Form, paging through until the whole list is in hand, and sort by entry date ascending so the roster order is the order people actually registered. Render each attendee as a large tappable row showing name, email, check-in state, and a confirmed or waitlist badge. A search box pinned at the top filters the roster by name and email as I type. Sticky counters across the top show checked in, expected, and waitlisted.

Capacity and waitlist. Capacity is not a Gravity Forms concept, so it is an app-level setting I type in. The first N registrations in registration order count against capacity and everyone past that number is displayed in a separate waitlist section, still in registration order. Show capacity used clearly, for example 84 of 120 checked in, 120 of 120 spots taken, 14 waitlisted.

Check-in. Tapping an attendee row marks them checked in. This is the critical technical detail: Gravity Forms Update Entry is a full replacement and any value not sent WILL BE BLANKED OUT, so the check-in handler must call Get Entry for that entry first, set the check-in field and a check-in timestamp on the object it got back, then send the complete entry object to Update Entry. Never build a partial entry payload. Tapping a checked-in person again un-checks them through the same read, merge, write path so a mis-tap is recoverable. Update the row optimistically and roll back with a visible error if the write fails.

Chase no-shows. A 'Chase no-shows' button in the toolbar emails every confirmed attendee who is not yet checked in, using the Gmail Send a Message operation, one personalised message per person addressed to them by name and naming the event. Show a confirmation with the recipient count before it sends, and a result summary afterwards listing who was emailed and any failures.

Promote from waitlist. A 'Promote from waitlist' action takes the next person up, meaning the earliest registration among the waitlisted, and does two things: emails them with Gmail Send a Message to tell them a spot has opened and how to claim it, and flips their entry to confirmed by calling Get Entry, changing only the confirmation status field on that object, and sending the full entry back with Update Entry. Refresh the roster afterwards so they move into the attendee section and the waitlist re-ranks.

Export roster. An 'Export roster' button appends the final attendee list to my spreadsheet with the Google Sheets Append Values operation: one row per person with name, email, confirmed or waitlist status, checked in yes or no, check-in time, plus the event or form name and the export timestamp. Let me set the spreadsheet and tab in settings and confirm the row count before it writes.

Design and behaviour. Build for a phone held at a door: single column, big touch targets, high contrast, search always reachable, and a confirm step before anything that emails people. Several staff may work the desk at once, so keep a manual refresh, re-read the roster after every write, and treat what is stored on the entries as the source of truth rather than local state.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageWin back LiveChat visitors whose chats went unansweredLet 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 Loops