What it is
The Companies dataset is one row per company created in your space within the window. It’s the simplest dataset — one table, no joins.- Grain: one row per company (
id). - Windowed on:
created_at(UTC timestamp) — the company’s creation time. - Path segment:
companies.
id. A company may carry a domain, an external_id (your own company identifier), or both — whichever identifiers were used to match events to it. domain is null for a company created from an external ID alone, with no associated email domain. The id is also locked because it’s what the Contacts dataset’s primary_company_id references — it’s the key for joining the two exports in your warehouse.
Which identifier a company carries depends on your Space’s company identity mode (Space Settings → Additional Setup → Company Tracking): in the default Auto mode, companies are grouped by email domain, so rows carry domain; in External ID mode, companies are grouped by your own company_external_id alone, so rows carry external_id. A company carries both only if you explicitly set both — for example via Update Company, or by switching identity modes over the company’s lifetime.
Like Contacts, companies are mutable. Each run carries a
company’s state as of run time, but a company created before the window is not re-exported
when it later changes. For a full refresh, run a one-time export over all history.
A company that later gains an
external_id (or a domain) is not re-exported by an incremental run —
incremental runs are windowed on created_at, not on when the company last changed. Run a one-time
export over all history to pick up identifiers assigned after a company’s creation window. In
particular, if you enable External ID mode on an existing Space, run a one-time export over all
history so that companies which gain an external_id after their original creation window are
picked up.