1
Visitor Submits Fillout Form
Public-facing registration form captures name, lot number, vehicle info, visit type, and expected dates. Partial submissions are tracked for form abandonment analysis.
Fillout fires webhook to Zapier on complete submit
Partial submits → separate form-abandonment edge function
2
Zapier Receives Webhook & Runs AI Classification
Zapier catches the form submission, extracts data, and passes it through an AI by Zapier step for classification and enrichment.
AI by Zapier classifies: visitor type, payment required?, calendar event needed?
Routes to appropriate downstream actions based on classification
3
Decision: Valid Registration?
AI classification determines if the submission is valid and what actions to trigger.
✓ Valid: Proceed
→ Create Airtable record in registrations table
→ Link to existing customer or create new
→ Trigger payment if required
→ Create Envoy pre-registration
→ Create Google Calendar event
✗ Incomplete / Flagged
→ Log to pipeline-log
→ Fire pipeline-alerts EF
→ Track in form-abandonment EF
→ No downstream record created
4
Write to Airtable: Registrations & Customers
Zapier creates a new row in the registrations table and links (or creates) a customer record in the customers base.
Base: appfansHFN8pVIEi3
Table: tblTydWUrC0E1d4bg (registrations: 874 rows)
Customers: appDtuZNXgha15uVn / tbl2JfRW5ystWBUsb (165 rows)
5
Payment Processing (If Required)
Square processes registration fees or membership dues. Synder reconciles transactions to Xero for accounting.
Square → charges card / creates invoice
Synder → reconciles & pushes to Xero
Storekit → separate online store also feeds into Xero
6
Envoy Pre-Registration Created
Zapier creates an Envoy pre-registration so gate staff can verify visitors on arrival. When they sign in, events sync back to Airtable.
Envoy sign-in → Zapier webhook → envoy_entries table
Table: tblNJDXLZyVvUdyzT (10,252 rows)
Key field: signed_in_at (datetime for grouping)
7
Google Calendar Event Created
Community calendar event for the expected visit date. Helps gate staff and community scheduling.
8
Supabase Edge Functions Serve Dashboard Data
29 edge functions proxy Airtable data to the React frontend. Each function handles a specific domain: stats, analytics, CRUD, exports, diagnostics.
dashboard-stats → aggregate counts + trends
analytics → time-series, segments, cross-tabs
registration-envoy-analytics → reg vs visit correlation
pipeline-diagnostics → data volume, freshness, errors
pipeline-heartbeat → periodic health check
9
Admin Dashboard Renders Everything
Property managers access the React admin app at the admin dashboard. Dashboard, Analytics, Directory, Properties, Customers, and Diagnostics pages: all protected by Supabase Auth RBAC.
Auth: Supabase Auth → email/password → global_admin / local_admin roles
Pattern: React fetch() → Edge Function → Airtable API → JSON
Hosting: Cloud hosting (auto-deploy on publish)