Skip to main content
Attribution decides where a trace appears in Atlan Trident: under which agent or person, in which workspace, and linked to which session, visitor, and skill. It comes from how the trace is sent, not from names in the payload, so getting it right is a sending decision.

Identity and workspace

Two things are fixed when a trace is ingested:
  • Identity: The trace belongs to the identity whose API key sent it. Every agent authenticates as its own client, with an API key under Settings > Identity on its profile. Runs sent with the agent’s key appear under the agent; runs sent with a personal key appear under that person, whatever the service name or agent ID in the payload.
  • Workspace: The trace lands in the workspace named by the X-Atlan-Workspace-Id header, which the SDK sets from ATLAN_WORKSPACE_ID. Without it, the trace lands in the account’s default workspace.

Sessions, visitors, and skills

The SDK adds the rest from what your code sets:
  • Session: session_id in propagate_attributes groups a conversation’s runs. Setting ATLAN_AGENT_ID (or agent_id in init) to the agent’s handle also makes the SDK write a session record for each run, which scoring needs. It does not move the trace to that agent.
  • Visitor: identify resolves the person or account your agent served, and visitor_id attaches it to the runs.
  • Skill: Atlan Trident attributes a run to a skill when the trace records the skill it used, and to a specific version when it can match the content.

Where attribution shows

  • Agent profile: Sessions and Usage show only traces sent with the agent’s identity, in workspaces you can read.
  • Skill profile: Usage shows runs attributed to the skill.
  • API: GET /agent/v1/agents/{agent_id}/traces returns the agent’s traces; GET /registry/v1/users/{user_id}/traces/{trace_id} reads a trace sent under a person.

Example

A support agent runs in production with its own API key from Settings > Identity on its profile and ATLAN_WORKSPACE_ID set to the support workspace. Each conversation sets session_id to the ticket ID and visitor_id to the customer’s visitor. Its runs appear under the agent’s Sessions and Usage, grouped by ticket. A developer runs the same code locally with a personal key, and those runs appear under the developer instead.

What attribution does not do

  • Infer from names. Atlan Trident never attributes a trace from a service name, display name, project, or matching timestamps.
  • Move traces after ingest. A trace sent with the wrong key or workspace stays where it landed; send new runs with the right identity.
  • Treat missing as known. A trace with no session or skill fields has no session or skill attribution.

See also