Troubleshooting the SharePoint 2013 workflow hidden library

The SharePoint 2013 workflow framework stores workflow artifacts in an out-of-the-box hidden library named ‘wfsvc’. Although hidden from the SharePoint Online user interface, it is possible for user accounts to access and modify this library. This article describes how to ensure that the ‘wfsvc’ library remains in its healthy default state.

Symptoms of a misconfigured WFSVC library

Unintended modifications to the ‘wfsvc’ library can manifest any of the following symptoms.

  • Workflow instance can’t be started manually.
  • Workflow can’t be published in SharePoint Designer 2013.
  • Workflow has been published but isn’t displayed in SharePoint Designer 2013.
  • Workflow Settings page for the associated list or library fails to render.
  • Workflow instance doesn’t start automatically on Item Create or Item Change as expected.
  • Workflow instance transitions immediately into a fail-retry loop and eventually becomes suspended.

Accessing Library Settings

The Workflows site feature is activated at site scope – or equivalently at SPWeb scope - through Site Settings -> Manage Site Features. Each site within a site collection with the activated Workflows feature has its own ‘wfsvc’ library. The following procedure describes how to access the Library Settings page for the ‘wfsvc’ library on a given site.

  1. Append the following text to the site URL, then navigate to the resulting URL: _api/web/lists/getbytitle('wfsvc')/id
    1. This step obtains the unique ID of the ‘wfsvc’ library within the specified site.
    2. Example: https://contoso.sharepoint.com/sites/marketing/_api/web/lists/getbytitle('wfsvc')/id
  2. The resulting XML blob will contain a Globally Unique Identifier or GUID formatted similarly to this: 0fc0ee2b-ddc0-4e59-93b1-dcc92e086839
  3. Append the following text to the site URL, then navigate to the resulting URL: _layouts/15/listedit.aspx?List={0fc0ee2b-ddc0-4e59-93b1-dcc92e086839}
    1. Replace the GUID in this text with the GUID obtained from the previous step.
    2. Example: https://contoso.sharepoint.com/sites/marketing/_layouts/15/listedit.aspx?List={0fc0ee2b-ddc0-4e59-93b1-dcc92e086839}

You should now be looking at the Library Settings page for the hidden ‘wfsvc’ library.

Default versioning settings

Click Versioning Settings. Ensure the following settings are configured and modify them if necessary.

  • Content Approval -> Require content approval for submitted items? is set to No.
  • Document Version History -> Create a version each time you edit a file in this document library? is set to Create major versions .
  • Require Check Out - > Require documents to be checked out before they can be edited? is set to No.

Default columns

The ‘wfsvc’ library should contain the following columns. Notice that none of the columns are Required. If any columns are required, edit the column to remove the “Required” attribute. Also, if any additional columns are present, delete them. If additional columns can’t be deleted, ensure that the additional columns aren’t required.

Default content types

Clicking Advanced Settings and setting Allow management of content types? to Yes reveals the content types associated with the ‘wfsvc’ library.

The ‘Document’ content type shown here should be the unmodified out-of-the-box ‘Document’ content type. This is one of many reasons *never* to modify out-of-the-box site content types. Instead, derive custom content types from these out-of-the-box content types as needed.

The ‘WorkflowServiceDefinition’ content type should look like this.

The ‘WorkflowServiceSubscription’ content type should look like this.