Azure DevOps Integration

Azure DevOps roadmap and feedback board with two-way sync

Azure DevOps runs engineering. It does not ship a public roadmap or a customer feedback board. ProductLift adds both, layered directly on your work items, with two-way state sync and automatic voter notifications.

⇄ Two-way sync ★ 4.9 on Capterra ⏱ 5-minute setup
Linked lifecycle Live sync

ProductLift · Feedback

Bulk CSV export

In progress 128 votes

⇄ Work Item #4212

Two-way

Azure DevOps · Boards

#4212 · Bulk CSV export

StateActive TypeUser Story AreaPlatform / Exports
Title synced State mapped Voters notified on close

What it does

A customer-facing layer on top of Azure DevOps

Six capabilities that Azure DevOps does not ship natively, wired directly to the work items your engineers already live in.

Public roadmap on your ADO work

A hosted roadmap on your own subdomain, populated from the Azure DevOps work items you already plan and deliver against. Customers see what is coming without touching Azure.

Feedback board ADO does not ship

Azure DevOps has no native customer-facing feedback board. ProductLift adds one, with voting, comments, duplicate merging, and revenue context per request.

Two-way state sync

Change a ProductLift status, the linked Azure state moves. Change an Azure state, the linked post advances. Same webhook and mapping engine as the Jira integration.

Voter notifications on state change

When an Azure work item closes, every voter on the linked post gets an email in their preferred language. Engineers ship, requesters learn, nobody writes an announcement.

Multiple boards, one ADO project

Route requests from several feedback boards (product, mobile, API) into a single Azure DevOps project. Use Area Path to send each board to the right team automatically.

Prioritize before pushing work

Score requests with RICE, ICE, or MoSCoW inside ProductLift, then push only the ones worth building. Azure Boards stays a delivery tool, not a wishlist.

How the sync works

One request. One shared state. Both sides updated.

A status change on either side flows to the other through webhooks and your status map. Voters are notified automatically when the work item closes.

1. PL post

A voter files a request on your feedback board, or you push a prioritized post to Azure with one click.

2. Status map

Your per-portal status_map decides which ProductLift status equals which Azure state.

3. ADO work item

ProductLift creates a work item (default Task, configurable) via the Azure REST API and stores the numeric ID on the post.

4. State flows back

When an engineer moves the work item, Azure fires a webhook. ProductLift advances the linked post to the mapped status.

5. Voters emailed

If auto_notify_voters is on, every voter receives a state-change email in their language.

Example status map
Under review
New
Planned
Approved
In progress
Active
Shipped
Closed

Works for Agile, Scrum, CMMI, and custom process templates. Set once per portal, applies to every synced post.

Integration config fields
organization Your Azure DevOps org name, from the URL
project Project name (case-sensitive)
default_work_item_type Task (default), User Story, Feature, Bug
area_path Optional. Route to a specific team
status_map PL status → Azure state name
auto_notify_voters Email voters on state change

Field mapping

Every ProductLift field lands somewhere useful in Azure

Work items are created via JSON Patch on POST /_apis/wit/workitems/${type}. Here is what goes where.

Post title
System.Title
Verbatim, editable on either side after sync
Post description
System.Description
Rich text. Voter count appended so engineers see customer demand
Vote count
Appended to description
Refreshed on each push. Not a custom field, no schema changes required
Status
System.State
Mapped through status_map per portal. Bidirectional via webhooks
Portal + post URL
Comment on work item
Back-link so engineers can jump to the feedback thread
(Config) area_path
System.AreaPath
Optional. Routes to a specific team inside the project
(Config) default type
Work Item Type
Default Task. Any type your process template exposes

Before & after

The parts of the workflow that quietly disappear

BeforeNo customer-facing view of the roadmap
AfterPublic roadmap on your domain, sourced from your ADO work items
BeforePMs copy-paste feedback into work items by hand
AfterOne click from a feedback post to an Azure Boards work item
BeforeTwo systems to check whether a request shipped
AfterAzure state changes push to ProductLift over webhooks
BeforeVoters never learn their request was picked up
AfterAutomatic email in the voter's language on state change
BeforeEngineers open the feedback board to find context
AfterEvery Azure work item has a back-link comment to the source post
BeforePrioritization lives in a spreadsheet outside Azure
AfterScore with RICE inside ProductLift, push only what deserves work

Setup

Three steps, roughly five minutes

No app to install in your Azure organization. Just a PAT and a status map.

1

Create a PAT

In Azure DevOps, create a Personal Access Token scoped to the specific organization and project. Grant Work Items (Read & Write). Skip the deprecated all-organizations scope.

Scope: vso.work_write
2

Add the integration

In ProductLift, open the portal, go to Integrations, pick Azure DevOps, and paste your organization name, project name, and PAT. The token is stored encrypted.

org · project · PAT
3

Map statuses

Map each ProductLift status to the Azure state name it should equal. Turn on auto_notify_voters, save, and start pushing posts.

In progress → Active

Why layer customer feedback on top of Azure DevOps

Azure DevOps is world-class for engineering. It is silent about customers.

Azure DevOps has spent two decades becoming one of the best places on the planet to plan and deliver software. Boards, backlogs, sprints, queries, dashboards, pipelines, test plans, and repos, all under one roof, all deeply integrated. If your engineers live in ADO, that is a strength you should not fight. The gap is not on the delivery side. It is that Azure DevOps ships nothing customer-facing. There is no public roadmap. There is no feedback board. There is no voter database. There is no state-change email to the person who first asked for the feature. That part of product management is not what ADO was built for, and Microsoft is unlikely to bolt it on.

The workarounds most teams end up with make the problem worse. A spreadsheet of feedback lives in someone's OneDrive and slowly rots. Sales calls generate feature requests that never make it into a ticket, because there is no home for them that is not an engineering work item. A separate feedback tool gets bought, but with no link to Azure, so someone has to keep two backlogs in step by hand. Then a heavier tool like Aha is evaluated, and the price and complexity push it out of reach for teams that were just trying to give customers a place to vote. The result: engineering has a perfect view of what they are building. Product and customers have a fog.

A lightweight customer-facing layer on top of Azure DevOps solves this without changing where engineering lives. ProductLift adds the public roadmap, the feedback board, and the voter database, and connects each item back to a real Azure DevOps work item through a two-way sync. When a customer files a request, product can prioritize it, decide it is worth building, and push it into Azure Boards with one click. Engineers see the full description, the vote count, and a back-link to the customer thread, all inside the work item they were already going to open. Nothing is duplicated, nothing has to be re-typed, and nothing has to be maintained twice.

The two-way state sync is what turns this from a forwarding pipe into a real workflow. When an engineer moves a work item from Active to Resolved in Azure Boards, ProductLift moves the linked post to whichever status you mapped Resolved to, and every voter on that post gets an email in their preferred language telling them the request is now being tested or has shipped. Nobody writes a release announcement. Customer success is not chasing engineering for status. The public roadmap updates itself. The product loop closes on its own, at the exact moment the engineer moves the work item, because the work item is the source of truth.

Cost of ownership matters too. The integration is a Personal Access Token and a status map. There is no marketplace app to install in your Azure organization, no separate Azure AD app registration, no infrastructure to run. The integration uses the same generic sync framework as the Jira integration, so the push, link, sync, notify, and back-link lifecycle behaves identically across trackers. Azure DevOps Services (cloud) is supported today. Azure DevOps Server (on-prem) is not. If your team is on cloud ADO and you have been missing a real customer-feedback layer, this is that layer.

By far the most customizable of all the feedback tools and much better than Feedbear. Developer is super responsive and support has been great. Highly recommend.
Chris R. Chris R. Switched from Feedbear ★ 4.9 · Capterra

FAQ

Common Azure DevOps integration questions

Does this work with Azure DevOps Server (on-prem)?
Currently the integration supports Azure DevOps Services (cloud) only. Azure DevOps Server (on-prem) is not supported. If on-prem matters for your team, add it to the public roadmap so we can gauge demand.
What Personal Access Token scope do I need?
A PAT scoped to Work Items (Read and Write) on the specific organization and project you want to sync. Do not use the deprecated all-accessible-organizations scope, Microsoft has been phasing it out and it grants far more than the integration needs.
Can I sync one ProductLift portal to multiple Azure DevOps projects?
The integration is configured per portal and points at one organization plus one project. If you need to route to different projects, run multiple portals (one per product area) and connect each to its own project. Inside a single project, Area Path handles team-level routing.
Can I link work items that already exist in Azure DevOps?
Yes. On any feedback post, paste the numeric work item ID. ProductLift attaches to the existing work item and adds a comment on it linking back to the post, so engineers can jump to the customer thread from inside Azure.
Does this support custom process templates?
Yes. Agile, Scrum, CMMI, and custom process templates all work. State names vary across templates, so the integration lets you map any Azure state to any ProductLift status per portal. Custom workflows fit as long as the states exist in your project.
Does the integration sync sprints and iterations?
The integration syncs title, description, state, and back-references. Sprint and iteration assignment stay inside Azure DevOps, where they belong to engineering planning. ProductLift stays a customer-facing surface and does not try to be a delivery tool.
What happens if a work item is deleted in Azure DevOps?
The linked ProductLift post is not deleted. The link is broken on the next sync attempt and the post reverts to being ProductLift-only. Customer votes and comments are never lost, so you can safely delete work items in Azure without worrying about the feedback side.
Can voters be notified automatically when a work item closes?
Yes. Turn on auto_notify_voters in the integration config, and map Azure Closed (or Done, Resolved) to a ProductLift status that triggers notifications. Every voter on the linked post will receive an email in their preferred language when the work item closes.

Give your Azure DevOps work a customer-facing side.

Public roadmap, feedback board, voter notifications, all synced to the work items your engineers already ship. Set up in about five minutes.

Free trial · No credit card PAT auth, revoke any time Cloud ADO Services
We use cookies for analytics on productlift.dev. See our cookie policy.