Azure DevOps

Connect Azure DevOps with a personal access token to create work items from feedback and support tickets, and review work item state changes on linked posts and tickets.

JM
James Morton
Written By James MortonLast updated 8 days ago

Route feedback into your Azure DevOps boards. Automatically create work items when feedback is submitted, choose the project and work item type, and link them back to the original feedback post. When a linked work item moves through your workflow, an inbound webhook brings the change into Quackback for your team to review.

Note: On Quackback Cloud, integrations start at the Business plan. Self-hosted installs include every integration.

Overview

The Azure DevOps integration enables:

  • Create work items from feedback posts: automatically create an Azure DevOps work item when new feedback is submitted
  • Link posts to work items: link feedback posts to Azure DevOps work items for traceability
  • Ticket linking: link support tickets to existing work items, or create a new work item straight from a ticket
  • Status review: when a linked work item changes state, the change appears in the integration's Sync history for a teammate to review

Prerequisites

  • The Owner or Admin role in Quackback (or a custom role that can manage integrations)
  • An Azure DevOps organization
  • A Personal Access Token (PAT) with Work Items (Read & Write) scope

Note: Azure DevOps uses Personal Access Tokens instead of OAuth. No OAuth application setup is required, on Cloud or self-hosted.

Setup

1. Create a Personal Access Token

  1. Go to your Azure DevOps organization
  2. Click your profile icon and select Personal access tokens
  3. Click New Token
  4. Configure the token:

    • Name: Quackback Integration
    • Organization: Select your organization
    • Expiration: Choose an appropriate duration
    • Scopes: Select Work Items > Read & Write
  5. Copy the generated token

Tip: Store the PAT securely: Azure DevOps only shows it once. If you lose it, you will need to create a new one.

2. Connect Azure DevOps

  1. Go to Admin > Settings > Integrations > Azure DevOps
  2. Enter your Organization URL in one of these formats:

    • https://dev.azure.com/{your-org} (modern format)
    • https://{your-org}.visualstudio.com (legacy format)
  3. Enter the Personal Access Token you created
  4. Click Connect

Quackback validates the connection by listing your projects. If the credentials are invalid, you will see an error.

3. Select a project and work item type

After connecting:

  1. Choose the Azure DevOps project where work items should be created
  2. Select the work item type (for example, User Story, Bug, Task, or Feature): the list is fetched from the selected project

4. Configure status mappings

Map Azure DevOps work item states to Quackback statuses:

  1. Go to the Azure DevOps integration settings
  2. Configure status mappings between work item states and Quackback statuses
  3. Azure DevOps states are project-specific (for example, New, Active, Resolved, Closed). Map each to the corresponding Quackback status, or set it to ignore

5. Set up the service hook

Status sync needs an Azure DevOps service hook so work item changes reach Quackback:

  1. In Quackback, enable Status sync in the Azure DevOps integration settings
  2. Copy the Webhook URL and Signing secret shown below the toggle
  3. In Azure DevOps, go to Project Settings > Service hooks and create a Web Hooks subscription for the Work item updated event
  4. Paste the webhook URL as the subscription URL and the signing secret as the Basic authentication password (leave the username empty)

Quackback verifies each delivery against the signing secret and rejects requests that don't match.

6. Configure events

Choose which events trigger Azure DevOps actions:

Event

Action

New post

Create a work item with the feedback details

Note: The Azure DevOps integration creates work items only for post.created events. Status changes and comments are handled through status sync rather than by creating new work items.

7. Test

Settings save as you change them, so there's no Save button.

  1. Submit test feedback to verify a work item is created in the selected project

Work item format

When a new feedback post triggers work item creation, the work item includes:

  • Title (System.Title): The feedback post title
  • Description (System.Description): The post content in HTML, followed by metadata including the author, board, and a link back to the post in Quackback

The description uses HTML formatting, which Azure DevOps renders natively in the work item detail view.

Ticket linking

Support tickets link to Azure DevOps work items from the ticket detail panel in the inbox:

  • Link existing work item: paste a work item URL (dev.azure.com/org/project/_workitems/edit/123 or the legacy org.visualstudio.com form). Work items from other organizations are rejected when the connected organization is known.
  • Create new work item: creates the work item in the connected project with the ticket's title and the first customer message as the description. Internal notes are never included.

Status sync

When status sync is configured, Quackback receives inbound webhooks from Azure DevOps when work items are updated. When a linked work item's state changes:

  1. Azure DevOps sends a workitem.updated webhook to Quackback
  2. Quackback verifies the request using Basic Authentication: the password must match the signing secret from your integration settings
  3. Quackback checks for a System.State field change in the payload
  4. The change appears in Sync history for review. Quackback doesn't change the linked post's status on its own: update it yourself if the change applies

Tickets have their own mapping table in the integration settings. Status changes for linked tickets also go to Sync history for review, so the ticket's status doesn't change on its own. Agents watching the ticket also get a Linked issue updates notification on every state change, whether or not a mapping applies.

On post delete

When you delete a feedback post with a linked Azure DevOps work item, the delete dialog shows a checkbox for each linked work item. A checked work item is added to the integration's Sync history for review. Quackback doesn't close it for you: open it in Azure DevOps and close it there.

To pre-check this by default, enable the On post delete toggle in the Azure DevOps integration settings. You can always override the default per delete.

Manage the integration

Pause

Temporarily stop the integration:

  1. Go to Admin > Settings > Integrations > Azure DevOps
  2. Turn off Integration enabled
  3. Work item creation and status sync pause, but the connection remains

Reconnect

If your PAT expires or is revoked:

  1. Create a new Personal Access Token in Azure DevOps
  2. Click Disconnect on the Azure DevOps integration and confirm
  3. Enter the Organization URL and the new token, click Connect, then choose the project and work item type again

Disconnect

To fully remove the integration:

  1. Go to Admin > Settings > Integrations > Azure DevOps
  2. Click Disconnect
  3. Confirm the action

Note: Disconnecting removes the connection from Quackback. The Personal Access Token is not revoked automatically: revoke it manually in Azure DevOps if no longer needed.

Who is shown as the creator?

Quackback creates work items in Azure DevOps with the personal access token you connected, so Azure DevOps shows the owner of that token as the creator. To have work items created by a different account (for example, a shared bot account), generate a token as that account and reconnect.

Troubleshooting

Work items not being created

  1. Check integration status: look for errors in settings
  2. Verify project selection: ensure a project and work item type are selected
  3. Check event mappings: confirm post.created is mapped
  4. PAT permissions: the token must have Work Items Read & Write scope
  5. PAT expiration: check that the token has not expired

Status sync not working

  1. Check status mappings: ensure Azure DevOps states are mapped to Quackback statuses
  2. Verify service hook: confirm the Azure DevOps service hook is configured and points to the webhook URL shown in Quackback
  3. Check authentication: the Basic authentication password in the service hook must match the signing secret shown in Quackback

"Unauthorized" or "Forbidden" error

The Personal Access Token may be expired or revoked:

  1. Check the token status in Azure DevOps
  2. Create a new token if needed
  3. Disconnect, then connect again with the new token

"Organization name not found" error

Verify the organization URL format:

  • Modern: https://dev.azure.com/{your-org}
  • Legacy: https://{your-org}.visualstudio.com

Ensure the PAT has access to the specified organization.

Was this helpful?

Your feedback shapes what we write next.