✨ Software.com is now Antenna. Read more →
Skip to Content
ConfigurationsIdentity Graph

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:

MethodWhat you can do
Antenna UIIn Settings > Identities, edit identities one at a time or in bulk, merge duplicates, map job titles to a role category and seniority, and upload a CSV.
APIList, create, and update identities with the Antenna Enterprise API (/api/v1/enterprise/identities), authenticated with an enterprise API key from Settings > API Keys.
MCPSearch identities from an AI assistant or agent with the Antenna MCP.
Okta DirectorySync 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.

FieldRequiredNotes
NameYesFull name of the person. Used to match existing identities.
EmailNoWork email address.
RoleNoJob title, such as “Senior Software Engineer”. Used to detect the role category and seniority.
Role CategoryNoOverrides the detected role category, such as “Development” or “QA / Test”. Leave blank to keep detecting it.
ManagerNoManager’s name. Links to a matching identity, or creates one if none exists.
TeamsNoOne or more teams, separated by semicolons.
DepartmentNoA single department, such as “Engineering”.
Employment TypeNoHow the person is engaged, such as “Employee” or “Contractor”.
CompanyNoA single company name.
LocationNoOffice or city, such as “San Francisco, CA”.
Product LinesNoOne or more product lines, separated by semicolons.
SeniorityNoOverrides the detected seniority, such as “Senior” or “Mid”.
Monthly Available HoursNoHours 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

CategoryExample titles
DevelopmentSoftware Engineer, Backend Developer, Tech Lead, Architect
Data & MLData Engineer, Data Scientist, Analytics Engineer, ML Engineer
QA / TestQA Engineer, SDET, Test Automation Engineer
DevOps / PlatformDevOps Engineer, Site Reliability Engineer, Platform Engineer
SecuritySecurity Engineer, AppSec Engineer, Penetration Tester
ProductProduct Manager, Product Owner, Director of Product
DesignProduct Designer, UX Designer, User Researcher
Program / DeliveryTechnical Program Manager, Project Manager, Scrum Master
ManagementEngineering Manager, Director of Engineering, CTO
OtherTechnical Writer, Support Engineer, Solutions Architect, Sales Director
UnclassifiedNo 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 Map roles. The same mapping can also set a seniority for the title.

  • 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:

  1. The person’s override
  2. An enterprise mapping for their title
  3. The category detected from their title

Managing role categories, mappings, and overrides requires the Director or Admin role. See Roles and Permissions.

Seniority

Seniority is how senior a person is, on one fixed ladder: Intern, Junior, Mid, Senior, Staff, or Principal. Antenna detects it from each identity’s Role (job title), and you can set it for a whole title or for one person. Use the Seniority filter on Contributors to compare people at the same level.

How Detection Works

Antenna reads the Role on each identity, ignoring case and punctuation, and looks for level words:

LevelExample titles
InternSoftware Engineering Intern, Co-op
JuniorJunior Developer, Associate Engineer, Engineer I
MidMid-Level Engineer, Software Engineer II
SeniorSenior Software Engineer, Sr. Analyst, Engineer III
StaffStaff Engineer, Lead Developer
PrincipalPrincipal Engineer
  • The highest level named wins. “Senior Staff Engineer” is Staff.
  • Titles without a level word get no seniority. “Software Engineer” isn’t assumed to be Mid, and “Member of Technical Staff” and “Chief of Staff” aren’t Staff.
  • Company codes aren’t guessed. Codes like “L5” or “IC4” mean different things at different companies, so map them yourself.

Enterprise Mappings

In Settings > Identities, open the actions menu and choose Map roles. Pick a Seniority for any title under Title Mappings, for example “L5” to Senior. A mapping can set a role category, a seniority, or both. Identities update within a moment of saving.

Overrides

To set the seniority for one person, enter a Seniority in the Details section of the identity, or include a Seniority column when you enrich identities with a CSV. A seniority synced from Okta Directory is also an override.

Antenna uses the first of these that applies:

  1. The person’s override
  2. An enterprise mapping for their title
  3. The seniority detected from their title
Last updated on