How to back up a SharePoint list before someone wrecks it
Short answer: SharePoint has no backup button for a list. The closest free setup is version history, the recycle bin (items kept 93 days), a saved Excel export, and a scheduled Power Automate flow that copies items to a second list. For a point-in-time restore of a whole site, you need a separate backup service. Together they cover the common accident: someone edits or deletes many rows at once.
Exact names may differ on your screen. The Microsoft pages behind each step are listed at the end.
How a list gets wrecked
A small team may have no IT person watching its lists. The damage can come from an honest mistake:
- Someone selects 200 rows and deletes them.
- Someone pastes a wrong value into a column for every row.
- Someone opens the list in grid view and drags a value down a whole column.
- Someone "cleans up" old items and removes ones the team still needs.
The list updates for everyone right away. There is no "undo" for the whole team. So the question is not "can we stop mistakes", it is "how do we get the data back".
What you will set up
- Item version history, to roll one row back.
- The recycle bin, to get deleted rows back.
- An Excel export, to keep a copy outside the list.
- A list template, to keep the shape of the list.
- A scheduled flow, to copy items into a backup list.
You do not need all five. Start with 1 and 2, which cost nothing to learn, then add 3 or 5.
Step 1. Turn on version history
Version history keeps older copies of an item, so you can see an old value and bring it back. Microsoft's page on versioning says that in Microsoft 365, versioning is turned on automatically when you create a list, and it describes saving the last 500 versions by default. It also says that people with permission to manage lists can turn it off, and that the limit can be set from 1 to 50,000 major versions for lists. When a limit is reached, the oldest versions are deleted.
To check your list:
- Open the list. Select the Settings gear, then List settings.
- Select Versioning settings.
- Confirm that a version is created each time an item is edited.
- Select OK.
To bring back one old value, select the three dots next to the item, then Version history. Open the menu on an earlier version and choose Restore. Microsoft says the restored version becomes the new current version.
Limit: this works one row at a time. If someone changed 200 rows, you would repeat it 200 times. Versions also stay with the item. If the item is deleted, its versions go with it. For more on reading the history, see "See who changed a row: SharePoint version history".
Step 2. Know where the recycle bin is
When someone deletes rows, they go to the recycle bin first. Microsoft's recycle bin page describes two stages. Deleted items go to the site recycle bin. If they are removed from there, they go to the site collection recycle bin. The page gives a retention period of 93 days, counted from the day the item was deleted from its original place. After that, items are deleted for good.
To restore:
- Open the SharePoint site where the list lives. If you work in Teams, open the channel, go to the Files tab and choose Open in SharePoint.
- Select Recycle bin in the left menu. If it is not there, go to Settings, then Site contents.
- Tick the items and select Restore.
The page says you can restore items that you deleted, and items others deleted if you have edit permissions. A site collection administrator can restore from the second stage. Restored items return to their original place.
Limit: 93 days is a window, not a plan. If nobody notices the loss for four months, the data is gone. Try this once on a test row so you know it works before you need it.
Step 3. Export the list to Excel
An Excel copy sits outside the list. If the list is damaged, the copy is not.
- Open the list.
- Make sure no items are selected. The Export option appears only when nothing is selected.
- Select Export, then Export to Excel.
- Follow the prompts and save the workbook.
Microsoft's export page says an Excel export keeps a one-way connection to the list. Select Refresh All on the Data tab and it pulls in new data. Edits made in Excel do not go back to the list. This matters for a backup. If you refresh the workbook after someone wrecks the list, your copy is wrecked too. After you export, save a copy under a new name with the date, such as "Tracker backup" plus today's date, and do not refresh that one.
The page also describes Export to CSV. A CSV file is not connected to the list. The page says the most rows you can export to CSV is 30,000. On a Mac, CSV is the export option. Folders are not kept as folders, and the page says Item Type and Path columns are added instead.
One way to start: export on the first of every month, and before any big clean-up. Put the files in a folder that only a few people can change.
Step 4. Save the list as a template
A template keeps the shape of the list: its columns, formulas and formatting. Microsoft's page on list templates says it can also save data if you choose Include Content, and that it does not save security settings.
The steps on that page go through List settings, then Save list as template. Enter a file name, a template name and a description. Do not add a file extension to the file name. The page uses classic SharePoint menus, so your screen may look different, and the option may be missing in some sites.
The page lists limits: the default size limit for a template with data is 50 MB, templates work only on the same type of site they came from, and group-connected team sites do not support list templates. If your site is group-connected, this option is not open to you.
Treat a template as a way to rebuild the empty list. Do not treat it as your data backup.
Step 5. Copy items to a backup list with a scheduled flow
This is the closest thing to an automatic backup that you can build yourself. Make a second list with the same columns, called for example "Tracker backup". Then build a scheduled flow that copies items across.
- Sign in to Power Automate.
- Select My flows, then the Cloud flows tab, then Create from blank.
- Add the Recurrence trigger. For a weekly run, set Interval to 1 and Frequency to Week.
- Set the Time zone and a Start time.
- Add the SharePoint action Get items and choose the live list. Microsoft's connector page describes it as "Gets items from a SharePoint list." Microsoft also says that with the default options, Get items returns only 100 items. Open Advanced options and set Top Count to the number of rows in your list, up to 5,000. The Microsoft page on Get items says that going past 5,000 makes the flow fail with an error, and that on a list with more than 5,000 items you should turn on Pagination in the action settings. Without it, a filter query can return no records.
- Add the SharePoint action Create item and point it at the backup list. The connector page describes it as "Creates a new item in a SharePoint list." Map each column across.
Attachments are not copied by Create item. The connector page lists separate actions: Get attachments returns the list of attachments for an item, Get attachment content reads a file, and Add attachment "Adds a new attachment to the specified list item." To keep files, add those steps inside the loop, or keep important files in a document library.
This puts the Create item action inside a loop, once per item. Each run adds new rows. Decide how you will handle old copies. One way to start is to add a column called "Backup date" and fill it with the run date, so each weekly copy can be told apart. For a list with thousands of rows, test it on a small copy first.
To restore from the backup list, one way to start (our advice, not a Microsoft rule) is a second flow, run by hand, that reads the backup list and writes rows back with Create item or Update item. Test it on a few rows first.
The setup of a scheduled flow is covered on Microsoft's page "Run a cloud flow on a schedule in Power Automate". For a simpler scheduled flow that posts to Teams, see "Recurring task reminders for a team".
Limit: the backup list is in the same site as the live list. Someone with broad rights can delete both. Name a second owner for the flow, because a flow can stop if its owner leaves.
What to avoid
- Trusting one method. Version history, the recycle bin and a copy each fail in different ways. Use at least two.
- Refreshing your backup workbook. A refresh overwrites the good copy with the bad data.
- Giving everyone edit rights. If some people only need to read, give them read permission on the list.
- Never testing a restore. Restore one test row from the recycle bin and one from version history today.
- Bulk edits in grid view with no plan. Before any large change, export first.
Honest limits
None of this is a full backup service. A real backup keeps point-in-time copies of whole sites, held apart from the live data, and can restore them as a set. Version history is per item. The recycle bin has a time limit. An Excel file is only as good as the day you saved it. A backup list lives next to the original.
Ask your Microsoft 365 admin whether your organization has a backup option for SharePoint, and what it covers and how far back it goes. Ask this if the list holds data you could not rebuild, such as contracts, safety records or customer history. Licensing and settings differ by plan, so check with your admin.
For a list you are just building, you may want to plan the columns first. See "How to set up an asset register in SharePoint" for an example.
When to get help
You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs to build". Bring one example of the problem to a free call.
I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.
See trackers I built: Tools I built
FAQ
Can SharePoint back up a list automatically?
Not with a built-in button. A scheduled Power Automate flow with a Recurrence trigger can copy items to a second list every week or day.
How do I back up a list over 5,000 items with Power Automate?
Microsoft says setting Top Count above 5,000 makes the flow fail. On a list with more than 5,000 items, Microsoft says to turn on Pagination in the action settings.
How do I back up a list with attachments?
Create item does not copy files. The SharePoint connector has Get attachments, Get attachment content and Add attachment actions, which a flow can use per item.
How do I restore a list from a backup?
Deleted rows come back from the recycle bin within 93 days. An old value comes back from version history. Rows from a backup list or Excel file must be copied back by hand or by a flow.
How long does the recycle bin keep deleted rows?
Microsoft's page gives 93 days, counted from the day the item was deleted from its original location. After that the items are removed for good.
Can I undo a bulk edit?
Not in one step. Version history restores one item at a time. If you exported the list before the edit, compare the file with the list and fix the rows.
Sources
- Restore items in the recycle bin of a SharePoint site
- Enable and configure versioning for a list or library
- How does versioning work in a list or library
- Export to Excel from SharePoint or Lists
- Manage list templates
- Run a cloud flow on a schedule in Power Automate
- SharePoint connector
- In-depth analysis into Get items and Get files