Skip to content

Import: patch known contacts with the file's newer data (newest wins) - #123

Merged
ralyodio merged 1 commit into
mainfrom
feat/import-patch-existing
Oct 6, 2026
Merged

ralyodio merged 1 commit into
mainfrom
feat/import-patch-existing

Conversation

@ralyodio

@ralyodio ralyodio commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Re-importing an enriched export now patches the people we already have, newest data winning, instead of skipping them (only 50 a chunk were touched before, and only blanks filled). Adds company_domain / linkedin_url / updated_at columns, and an updated count shown on /import. Details in the commit message.

🤖 Generated with Claude Code

Re-importing an enriched export dropped the enrichment: only 50 known rows a
chunk were touched, and those only had blanks filled, so "6,204 already known"
meant 6,204 rows of newer titles, companies and profiles thrown away.

- Every known row now patches its person, batched (a few reads and one batch
  per chunk). planPatch: a value in the import replaces a different stored
  one; empty cells never erase; a name derived from the address never
  replaces a real one; a row dated older (updated_at / enriched_at column)
  than the stored person only fills blanks.
- New columns understood: company_domain/website (sets the company),
  linkedin_url (adds the LinkedIn identity), updated_at/enriched_at.
  New contacts get company and LinkedIn too.
- `updated` count per import (migration 0050), in the chunk response, the
  import read API, AutoGTM import + docs, and on /import:
  "N already known (M updated with newer data)".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ralyodio
ralyodio merged commit a9d2a73 into main Oct 6, 2026
4 checks passed
@ralyodio
ralyodio deleted the feat/import-patch-existing branch October 6, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant