Objects
RevyOps organizes data around six objects.How They Relate
- 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
GET /public/custom-fields/schema for reading their definitions through the API.
