# Log every new Azure DevOps work item to Google Sheets

> Automatically add every new Azure DevOps work item to a Google Sheets tracker so your team can filter, sort, and report without opening Azure DevOps.

- Workflow type: code
- Services: Azure DevOps, Google Sheets
- Categories: Operations, Engineering
- Published: 2026-07-17

## What it does

- Watches your Azure DevOps project and captures every work item the moment it's created.
- Adds a new row to your Google Sheets tracker with the item's id, type, title, assignee, state, priority, area path, and created date.
- Fills in any missing details automatically before writing, so every row comes out complete.
- Builds a live, filterable log your whole team can use for backlog and throughput reporting.

## What you'll need

- An Azure DevOps account with a project you can add a service hook to.
- A Google account with a Sheets spreadsheet set up as your tracker.
- A header row in the sheet naming the columns you want to capture (recommended so rows line up cleanly).

## Prompt

Run this as a deterministic code workflow triggered by an Azure DevOps webhook. Subscribe to the Azure DevOps "Work item created" service hook (event type workitem.created) so the workflow fires the moment a new work item is opened in my project.

The webhook payload sometimes arrives thin, carrying little more than the work item id and revision. Before writing anything, check whether the payload already includes the fields I need. If any are missing, call Azure DevOps Get Work Item with the id from the webhook to fetch the full work item and its fields.

Then append one row to my Google Sheets tracker using Append Values, appending after the last row of the existing table so nothing is overwritten. Map the fields to fixed columns in this exact order: work item id, work item type (System.WorkItemType), title (System.Title), assignee (System.AssignedTo display name), state (System.State), priority (Microsoft.VSTS.Common.Priority), area path (System.AreaPath), and created date (System.CreatedDate).

The field-to-column mapping is fixed, so run this with no reasoning or judgement between steps. If a field is empty (for example an unassigned item or an item with no priority), write a blank cell rather than skipping the column so every row keeps the same shape. Format the created date as a readable date and keep exactly one row per work item. This adds a row only when an item is created; it does not update existing rows when items change later.

## How to customize

- Choose which columns to capture and the order they appear in.
- Point it at a different spreadsheet or tab for each team or project.
- Filter to specific work item types, like bugs or user stories, if you only want a subset.

## FAQ

### Do I need to be technical to set this up?

No. Once it's connected, new work items flow into your spreadsheet automatically. You just read and filter the sheet like any other.

### Will this slow down my team in Azure DevOps?

Not at all. Your team keeps working as usual, and the tracker updates in the background every time a new item is opened.

### What if a work item is missing some details?

The workflow looks up and fills in any missing fields before adding the row, so your tracker stays complete.

### Does it update the spreadsheet if a work item changes later?

No. It adds one row when an item is created, giving you a clean historical log. Tracking later changes would be a separate workflow.

### Can I use this across more than one project?

Yes. You can set it up per project and send each one to its own spreadsheet or tab.

Use this prompt in General Input: https://www.generalinput.com/prompts/log-every-new-azure-devops-work-item-to-google-sheets