Session 22 — Airtable Historical Import

What was built

  • Connected 9 Airtable bases (Workiz Data Export, SSC Monthly Logs 2020-2022, blackhouse Job Log 2020-2023, Cert Log 2022) spanning 2019-2023
  • 11,441 total records across all bases
  • Two-layer fuzzy matching: field name matching (column aliases to canonical Supabase schema) + record matching (address normalization + permit/customer# boost)
  • Status mapping from ~40 Airtable values to 8 Mostly canonical statuses
  • Service code mapping (PP to UND, CF to FND, IB to BRC, etc.)
  • Results: 7,025 records matched, 5,971 enrichments applied, 1,529 new projects created, 56 SOW lines, 1,527 site visits
  • Supabase projects: 9,224 to 10,753
  • PGRST102 batch key mismatch fixed via key normalization + individual PATCH fallback
  • Script: /home/claude/airtable_import.py

Services touched