Identity Graph
The identity graph is the set of identities that Antenna builds for your enterprise, one per person, with the accounts and details attached to each. Groups, filters, comparisons, and capacity planning all read from these details, so the more complete they are, the more you can do with your reporting.
Managing the Identity Graph
You can keep the identity graph up to date in any of these ways:
| Method | What you can do |
|---|---|
| Antenna UI | In Settings > Identities, edit identities one at a time or in bulk, merge duplicates, map role categories, and upload a CSV. |
| API | List, create, and update identities with the Antenna Enterprise API (/api/v1/enterprise/identities), authenticated with an enterprise API key from Settings > API Keys. |
| MCP | Search identities from an AI assistant or agent with the Antenna MCP. |
| Okta Directory | Sync people, their details, and groups from your directory automatically with Okta Directory. |
Enriching Identities
In Settings > Identities, choose Enrich and upload a CSV. Rows are matched to existing identities by name, and a new identity is created when no match is found. Most enterprises export this data from their identity provider, such as Okta or Microsoft Entra, and adjust the column headers to match the supported fields. Column headers are matched case-insensitively.
| Field | Required | Notes |
|---|---|---|
| Name | Yes | Full name of the person. Used to match existing identities. |
| No | Work email address. | |
| Role | No | Job title, such as “Senior Software Engineer”. Used to detect the role category. |
| Role Category | No | Overrides the detected role category, such as “Development” or “QA / Test”. Leave blank to keep detecting it. |
| Manager | No | Manager’s name. Links to a matching identity, or creates one if none exists. |
| Teams | No | One or more teams, separated by semicolons. |
| Department | No | A single department, such as “Engineering”. |
| Employment Type | No | How the person is engaged, such as “Employee” or “Contractor”. |
| Company | No | A single company name. |
| Location | No | Office or city, such as “San Francisco, CA”. |
| Product Lines | No | One or more product lines, separated by semicolons. |
| Seniority | No | Seniority level, such as “Senior” or “Mid”. |
| Monthly Available Hours | No | Hours available per month, used for R&D capitalization. |
You can also edit attributes for an individual identity by selecting the identity in the Identities tab and updating the information in the Details section.
Enriching identities is optional, and you can include only the fields you need. To keep these details in sync automatically, connect Okta Directory.
Role Categories
A role category describes the kind of work a person does, such as Development, Product, or Design. Antenna detects it from each identity’s Role (job title), and you can correct it for a whole title or for one person.
Role categories appear in the Role Category column and filter on the Identities tab, in peer comparisons on the Home page, and in the Role Mix on Capacity Planning.
Categories
| Category | Example titles |
|---|---|
| Development | Software Engineer, Backend Developer, Tech Lead, Architect |
| Data & ML | Data Engineer, Data Scientist, Analytics Engineer, ML Engineer |
| QA / Test | QA Engineer, SDET, Test Automation Engineer |
| DevOps / Platform | DevOps Engineer, Site Reliability Engineer, Platform Engineer |
| Security | Security Engineer, AppSec Engineer, Penetration Tester |
| Product | Product Manager, Product Owner, Director of Product |
| Design | Product Designer, UX Designer, User Researcher |
| Program / Delivery | Technical Program Manager, Project Manager, Scrum Master |
| Management | Engineering Manager, Director of Engineering, CTO |
| Other | Technical Writer, Support Engineer, Solutions Architect, Sales Director |
| Unclassified | No job title, or a title that doesn’t match any category |
How Detection Works
Antenna reads the Role on each identity, ignoring case and punctuation, and matches it against known job title phrases:
- Specific phrases win over general ones. “QA Engineer” is QA / Test, and “Data Engineer” is Data & ML, even though both contain “engineer”.
- Leadership words point to Management unless the title names another function. “Director of Engineering” is Management, while “Director of Product” is Product and “Sales Director” is Other.
- Unmatched titles are Unclassified. So are people with no job title.
The category updates automatically whenever an identity’s role changes, including through a CSV upload or Okta Directory.
Enterprise Mappings
When detection doesn’t fit how your company uses a title, map that title to a category for your whole enterprise. In Settings > Identities, open the actions menu and choose Role categories.
- Unclassified Titles lists the titles that no category was detected for, most common first. Pick a category next to a title to map it.
- Title Mappings lists your mappings. Add a mapping for any job title, change its category, or remove it to go back to detection.
A mapping applies to everyone who holds that title and takes precedence over detection. Titles match ignoring case and punctuation, so “Sr. Analyst” and “sr analyst” are the same mapping. Identities update within a moment of saving.
Overrides
To set the category for one person, use any of the following:
- Select the identity on the Identities tab and choose a Role Category in the Details section.
- Edit the Role Category cell on the Identities tab.
- Include a Role Category column when you enrich identities with a CSV. Use the category name, such as “QA / Test”, or “Auto-detect” to clear an override.
Choose Auto-detect to remove an override.
Antenna uses the first of these that applies:
- The person’s override
- An enterprise mapping for their title
- The category detected from their title
Managing role categories, mappings, and overrides requires the Director or Admin role. See Roles and Permissions.