# Azure DevOps integration

> Import hours logged on your Azure DevOps work items and Boards epics read-only into Workload. PAT token, organization, setup steps, and FAQ.

- HTML: https://www.simpleworkload.com/en/integrations/azure-devops
- Markdown: https://www.simpleworkload.com/en/integrations/azure-devops.md

## How do you connect Azure DevOps to Workload?

In Workload, create an Azure DevOps integration by entering your organization name and a personal access token (PAT) with read access to work items. Workload imports the hours added in the “Completed Work” field of work items changed since the last sync (the difference between two edits, not the running total), then attaches them to your projects.

Available from the Professional plan.

## What gets synced

- Azure DevOps → Workload: hours added to the Completed Work field of changed work items (title, date of the change, assignee)
- Azure DevOps Boards → Workload: epics, read-only, through the project management integration

## Prerequisites

- A Workload account on the Professional plan or above
- Your Azure DevOps organization name (and optionally a specific project)
- A personal access token (PAT) with “Work Items: Read” scope
- Teams that fill in Completed Work on their work items

## Step-by-step setup

1. In Azure DevOps, open User Settings > Personal Access Tokens and create a token with “Work Items: Read” scope.
2. In Workload, open Settings > Timesheet integrations and choose Azure DevOps.
3. Enter the organization name, paste the token, and test the connection.
4. Run the first sync and check the imported entries.
5. Map Azure DevOps projects to your Workload projects: automatic matching is based on name similarity and can be corrected by hand.
6. To import epics, add Azure DevOps Boards under Settings > Integrations (read-only).

## Good to know

- Because Completed Work is a running total, Workload reads the work item's history and imports only the increase between two edits: an hour is never counted twice. A downward correction is absorbed without negative hours, and each sync handles up to 1,000 changed work items. If your teams do not fill in this field, nothing is imported. They are attributed to the work item's assignee, matched to a Workload member by email, then by exact name.
- Automatic sync runs every 4 hours; a manual sync is possible at any time.
- Epic import is read-only: Workload does not modify your work items.
- A project mapping confirmed by hand is not overwritten by automatic matching.

## Frequently asked questions

### What scope does the PAT need?

Read access to work items (“Work Items: Read”) is enough to import hours.

### Does Workload write to Azure DevOps?

No. Imports are read-only.

### Why don't my hours show up?

Check that Completed Work is filled in on work items, the token is valid, and the organization is correct. The connection test returns the error from Azure DevOps.

### Can you limit the import to one Azure DevOps project?

Yes, a project can be specified in addition to the organization to restrict the import.

## Sitemap

- [Markdown sitemap](https://www.simpleworkload.com/sitemap.md)
- [XML sitemap](https://www.simpleworkload.com/sitemap.xml)
- [llms.txt](https://www.simpleworkload.com/llms.txt)
- [llms-full.txt](https://www.simpleworkload.com/llms-full.txt)
