> ## Documentation Index
> Fetch the complete documentation index at: https://usepike.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure DevOps

> How to connect Azure DevOps to Pike, sync work items into Pike tasks in real time, and send Pike hours to the Completed Work field.

The Azure DevOps integration syncs work items into Pike tasks in real time through service hooks and, when you turn it on, writes hours logged in Pike to each work item's Completed Work field.

## Connect Azure DevOps

1. Go to **Workspace settings** → **Integrations** → **Azure DevOps**.
2. Click **Add integration**.
3. Sign in with Microsoft Entra ID in the popup and authorize Pike.
4. On the integration page, map each Azure DevOps project, and an optional area path, to a Pike project.

Only workspace admins can connect or disconnect Azure DevOps.

## Import data

On the integration page, click **Import data**. The stepper runs entities in dependency order. It skips entities whose **Read** toggle is off, names them, and links to sync settings.

## What syncs

Work items become Pike tasks.

| Azure DevOps | Pike | Notes |
| - | - | - |
| Title | Task title | |
| Description | Task description | |
| Assigned to | Assignee | Matched by email |
| Target date | Due date | |
| Original estimate | Hours allocated | |
| Tags | Labels | |
| Work item type | Label | |
| State | Task status | Through an editable status mapping |
| Completed Work | Hours logged on the synced task | Pike to Azure DevOps, when **Send completed work** is on |

### Source of truth

Once a record is linked, Azure DevOps owns the linked fields and Pike reads them back. Pike-only fields, such as project links, internal notes, allocations, and cost profiles, stay in Pike and are never overwritten. Azure DevOps owns work item fields.

### Schedule

Changes in Azure DevOps reach Pike in real time through Azure DevOps service hooks. **Import data** and **Refresh** always run on demand.

## Sync settings

While Azure DevOps is connected, the **What syncs with Azure DevOps** card sits under the top button row on the integration page. Each entity has a **Read** toggle (Azure DevOps to Pike) and, where supported, a **Send** toggle (Pike to Azure DevOps). Toggles save immediately.

| Entity | Read | Send |
| - | - | - |
| Work items | Yes | Not available |
| Completed work | Not available | Yes, off by default |

New connections start with **Read** on for work items and **Send completed work** off.

## Synced records

Every synced record shows the Azure DevOps marker, "Last synced {time}" or "Not synced yet", and a **Refresh** action. **Refresh** shows only while **Read** is on for that entity.

### Sync issues

Records that fail to sync appear in the **Sync issues** list on the integration page, with the record, the reason, and a **Retry** action. The integration never deletes Pike data on its own. A record removed in Azure DevOps is marked "Removed in Azure DevOps" in Pike, never deleted.

## Disconnect

Disconnecting Azure DevOps stops syncing and keeps all imported data. Linked records keep their history.

## Permissions

Synced data respects Pike roles and private projects. A private project's tasks never sync out to anyone who cannot see the project in Pike.

## Limits

* Only the Completed Work field is written back to Azure DevOps.
* Map each Azure DevOps project, or project and area path, to one Pike project.

## Related

* [Azure DevOps integration overview](https://usepike.com/integrations/azure-devops): What syncs, how agencies use it, and FAQs.
* [Jira](https://usepike.com/docs/integrations/jira.md): Sync Jira issues and send worklogs.
* [GitHub](https://usepike.com/docs/integrations/github.md): Link pull requests to Pike tasks.
* [Time overview](https://usepike.com/docs/time/overview.md): How time tracking works in Pike.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.