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.
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
- Go to your Azure DevOps organization
- Click your profile icon and select Personal access tokens
- Click New Token
Configure the token:
- Name: Quackback Integration
- Organization: Select your organization
- Expiration: Choose an appropriate duration
- Scopes: Select Work Items > Read & Write
- 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
- Go to Admin > Settings > Integrations > Azure DevOps
Enter your Organization URL in one of these formats:
https://dev.azure.com/{your-org}(modern format)https://{your-org}.visualstudio.com(legacy format)
- Enter the Personal Access Token you created
- 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:
- Choose the Azure DevOps project where work items should be created
- 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:
- Go to the Azure DevOps integration settings
- Configure status mappings between work item states and Quackback statuses
- 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:
- In Quackback, enable Status sync in the Azure DevOps integration settings
- Copy the Webhook URL and Signing secret shown below the toggle
- In Azure DevOps, go to Project Settings > Service hooks and create a Web Hooks subscription for the Work item updated event
- 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.createdevents. 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.
- 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/123or the legacyorg.visualstudio.comform). 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:
- Azure DevOps sends a
workitem.updatedwebhook to Quackback - Quackback verifies the request using Basic Authentication: the password must match the signing secret from your integration settings
- Quackback checks for a
System.Statefield change in the payload - 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:
- Go to Admin > Settings > Integrations > Azure DevOps
- Turn off Integration enabled
- Work item creation and status sync pause, but the connection remains
Reconnect
If your PAT expires or is revoked:
- Create a new Personal Access Token in Azure DevOps
- Click Disconnect on the Azure DevOps integration and confirm
- 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:
- Go to Admin > Settings > Integrations > Azure DevOps
- Click Disconnect
- 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
- Check integration status: look for errors in settings
- Verify project selection: ensure a project and work item type are selected
- Check event mappings: confirm
post.createdis mapped - PAT permissions: the token must have Work Items Read & Write scope
- PAT expiration: check that the token has not expired
Status sync not working
- Check status mappings: ensure Azure DevOps states are mapped to Quackback statuses
- Verify service hook: confirm the Azure DevOps service hook is configured and points to the webhook URL shown in Quackback
- 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:
- Check the token status in Azure DevOps
- Create a new token if needed
- 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.
Related articles
- GitHub: GitHub issue integration
- Jira: Jira issue integration
- Manage support tickets: Work tickets in the inbox
- Integrations overview: All integrations
Was this helpful?
Your feedback shapes what we write next.
