Skip to main content
An object type is a schema that describes a category of real-world entity — a company, a deal, a person, a product. It defines what properties each instance will have, what types those properties are, and which constraints apply.

Creating an Object Type

1

Open the editor

From the Ontology Builder, click New Object Type in the top-right corner, or double-click anywhere on the canvas.
2

Set the basics

Enter a Name for the object type (e.g., “Deal”, “Client”, “Candidate”). Optionally add a Description explaining what this type represents and an Icon URL for visual identification.
3

Add properties

Define the properties (fields) for this object type. Each property needs a name and type. You can add constraints like required, default values, and min/max limits.
4

Set the title property

Select one of the required text properties as the Title Property. This is the display name shown in search results, tabs, and mentions.
5

Save

Click Save (or Create for new types). The object type is immediately available for agents and the Ontology Builder graph.

Templates

To get started quickly, Athena provides built-in templates for common entity types. Click any template to pre-populate the property list with a sensible starting schema.

Person

Contact or individual. Properties: first name, last name, email, phone, title, company, LinkedIn URL, status.

Company

Organization or business. Properties: name, legal name, domain, industry, founded year, employee count, revenue, type.

Deal

Sales opportunity. Properties: deal name, account, contact, value, probability, close date, owner, pipeline stage.

Client

Client account. Properties: company name, primary contact, industry, website, revenue, employee count, tier.

Recruit

Hiring candidate. Properties: full name, email, position applied, years experience, expected salary, pipeline stage.

Place

Physical location. Properties: name, address, city, state, postal code, country, coordinates, location type.
Templates are a starting point — you can add, remove, or modify any property after loading a template.

Property Types

Every property has a type that determines what values it can hold and how it’s validated.
Free-form string values. Use for names, emails, URLs, descriptions, and notes.Optional constraints:
  • Min Length / Max Length — restrict the character count
  • Pattern — a regular expression the value must match (e.g., email format)
firm_name: Text (required)
email: Text
notes: Text (max length: 2000)

Title Property

Every object type must have a title property — a required text property that serves as the display name for each instance. The title property is shown:
  • In search results when querying ontology data
  • In tab headers when viewing an instance in Spaces
  • In mentions when referencing an instance in conversations
  • In relationship displays when showing linked objects
Only properties that are both required and text type are eligible to be the title property. If you don’t have one yet, create a required text property first.

Property Builder

The property builder provides a drag-and-drop interface for defining and ordering properties:
  • Reorder properties by dragging the handle on the left
  • Expand any property to configure its type, description, constraints, and required/default settings
  • Delete a property by clicking the remove icon
  • Add new properties with the “Add Property” button at the bottom
Properties are automatically synced to a JSON Schema representation, visible in the right panel of the editor. You can also edit the JSON Schema directly — changes are reflected back in the property builder.

JSON Schema

Under the hood, each object type’s properties are stored as a JSON Schema. The editor’s right panel shows a live preview of the generated schema:
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "title": "Deal",
  "properties": {
    "deal_name": {
      "type": "string",
      "description": "Deal or opportunity name"
    },
    "deal_value": {
      "type": "number",
      "description": "Total deal value in USD",
      "minimum": 0
    },
    "stage": {
      "type": "string",
      "enum": ["prospecting", "qualification", "proposal", "negotiation", "closed_won", "closed_lost"],
      "description": "Pipeline stage"
    }
  },
  "required": ["deal_name", "stage"]
}
You can switch between the visual property builder and the raw JSON editor at any time. Edits in one are reflected in the other.

Editing and Deleting

  • To edit an existing object type, click on its node in the Ontology Builder graph, or double-click it to open the editor directly.
  • To delete an object type, use the delete action from the node’s context menu. Deleting an object type also permanently deletes all its instances and any relationships that reference it.
Deleting an object type is permanent. All instances and connected relationships will be removed and cannot be recovered.