fbpx

June 23, 2013

Start workflow programatically in SharePoint 2013

Start workflow programatically in SharePoint 2013

I had a business requirement where I need to start SharePoint 2013 workflow on demand. We have a form to validate some data on a list item before starting the workflow. When user click on continue button of validation form it first validate all field, once it is validated it will trigger a workflow associated with the list

Below is the code example on how to start SharePoint 2013 workflow programatically.

var workflowServiceManager = new WorkflowServicesManager(web);

var workflowSubscriptionService = workflowServiceManager.GetWorkflowSubscriptionService();

//Get all workflows associated with a list

var subscriptions = workflowSubscriptionService.EnumerateSubscriptionsByList(listId);

//Run all workflows associated with the list

foreach (var workflowSubscription in subscriptions)

{    

 var inputParameters = new Dictionary<string, object>();    

 inputParameters.Add("MyProperty", "MyValue"); 

workflowServiceManager.GetWorkflowInstanceService().StartWorkflowOnListItem(workflowSubscription, itemId, inputParameters);
  • Related Tags:

Leave a comment