.Create a User Story (or Product Backlog Item) in Azure DevOps

Create a set of Tasks under that parent item

Link each Task to the parent using Hierarchy-Reverse

Update the SharePoint list item with the created Azure DevOps ID/URL (optional but recommended)


Build a Flow: SharePoint List Item → Azure DevOps User Story + Child Tasks (Power Automate)

Goal

When a new item is created in a SharePoint list (your “intake” system), Power Automate will:

  1. Create a User Story (or Product Backlog Item) in Azure DevOps
  2. Create a set of Tasks under that parent item
  3. Link each Task to the parent using Hierarchy-Reverse
  4. Update the SharePoint list item with the created Azure DevOps ID/URL (optional but recommended)

Step 0 — Define your placeholders (use these names in your blog/code)

  • SharePoint Site: https://contoso.sharepoint.com/sites/ExampleSite
  • SharePoint List: Requests
  • Azure DevOps Organization: https://dev.azure.com/ContosoOrg
  • Azure DevOps Project: ExampleProject
  • Parent work item type: User Story (or Product Backlog Item)
  • Child work item type: Task

Step 1 — Create the Flow (Automated cloud flow)

1.1 Trigger

Create → Automated cloud flow
Trigger: SharePoint – When an item is created

Configure:

  • Site Address: https://contoso.sharepoint.com/sites/ExampleSite
  • List Name: Requests

Step 2 — Add a safety filter (Condition)

This avoids creating DevOps items for every single list entry.

Add Condition (example):

  • If RequestType equals "Migration" → continue
  • Else → terminate

If you don’t have RequestType, you can filter by a different column (Category / Department / etc.).


Step 3 — Create the Parent Work Item (User Story / PBI)

Add action: Azure DevOps – Create a work item

Configure:

  • Organization Name: ContosoOrg
  • Project Name: ExampleProject
  • Work Item Type: User Story
  • Title: Title (from SharePoint)
  • Description: Description (from SharePoint)

Optional (recommended):

  • Area Path: map from SharePoint field if you have it
  • Iteration Path: map from SharePoint field if you have it
  • Tags: "Intake;SharePoint;PowerAutomate"

Important output to keep:
Save the created parent ID as a variable so you can link tasks to it.

Add action: Initialize variable

  • Name: varParentId
  • Type: Integer
  • Value: dynamic content → ID from “Create a work item”

Step 4 — Define your task template (Array)

Add action: Initialize variable

  • Name: varTaskTitles
  • Type: Array
  • Value:
[
"Validate prerequisites and access",
"Confirm scope and inputs",
"Prepare pilot execution",
"Execute migration batch",
"Post-execution verification",
"Documentation and closure"
]

Step 5 — Create tasks in a loop

Add: Apply to each
Input: varTaskTitles

Inside the loop:

5.1 Create Task

Add action: Azure DevOps – Create a work item

  • Work Item Type: Task
  • Title: item() (current loop item)
  • Description: something like:
    Created automatically from SharePoint request ID: <ID>

Optional:

  • Iteration Path: same as parent
  • Area Path: same as parent
  • Assigned To: map from SharePoint “Owner” if you have it

5.2 Link Task → Parent using Hierarchy-Reverse

Add action: Azure DevOps – Add a link to work item

Configure:

  • Work Item Id: Task ID from step 5.1 (dynamic output)
  • Link Type: System.LinkTypes.Hierarchy-Reverse
  • Target Work Item Id: varParentId

✅ This makes the Task appear under the parent story.

Why Reverse?
Because you are linking from the child (Task) back to the parent (User Story/PBI).


Step 6 — Update SharePoint item with DevOps tracking (Optional but excellent)

Add action: SharePoint – Update item

  • ID: ID from the trigger
  • Fields to update:
    • DevOpsWorkItemId = varParentId
    • DevOpsWorkItemUrl = (if you construct it)

A common URL pattern you can store (generic):
https://dev.azure.com/ContosoOrg/ExampleProject/_workitems/edit/<ParentId>/


Step-by-step “Copy & Paste” Build Checklist

Minimal working version

  1. Trigger: When an item is created
  2. Action: Create a work item (User Story/PBI)
  3. Initialize varTaskTitles array
  4. Apply to each:
    • Create Task
    • Link Task → Parent with Hierarchy-Reverse

Production-ready version

Add:

  • Condition filter
  • SharePoint update with DevOps ID/URL
  • Try/Catch pattern using Scopes (optional)
  • Tags and assigned-to mapping

Final Summary Tables

Steps Summary

StepComponentResult
1SharePoint triggerFlow starts when a list item is created
2Condition (optional)Only runs for matching request types
3Create parent work itemCreates User Story / PBI in Azure DevOps
4Array variable of task titlesDefines your standard task checklist
5Apply to eachCreates tasks and links them to the parent
6Update SharePoint (optional)Stores DevOps ID/URL for traceability

Technical Summary

TopicValue / Rule
Parent work itemUser Story or Product Backlog Item
Child work itemTask
Relationship linkSystem.LinkTypes.Hierarchy-Reverse when linking Task → Parent
Best scaling approachArray + Apply to each
Best traceabilityWrite DevOps ID/URL back to SharePoint

Edvaldo Guimrães Filho Avatar

Published by