Skip to main content

Objects

RevyOps organizes data around six objects.

How They Relate

A few things to note about these relationships:
  • A Contact always belongs to exactly one Person. Contacts for the same human, across different sources, are shown as one person. See People for merging and splitting.
  • A Contact can belong to at most one Company, resolved from its email domain or from explicit company data in a webhook payload.
  • Emails and Activities are recorded against a Contact (and, for company-level activities, against a Company).
  • Opportunities belong to a Company and are read-only: they arrive through the Close CRM and HubSpot sync rather than being created in RevyOps.

Standard vs Custom Fields

Every object ships with a set of standard fields: the fields described on each object’s page in this section (for example, a contact’s email, name, and status). Standard fields are always present in API responses. On top of standard fields, Contacts and Companies support custom fields: fields your workspace defines to hold your own data (industry, lead score, ICP tag, and so on). Custom fields:
  • Are scoped to one workspace (or, if promoted, to the agency’s master schema shared across client workspaces)
  • Have a type: text, number, date, dropdown (single select), or dropdown (multi select)
  • Appear in API responses as a list of {field_name, field_value} pairs, separate from the object’s standard fields
See Custom Fields for how they’re managed, and GET /public/custom-fields/schema for reading their definitions through the API.