In this blog, we are going to create a request using ExecuteWorkflow action and would execute the request that would execute a custom workflow. This approach would eliminate the need to create an Ajax request and is supported across web client, UCI and Mobile.

For demonstration purpose, we have created a custom workflow. This would create a task in our CRM related to the current account when it’s triggered by a JavaScript function.

Note: Make sure to keep your existing custom workflow available to run as an on-demand process.

JavaScript in Dynamics 365 CRM v9

Now with the help of execute request we are going to trigger that workflow.

Solution: Following is the piece of code to achieve the above objective.


In the above piece of code, we have created a dynamics request object named “ExecuteCustomWorkflowRequest” and we have passed current account id to it along with workflow id. We would recommend to retrieve workflow id dynamically. As of now, we have passed hard coded workflow id for demonstration purpose, which can be found in the URL of workflow as highlighted in blue colour in the following screenshot:

JavaScript in Dynamics 365 CRM v9

Once the “triggerCustomWorkflowRequest” request is built, we would pass it to execute method which would then invoke “ExecuteWorkflow” action. This action will execute our workflow to create task related to the account record whose id was passed in the “triggerCustomWorkflowRequest” request.

Upon execution of our custom workflow via execute method, following task is created.

JavaScript in Dynamics 365 CRM v9

Also, following is a link to execute workflow via HTTP Request:

For more information on execute method visit the following link:

You can find complete list of WebApi actions here:

Hope it helps.