Skip to main content
Otto accesses Azure DevOps through a service principal (an application identity) that you add to your Azure DevOps organization.

Prerequisites

  • An Azure DevOps organization
  • Admin access to its organization settings, to add the service principal
  • Your Microsoft Entra Tenant ID (Azure Portal → Microsoft Entra ID → Overview)

Connect Azure Repos

1

Add Otto's service principal

  1. In Azure DevOps, go to Organization Settings → Users → Add users.
  2. Search for Otto’s service principal by app name or client ID.
  3. Set its access level to Basic.
  4. Add it to the projects Otto should review as a Contributor.
2

Connect in Otto

  1. In Otto, go to Settings → Integrations and click Connect on the Azure Repos card.
  2. Enter your Azure DevOps organization name (from https://dev.azure.com/<organization>).
  3. Enter your Tenant ID and click Connect.
Otto validates its access and creates the webhook subscriptions it needs for pull request events.
3

Choose repositories

Choose which repositories Otto should review. You can prune them later in Settings → Integrations.

Permissions

The service principal needs: Otto subscribes to these events automatically:

How reviews appear

Otto records its verdict as its reviewer vote (approve, or wait for author) and posts a summary thread and inline threads on every review. It also posts an otto/review status that tells you whether Otto is still reviewing. See Merge gates to require it.

Troubleshooting

The service principal isn’t in your Azure DevOps organization or lacks access. Go to Organization Settings → Users → Add users, add Otto’s service principal, and grant it Basic access.
The Tenant ID is probably wrong. Copy it again from Microsoft Entra ID → Overview in the Azure Portal.
Otto creates webhook subscriptions when you connect. If that failed, Otto still connects but receives no PR events. Disconnect and reconnect the integration, or contact support.