![]()
In this โClone SharePoint listโ article we will learn how to synchronize two SharePoint lists or duplicate SharePoint Online list using Power Automate which means if we add or edit an item in List A, this will be added to or edited in another list List B.
Business use case: Clone SharePoint list or Duplicate SharePoint Online list (Synchronize two SharePoint lists)
One of the use cases would be handling the security of sensitive items. For example, you are storing sensitive information of customers in a customer info list, here you do not want to expose specific fields like deal amount, and country to normal users and these will only be shown to board executive members. We can not make this security proof by hiding and showing the fields using JSON, PowerApps, or creating various views.
If you have a contribute permission level, you can yourself can expose these secured data. We can say this is one of the drawbacks of SharePoint when it comes to managing the permission for the secured data. You can read our previous article Security breach in SharePoint online conditionally show or hide columns.
Clone SharePoint list or Synchronize two SharePoint lists Step by step implementation
Prerequisites:
- Create a Single line of text type site column โCustomUniqueIDโ.
- Create two lists โ ListA and ListB
- Add the โCustomUniqueIDโ site column to both ListA and ListB
Note:
- The purpose of having the unique column โCustomUniqueIDโ is to have a common unique column both in ListA and ListB, as the ID column value differs in ListA and ListB. While we copy a list item to another list, it will not carry the same ID. The destination list will maintain its own new IDs. So, we need to create another column to maintain a unique column in both lists.
- If your existing lists maintain unique values for the title or any other column, then we donโt need this custom unique column. We can make use of any existing unique columns which you already have in your lists.
Clone SharePoint list or Duplicate SharePoint Online list (Synchronize two SharePoint lists) โ Demo
Add an item in ListA.

After sometimes we can see the โCustomUniqueIDโ column has been updated with an alphanumeric value (CUSTUNIQUEID(ID column value)).
Once this โCustomUniqueIDโ column has been updated, letโs navigate to ListB, we can see that the same item has been created here. Similarly, if we edit the same item in ListA, this will be updated in ListB as well.
Item added/edited in ListB automatically โ synchronize two sharepoint lists

Notes:
- We shouldnโt display the โCustomUniqueIDโ column in the view both in ListA and ListB โ for this demo to show how to handle it, we have displayed this.
- And also, hide this โCustomUniqueIDโ column in the Add and Edit list form, using JSON we can easily hide the column, you can refer to our previous article for this โย Conditionally show or hide columns in a SharePoint listย .
Clone SharePoint list or Duplicate SharePoint Online list using Power Automate
The above clone SharePoint list or duplicate SharePoint Online list, we have implemented using Power Automate.
Power Automate:
Here is the complete Power Automate flow for this demo.

Explanation: Duplicate SharePoint Online list using Power Automate
When an item is created or modified in the SharePoint list
The first action is the trigger point which is โwhen an item is created or modifiedโ in ListA.

Parameters:
We need to pass the below parameters in the โwhen an item is created or modifiedโ trigger point:
- Site Address โ your source site URL.
- List Name โ Your source list name ( here it is ListA).
Initialize variable โ Generate Unique ID
Create this generate Unique ID variable using the initialize variable action

Get item from list A โ Get item from the source list
Add a โGet Itemโ action.

Parameters:
We need to pass the below parameters in the โwhen an item is created or modifiedโ trigger point:
- Site Address โ your source site URL.
- List Name โ Your source list name ( here it is ListA).
- ID โ select the ID column from the โwhen an item is created or modifiedโ trigger output from the Dynamic content tab.
Set variable โ Custom Unique ID
Add a set variable action.

Generate a custom unique value. Select the variable โgenerateUniqueIDโ and in the value textbox write the below:
concat('CUSTUNIQUEID',triggerOutputs()?['body/ID'])
Notes:
- Here we are just combining the custom text โCUSTUNIQUEIDโ with the ID column of trigger outputs. You can give some other text as per your requirement.
Add a Send an HTTP request to SharePoint action update the custom ID (โCustomUniqueIDโ) column in the source list.

Parameters:
We need to pass the below parameters in the โSend an HTTP request to SharePointโ action:
- Site Address โ your source site URL.
- Method โ POST
- Uri: _api/web/lists/GetByTitle(โListAโ)/items(@{triggerOutputs()?[โbody/IDโ]})/validateUpdateListItem
Note:
- In Uri, replace ListA with your list, and inside items select the ID column from the โwhen an item is created or modifiedโ trigger output from the Dynamic content tab.
Body:
{
"formValues":
[
{
"FieldName": "CustomUniqueID",
"FieldValue": "@{variables('generateUniqueID')}"
}
]
}
Notes:
- For the field name, replace the โCustomUniqueIDโ column with your columnโs internal name.
- For the FieldValue โ select your unique ID generation variable from the Dynamic tab variables section.
- The above โSend an HTTP request to SharePointโ POST operation updates the custom ID (โCustomUniqueIDโ) column with a custom unique value in the source list.
Get items from List B โ Target list
Add a Get Items action to get the list items from the target list based on the custom ID (CustomUniqueID) filter query.

Parameters:
We need to pass the below parameters in the โGet Itemsโ action:
- Site Address โ your source site URL.
- List Name โ Your target list name ( here it is ListB).
- Filter Query โ CustomUniqueID column from target list eq โCustomUniqueID column value from source listโ
Add a condition control to check the length Get Items result
Add a condition control.

Check the length of the Get Items result.
length(outputs('Get_items_from_List__B')?['body/value'])
Notes:
- In the condition, add the length function from the expression tab, then inside the function, select the Get Items action then after the? add [โbody/valueโ])

- If the length is 0, which means the particular item doesnโt exist in the target list, then it will perform the create item operation, and if it is more than 0, then the item exists in the target list, hence it will perform the update operation.
- The parameters in the create item and update item are self-explanatory. In the create item action, we need to pass the custom unique id column along with other columns, and in the update item action, we need to pass the ID column along with other columns.
Refer to the previous article, how to create and update items in SharePoint using Power Automate. โ Using Power Automate create SharePoint list item if not exists promptly โ 0365
Limitation: Synchronize two SharePoint lists
Below are some limitations of the demo:
- This is one-way synchronization which means items that are added or Edited in the source list (ListA), will be cloned to the target list (ListB), It will not occur in the opposite direction.
- If you want to synchronize both ways for the Add or Edit, copy the same flow and configure it with the target list wherever the source list and site were referred to. To simplify it, we need to replicate the same flow for the target list.
- In this demo, the delete trigger is not handledโif you want to synchronize the delete operation, you need to create two delete item flows that need to be configured in ListA and ListB.
Summary: Copy list items to another list SharePoint (Synchronize two SharePoint lists)
Thus in this article, we have learned the below with respect to cloning or duplicating two lists with the same values:
- How to clone or duplicate two list items with the same values.
- How to create a custom unique id in SharePoint Online list using Power Automate.
See Also: Power Automate Tutorial
You may also like the below Power Automate tutorials:
- Promptly generate unique ID in SharePoint list using Power Automate โ Microsoft 365
- Best way update list item in SharePoint using Power Automate โ Microsoft 365
- 3 ways instantly disable Action in Power Automate
- Instantly in 2 steps Copy and Paste action in Power Automate
- Discover exception handling in power automate using Try Catch Finally Scope โ in 3 steps instantly
- Instantly Solved: Error from token exchange: Bad Key authorization token in Power Automate โ Microsoft 365
- Scheduler Power Automate: Move Old documents in SharePoint Automatically using Scheduled Cloud Flow
- Conditional trigger power automate: Trigger Power Automate (Flow) based on condition in SharePoint Online โ Verified
- Power Automate Send Email: Difference between โSend an email notification (V3)โ and โSend an email (V2)โ
- HTML Table in Power Automate: Learn HTML table formatting using Microsoft Power Automate step by step
- In just 2 marvelous steps export import power automate flow quickly
- Validate is it really Power Apps = Low Code No Code? Power Apps low code no code
- Get started with Power Automate
ย
About Post Author
Discover more from Global SharePoint
Subscribe to get the latest posts sent to your email.