logo
search
Others

How to Update SharePoint Inventory Using Microsoft Forms and Power Automate

Maira MehtabMaira Mehtab Sep 30, 2026 870 views

Question details

The user needs to configure a Power Automate workflow that takes multiple products and quantities submitted via a Microsoft Forms incident report and updates the corresponding inventory counts in a SharePoint list.

Update SharePoint Inventory Using Microsoft Forms and Power Automate
Product
Microsoft Forms, Power Automate, SharePoint
Device & OS
not provided
Scenario
Automating inventory tracking by updating stock levels in SharePoint based on consumed quantities reported in a multi-item Microsoft Form submission.
Observed behavior
The workflow must process each selected product individually to update its stock quantity, rather than handling only a single item per form submission.
Before you start

Ensure you have owner or edit permissions for both the Microsoft Form used to collect the data and the target SharePoint list where your inventory quantities are tracked.

Solution 1Recommended

Create a Power Automate Flow Using 'Apply to each'

Set up a flow that triggers on a new form response, parses the multiple products selected, and loops through each to update the SharePoint list records accordingly.

Because Microsoft Forms submits multiple-choice responses as a single string array, you must parse this data in Power Automate so the workflow can process each selected product individually.

1
Trigger the flow on form submission

Log into Power Automate, select 'Create', and choose 'Automated cloud flow'. Select 'When a new response is submitted' (Microsoft Forms) as your trigger and choose your incident report form from the Form ID dropdown.

2
Get the form response details

Add a new step and search for 'Get response details'. Select it, enter the same Form ID, and insert the 'Response ID' from the dynamic content menu.

3
Parse the multiple-choice data

Add a 'Parse JSON' action to format the string array from the product selection field in your form into a valid JSON array that Power Automate can iterate through.

4
Iterate through each product

Add an 'Apply to each' control block and select the array output from your Parse JSON step as the input. Inside this loop, add a 'Get items' (SharePoint) action, and configure an OData filter query to find the specific inventory item matching the current product's name.

5
Update the inventory quantity

Still inside the loop, add an 'Update item' (SharePoint) action. Map the List ID and Item ID. Set the new quantity by subtracting the reported consumed amount from the current stock value using an Expression: sub(variables('CurrentStock'), variables('ConsumedQuantity')).

Create a Power Automate Flow Using 'Apply to each'
Handling Delays: If you are updating many list items simultaneously, ensure concurrency control is configured correctly in the 'Apply to each' settings to prevent locking conflicts in SharePoint.
Free Microsoft Office alternative

Manage Data and Spreadsheets with WPS Office

While Power Automate and SharePoint are cloud automation tools requiring Microsoft 365 licenses, you can manage your raw data, local inventory sheets, and offline trackers completely free using WPS Office. It provides a lightweight, highly compatible alternative to Microsoft Office.

  1. 1. Download and Install: Get WPS Office from the official website and follow the installation prompts.
  2. 2. Open Your Spreadsheets: Open your existing Excel inventory tracking files directly in WPS Spreadsheet.
  3. 3. Edit and Save Seamlessly: Update your trackers and save them in standard formats without losing any formatting or formulas.
100% compatible with Microsoft Excel formats (.xlsx, .xls, .csv).Free and lightweight office suite for processing data and managing trackers locally.Familiar user interface requiring zero learning curve for a seamless transition.Includes built-in advanced spreadsheet features, charting, and pivot tables.
microsoft office alternative - wps office

Frequently Asked Questions

Why is Power Automate treating my multiple-choice form answer as a single string?

Microsoft Forms outputs multiple-choice answers as a single string (e.g., '["Item A","Item B"]') rather than a true array. You must use a 'Parse JSON' action or a specific expression function in Power Automate to convert it back into an array before passing it to a loop.

How do I subtract values in Power Automate?

You can subtract values by using the sub() expression in the Expression builder. The syntax is sub(value1, value2), which subtracts value2 from value1.

Can I update multiple SharePoint list items at once?

Yes, by wrapping your SharePoint 'Update item' action inside an 'Apply to each' loop in Power Automate, you can update multiple distinct records sequentially based on an array of inputs from your trigger.