When you update metadata on a SharePoint Document Set, you expect those values to appear on each file inside the set. Many users find that the metadata does not sync to the files, leaving individual documents with blank or outdated columns. This problem occurs because SharePoint Document Sets store metadata at the set level, not at the individual file level, and the built-in push-down mechanism is not automatically triggered in all scenarios. This article explains the root cause of the sync failure and provides a step-by-step fix to push Document Set metadata to all files within the set.
Key Takeaways: Fixing Document Set Metadata Sync
- Document Set metadata is stored at the set level: Files inherit values only when the push-down action is manually run or configured in a workflow.
- SharePoint Designer 2013 workflow: The most reliable method to sync metadata from the set to all files on update.
- Column settings in the content type: Must have “Push changes to items in the Document Set” enabled for each synced column.
Why Document Set Metadata Does Not Sync to Files
A Document Set in SharePoint is a special content type that groups multiple files together. Metadata fields on the Document Set are shared columns — they appear on the set properties page and on each file inside the set. However, the values you enter on the set are not automatically written to the individual files. SharePoint treats the Document Set as a container, not a parent that pushes data downward by default.
The sync mechanism requires a specific trigger. SharePoint includes a push-down feature that copies Document Set metadata to its files, but this feature must be enabled per column and then executed. Without that trigger, files retain their own metadata values, which are often empty or outdated.
The root cause is the absence of an automatic event receiver that propagates metadata changes. When you update a column on the Document Set, SharePoint does not automatically update the files inside it. The push-down action must be initiated manually, through a workflow, or via a custom solution. This design prevents performance issues on large sets but leaves many users confused when metadata does not sync.
Steps to Sync Document Set Metadata to Files
Use the following method to enable and execute the push-down sync. This process uses SharePoint Designer 2013, which is still supported for on-premises and SharePoint Online (classic mode). If you use modern SharePoint Online, consider a Power Automate flow as an alternative.
- Enable push-down on the Document Set content type
Go to Site Settings > Site Content Types. Find the Document Set content type. Click it, then click Document Set settings. Under “Allowed Content Types,” ensure the content types you want to sync are listed. Scroll to “Shared Columns” and select the columns that should sync to files. Check the box “Push changes to items in the Document Set” for each column. Click OK. - Create a SharePoint Designer 2013 workflow on the Document Set
Open SharePoint Designer 2013. Connect to your site. Under Objects, select List or Library that contains the Document Sets. Click Workflows > New > SharePoint 2013 Workflow. Name it “Sync Document Set Metadata.” - Configure the workflow to push metadata on change
In the workflow designer, add a step that runs “when an item is created” and “when an item is changed.” Add an action: “Call HTTP web service.” Use the following REST endpoint:_api/web/lists/getbytitle('YourLibrary')/items(CurrentItem:ID)/DocumentSetFields/Propagate
Set the request headers to accept JSON and include the digest value. This action triggers the push-down for the current Document Set. - Publish and associate the workflow
Save the workflow and publish it. Associate the workflow with the Document Set content type in the library. Set the workflow to start automatically when an item is created or changed. - Test the sync
Add a new Document Set or update metadata on an existing one. Check the files inside the set — their metadata should now match the set values. If the sync fails, verify that the REST endpoint URL is correct and that the library name matches exactly.
Common Issues When Document Set Metadata Fails to Sync
Metadata updates only work on newly created sets
If you enable push-down only after sets already exist, existing sets may not sync. Run the workflow manually on each existing Document Set or use a PowerShell script to trigger the propagate action for all sets. In PowerShell, use the CSOM method DocumentSet.Propagate on each set.
Column values appear blank on files after push
This happens when the column is not marked as a shared column in the Document Set settings. Verify that the column is in the “Shared Columns” list and that the push-down checkbox is selected. Also confirm that the column exists in the file’s content type.
Workflow fails with “Access Denied”
The workflow account needs at least Edit permissions on the library. If you use a SharePoint 2013 workflow with app step, the workflow runs with system account privileges, which bypasses permission checks. Alternatively, use a Power Automate flow with the “Send an HTTP request to SharePoint” action and provide site owner credentials.
Manual Push vs Workflow vs Power Automate: Key Differences
| Item | Manual Push (Site Settings) | SharePoint Designer Workflow | Power Automate Flow |
|---|---|---|---|
| Trigger | None — must be run per set | Automatic on item create or change | Automatic on item create or change |
| Ease of setup | Simple — checkboxes only | Moderate — requires Designer and REST call | Moderate — requires HTTP action and digest |
| Reliability for large sets | Good — built-in SharePoint action | Good — runs synchronously | Fair — may timeout on sets with many files |
| Supported in SharePoint Online | Yes (classic mode only) | Yes (classic mode only) | Yes (modern and classic) |
After enabling the push-down column setting and configuring an automatic workflow, your Document Set metadata will sync to files consistently. Test the setup with a small set first. If you use modern SharePoint Online, switch to Power Automate for better compatibility. For advanced control, examine the REST endpoint _api/web/lists/getbytitle('Library')/items(ID)/DocumentSetFields/Propagate — it triggers the same push-down that the manual checkbox uses.