In my Adding Convert Email To Task in Email Ribbon MS CRM 2011 post I have explained how to create ribbon button to copy email into task, in this post I am providing code to create task entity record through rest from email.
function ConverToTask() { var context = Xrm.Page.context; var serverUrl = context.getServerUrl(); var ODataPath = serverUrl + "/XRMServices/2011/OrganizationData.svc; var task = new Object(); if (Xrm.Page.getAttribute("subject).getValue()!=null) task.Subject = Xrm.Page.getAttribute("subject").getValue(); if (Xrm.Page.getAttribute("regardingobjectid").getValue() != null) { var Regarding = Xrm.Page.getAttribute("regardingobjectid").getValue(); task.RegardingObjectId = { Id: Regarding[0].id, LogicalName: Regarding[0].typename, Name: Regarding[0].name }; } var Task = this.parent.JSON.stringify(task); var CreateRequest = new XMLHttpRequest(); CreateRequest.open("POST", ODataPath + "/TaskSet", false); CreateRequest.setRequestHeader("Accept", "application/json"); CreateRequest.setRequestHeader("Content-Type", "application/json; charset=utf-8"); CreateRequest.send(Task); if (CreateRequest.readyState == 4 /* complete */ ) { if (CreateRequest.status == 201) { var retrievedRecords = this.parent.JSON.parse(CreateRequest.responseText).d; var ID = retrievedRecords.ActivityId; window.open(serverUrl + "/userdefined/edit.aspx?etc=4212&id=" + ID); //configure URL and open new window } } }
Enjoy !!!