CRM 4.0: Use JavaScript execute/call/launch CRM Workflow

Posted: September 2, 2010 in JScript, Microsoft Dynamics CRM
Tags: , ,

Run a workflow through JavaScript

/* the function */

ExecuteWorkflow = function(entityId, workflowId)


var xml = “” +

“<?xml version=\”1.0\” encoding=\”utf-8\”?>” +

“<soap:Envelope xmlns:soap=\”\” xmlns:xsi=\”\” xmlns:xsd=\”\”>” +

GenerateAuthenticationHeader() +

” <soap:Body>” +

” <Execute xmlns=\”\”>” +

” <Request xsi:type=\”ExecuteWorkflowRequest\”>” +

” <EntityId>” + entityId + “</EntityId>” +

” <WorkflowId>” + workflowId + “</WorkflowId>” +

” </Request>” +

” </Execute>” +

” </soap:Body>” +

“</soap:Envelope>” +


var xmlHttpRequest = new ActiveXObject(“Msxml2.XMLHTTP”);

xmlHttpRequest.Open(“POST”, “/mscrmservices/2007/CrmService.asmx”, false);


xmlHttpRequest.setRequestHeader(“Content-Type”, “text/xml; charset=utf-8”);

xmlHttpRequest.setRequestHeader(“Content-Length”, xml.length);


var resultXml = xmlHttpRequest.responseXML;



/* call */

var theWorkflowId = “3FD2DD58-4708-43D7-A21B-F0F90A0AA9F2”;
//change to your workflow Id

ExecuteWorkflow(crmForm.ObjectId, theWorkflowId);

  1. Alex DeVries says:

    Thank you for writing and posting this tutorial. I created a custom button which needed to execute a workflow and this code did just that.

  2. Aaron says:

    Thank you for posting this code. Are you using it on an event or is it executed under a button? When using is on the OnChange event of an entity I get an error when loading the page.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s