If a SharePoint workflow fails to start and you receive the error message “Workflow failed to start,” there could be several possible reasons behind it. Below is a step-by-step detailed troubleshooting guide to help you diagnose and resolve the issue.
Step 1: Verify Workflow Status and Logs
- Navigate to the SharePoint site where the workflow is configured.
- Go to the list or library where the workflow should have triggered.
- Click on “Workflow Settings” or go to the “Flow” section.
- Check if the workflow instance is visible under “Workflow History”.
- If it failed, look for error messages in the Workflow History List.
Step 2: Check if the Workflow is Published
- Open SharePoint Designer (if using SharePoint Designer workflows).
- Locate your workflow under Workflows.
- Check if the workflow is in Published status.
- If it is in a draft state, click “Publish” and try again.
- If it is published, consider republishing the workflow to refresh it.
Step 3: Ensure the Workflow is Set to Start Automatically (If Expected)
- Open SharePoint Designer and navigate to the workflow.
- Check the workflow start options:
- Manually Start: If this is the only option selected, the workflow won’t start automatically.
- Automatically Start When an Item is Created: Ensures that the workflow triggers when a new item is added.
- Automatically Start When an Item is Changed: Ensures that the workflow triggers when an item is updated.
- If automatic triggers are missing, update and republish the workflow.
Step 4: Verify User Permissions
- Check User Permissions on the List/Library:
- Users need Edit or Contribute permissions to start workflows.
- If the workflow needs to update items, users need Full Control or Design permissions.
- Check App Permissions for Power Automate (if applicable):
- If using Power Automate (Flow), ensure the user has permissions to execute actions.
- Ensure the Workflow is Not Running with Insufficient Privileges:
- If the workflow executes under current user context, check if that user has required permissions.
Step 5: Confirm Workflow Timer Service is Running (For SharePoint On-Premises)
- If you are using SharePoint Server (On-Premises), workflows rely on the Workflow Timer Service.
- On the SharePoint Server, open Services.msc.
- Find the service named SharePoint 2013 Workflow Timer Service or Workflow Manager Backend (depending on your version).
- If the service is Stopped, restart it and check if workflows trigger.
Step 6: Verify Workflow Association with the List
- Go to the List or Library Settings.
- Click on “Workflow Settings”.
- Ensure the workflow appears under “Workflows associated with this list”.
- If the workflow is missing, reassociate it by re-adding the workflow to the list.
Step 7: Check SharePoint Workflow Platform
- SharePoint 2010 & 2013 workflows are deprecated in some environments (especially SharePoint Online).
- If using SharePoint Online, ensure that SharePoint 2010/2013 workflows are still enabled.
- If workflows are disabled, consider migrating to Power Automate.
Step 8: Review Event Receivers or Custom Scripts
- If custom event receivers or scripts are running on the list, they might interfere with workflow execution.
- Disable them temporarily and see if the workflow triggers.
- Check SharePoint Logs (ULS logs) for any conflicts.
Step 9: Look for Corrupted Workflow Instances
- If previous workflow instances failed midway, they might block new ones.
- Go to Site Contents > Workflow Tasks and Workflow History lists.
- Delete old, failed workflow instances.
Step 10: Debug Using PowerShell (For On-Premises)
- Open SharePoint Management Shell as Administrator.
- Run the following command to check workflow subscriptions:
Get-SPWorkflowSubscription -List "<ListName>"
- If no results appear, the workflow might not be correctly associated.
- To force-restart the workflow services:
Restart-Service -Name SPAdminV4 Restart-Service -Name SPTimerV4
Step 11: Recreate the Workflow (Last Resort)
- Save a backup of the existing workflow.
- Create a new workflow with the same logic but under a new name.
- Associate it with the list/library.
- Publish and test the new workflow.