History backfill
Phase 2 — pull full history, ignoring the incremental high-water mark. Idempotent: every write is an upsert on the CRM id.
Scope
Pick workspaces and a date range.
No workspaces yet — run the workspace sync from the sync monitor first.
Verify against the API
Compares stored rows with
data.total from a limit: 1 API call over the last 30 days. Never trust charts before these agree.