Entities

An entity is a curated view of one Salesforce object: which fields an agent sees, in what order, and what they mean — along with the related records, parent records, and computed values that travel with them.

What an entity holds

PartWhat it is
FieldsA curated list per level, in render order
InstructionsBusiness meaning, for the whole record or per field
Related listsChild records as rows, filtered and capped
ReferencesA parent record embedded via a lookup
Library elementsThe metrics, formulas, and enrichments it uses

An entity is configuration only — it holds no data. Agents receive data assembled from its active version, not from the draft you edit; see Versions.

Label and API name

NameWhat it is
LabelWhat people read. Change it anytime
API nameThe key tools, domains, and library elements reference. Generated from the label, editable from the builder’s title, must stay unique

Changing the API name breaks anything pinned to the old one — Agentforce actions and MCP clients stop resolving, and observability history stays filed under it. Domains and library elements reference the record, not the name, and follow automatically.

One object, several entities

Two teams can see the same object differently:

The Opportunity object with two entities: opportunity_360, the default, carrying pipeline fields, and finance_view, a named view carrying billing fields

One entity per object is the default — the one used when a caller names the object without naming an entity. The first entity created for an object becomes the default; later ones are named views, reached by name or through a domain. Make Default on the row or card menu moves the flag, and the incumbent becomes a named view. A default can’t be deleted while named views exist, and changing it is admin-only.

When an object has several entities, each one’s description is what tells them apart — on the catalog card for you, and in Get Catalog for the agent picking between them. Two entities on one object with no descriptions leave the agent guessing from names alone.

Which entity answers a call

A caller names an entity, a domain, or neither. Each case resolves one way:

The caller namesWhat answers
An entity, by API nameThat entity, whatever domain it sits in
A domain and an objectThe entity that domain carries for the object
An object onlyThat object’s default entity
An entity and a domainNothing — this is an error, not a merge

Add your own

Any queryable object can host an entity, including custom objects: Entities → +, pick the object, name it. The first entity for an object is seeded with a field list from its page layout. See Your first entity.

What an entity is not

  • Not a copy of your data. Nothing is indexed, cached, or synced — payloads are built at call time.
  • Not a security boundary. Curating a field out hides it; it doesn’t protect it. Use field-level security — see Security.
  • Not per-user. One shared definition; payloads differ only because permissions differ. A different audience means a second entity, usually through a domain.

What’s next

  • Levels — how one entity renders at three depths.