View all articles

How does DX link user identities across systems?

By default, DX links user identities in third-party tools based on email addresses. For example, a user in PagerDuty with the email johndoe@getdx.com would be matched to the corresponding DX user with the same email.

However, some third-party tools—either consistently or in specific scenarios—do not store or expose work email addresses through their APIs. In these cases, alternative user linking methods are required, as detailed in the table below:

Tool User linking method
GitHub For organizations using GitHub Enterprise Cloud with a verified domain, the GitHub API provides users’ verified work email addresses through the organizationVerifiedDomainEmails field in the GraphQL User object. However, in some cases, certain email addresses may not be returned, requiring manual user linking within the DX UI.

In all other scenarios, the GitHub API does not expose users’ work emails. To link identities in these cases, customers should associate GitHub usernames with DX users—either via CSV upload, API, SCIM integration, or manually through the DX UI. You can also select multiple GitHub accounts for the same DX user in the UI.
GitLab The GitLab API does not provide users’ work email addresses. To link user identities, customers should associate GitLab usernames with DX users—either through CSV upload, API requests, SCIM, or manually via the DX UI. You can also select multiple GitLab accounts for the same DX user in the UI.
Jira Cloud Jira’s API only returns user email addresses for Managed accounts. As a result, a Managed account is required to integrate Jira with DX. In some cases, certain email addresses may still be unavailable via the API, requiring manual user linking within the DX UI.
Bitbucket Cloud The Bitbucket API does not provide user email addresses. To enable user identification, a Jira Cloud connection is required so that DX can link Bitbucket users based on their associated Jira IDs.
Claude Code Claude Code user identities are linked automatically by email when an email is available. You can also link them manually in the DX UI, including selecting more than one Claude Code account for the same DX user. See How does DX link Claude Code users?.

Linking accounts in the DX UI

You can review and edit linked accounts from two places:

  • User linking — Open Reports → User linking. This table lists DX users next to their identities in each connected tool. Filter to unlinked users, search, and update links in place.
  • Linked accounts — Open Organization → Users, select a person, and go to the Linked accounts tab. This shows the same connections for that person. Save changes with the rest of the user profile.

Columns and fields appear only for tools you have connected. That includes source control (GitHub, GitLab, Bitbucket, Bitbucket Data Center, Azure DevOps), issue trackers (Jira, Linear), and AI tools (Claude Code, Codex, Cursor, Devin Desktop, Amazon Kiro, and AI Code Insights).

You can also open the same linking table from Organization → Users when unlinked accounts are present.

Linking multiple accounts

For each connected tool, you can link more than one account to the same DX user:

  1. Open the dropdown for that source on the User linking page or the Linked accounts tab.
  2. Select every account that belongs to the person.
  3. Close the dropdown on the User linking page, or click Save on the Linked accounts tab.

Use this when one person has more than one identity in the same system—for example, multiple GitHub accounts, or Claude Code records from different Anthropic accounts.

When two accounts share a name, DX shows an ID in parentheses so you can tell them apart.

To unlink accounts, clear the selections in the same dropdown. On the User linking page, you can also mark a source as not applicable for a user who does not use that tool.

GitHub and GitLab usernames

GitHub and GitLab usernames on a user’s Profile are matching inputs. DX uses them to automatically link accounts with the same username. To choose specific accounts, use Linked accounts or the User linking page.

Clearing a username does not unlink accounts that are already linked.

You can also set GitHub and GitLab usernames via CSV upload, API, directory sync, or SCIM. Those methods set usernames used for automatic matching—they do not replace selecting multiple accounts in the UI. A GitHub or GitLab username can belong to only one DX user in an account.