> ## Documentation Index
> Fetch the complete documentation index at: https://gtmsdk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fix: Attio company names no longer overwritten with the bare domain

> Repeat RB2B visits without a company name and every Cal.com host upsert used to PATCH the email domain over a curated Attio company name; the name is now merge-gated.

## 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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.