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

# Client companies

> The companies you already sell to, and how Clustr uses the list

A client company is a company you already work with. Clustr keeps one list of
them per workspace, and uses it to tell prospects apart from customers: turn on
**exclude client companies** and people who work at your clients are left out of
your results.

## Three sources

A company gets on the list in one of three ways. Each is shown as a badge next to
the company.

| Source     | How it gets there                          | Changed through                                                            |
| ---------- | ------------------------------------------ | -------------------------------------------------------------------------- |
| **Manual** | Added one at a time                        | The app, [Add a client company](/api-reference/add-client-company)         |
| **CSV**    | Imported in bulk                           | The app, [Import client companies](/api-reference/import-client-companies) |
| **CRM**    | Pulled from a company property in your CRM | Your CRM, and the rule in the app                                          |

Manual and CSV rows need a name and a **LinkedIn company URL**: a
`linkedin.com/company/` page, by numeric id or slug. Person profiles, school
pages and showcase pages are rejected, and so is a slug on its own. A domain is
optional.

Removing a manual or CSV row deletes only that row. A CRM row cannot be removed
from Clustr, because the next sync would bring it back; change the property in
your CRM, or mark the company not a client.

## CRM rule

For each connected CRM (HubSpot, Salesforce or Attio), you choose which company
property marks a client, in the app on **Targeting > Clients**:

* a checkbox property counts a company when it is ticked
* a dropdown or multiple choice property counts it when it has one of the values you pick
* a text property counts it when it equals one of the values you type

The editor shows how many CRM companies the rule selects, with a few names,
before you save. Saving starts a sync. Removing the rule clears that CRM's
companies from your list.

After that the list **updates nightly, or when you press Sync now**. There are no
live updates: a change in your CRM shows up on the next sync. Two safeguards keep
a bad sync from emptying your list:

* a sync that stops before the end removes nothing
* a sync that would remove more than half of that CRM's clients, while the rule has
  not changed, is held and removes nothing

The rule is set up in the app only; it is not on the API. The API can read CRM
rows and their sync state through
[List client companies](/api-reference/list-client-companies) and the
[summary](/api-reference/get-client-companies-summary), and can
[mark them not a client](/api-reference/mark-not-a-client), but cannot add, edit
or remove them.

## One entry per company

The same company can come from several sources, say added by hand and also marked
in HubSpot. It still appears **once**, with a badge for each source. Rows are
grouped by the Clustr company they match, else by LinkedIn numeric id, else by
LinkedIn slug. A company that nobody in your network works at is flagged as not
in your network.

## Not a client

**Not a client** takes a company off your client list whatever its sources, and
overrides all of them. It is the fix when your CRM property marks a company as a
client by mistake.

Clustr remembers the company's LinkedIn id, LinkedIn slug, domain and matched
company. Any row sharing one of them no longer counts, including rows your CRM
brings back on later syncs. The company stays visible on the list, marked as
excluded, so you can undo it.

## Matching

A client row matches people on the company's LinkedIn numeric id and LinkedIn
slug, taken from the row or from the Clustr company it matched. Slugs compare
without regard to case or trailing dashes. A row's domain is used only when the
row has no LinkedIn id or slug at all.

## Exclude client companies

`exclude_client_companies` on [Search opportunities](/api-reference/search-opportunities),
and the matching toggle in the app, hide people whose current company is one of
your client companies.

**Your client list is the only thing this hides.** Until you add a client
company, from any source, nothing is hidden: the toggle is on and it excludes
nobody. Marking every company not a client leaves the same empty list, and so
hides nothing either. Clustr never infers a client from anywhere else.

Only the company a person's opportunity is filed under is checked. Someone who
also holds a side role at a client, such as a board seat, is not hidden.
