Bug fixes
Company name clobber on nameless upserts (issue #853)
UpsertCompany operations that arrive without a company name fell back to
using the domain as the name. That fallback exists for record creation —
Attio requires a name — but the same value also shipped on the update path,
where Attio’s PATCH replaces the attribute outright. A repeat RB2B visit
whose payload lacked company_name, or any Cal.com booking whose host’s
company already existed, silently rewrote a curated name like
“Acme Corporation” to the bare domain (“acme.com”, or “gmail.com” for
personal Cal.com hosts).
The dispatcher now gates name behind merge_only_if_empty exactly like
industry, employee_count, estimate_revenue, and linkedin_url:
- RB2B visit upserts declare
name in their merge list, so a populated
Attio name survives repeat visits. An empty name still fills with the
domain.
- Cal.com host upserts pass
merge_only_if_empty=["name"], making them
true ensure-exists writes: the domain is attached, the name is never
touched.
- The domain-as-name fallback still applies when a nameless upsert
creates a record, since Attio requires a name on create.
Last modified on October 1, 2026