{"id":2687,"date":"2016-04-28T17:37:45","date_gmt":"2016-04-28T12:07:45","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=2687"},"modified":"2016-04-28T17:37:45","modified_gmt":"2016-04-28T12:07:45","slug":"validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/","title":{"rendered":"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM"},"content":{"rendered":"<p><strong>Introduction:<\/strong><\/p>\n<p style=\"text-align: justify;\">Suppose we are going to change the state of an opportunity record programmatically by using WinOpportunityRequest request, before we make change to the state of the record it is quite important to check, the transition which we are going to execute is valid or not.<\/p>\n<p style=\"text-align: justify;\">For example suppose we are going to change the state of opportunity record as won using WinOpportunityRequest request. In this scenario it is important to check whether this opportunity is in the open state or not, because only the opportunity having state as open can be changed as won.<\/p>\n<p style=\"text-align: justify;\">On the other hand, suppose that the selected opportunity is already in won or lost state and we are going to change the state of the same opportunity as won then we get the following error.<\/p>\n<p style=\"text-align: justify;\"><strong><em>The opportunity is already closed.<\/em><\/strong><\/p>\n<p style=\"text-align: justify;\">To overcome from the above error we can use <strong>\u201cIsValidStateTransitionRequest\u201d.<\/strong><\/p>\n<p style=\"text-align: justify;\"><strong>IsValidStateTransitionRequest<\/strong> request validates the transition which we are going to execute and in response returns isValid as true\/false.<\/p>\n<p style=\"text-align: justify;\">IsValidStateTransitionRequest request takes the following parameters as input.<\/p>\n<ul>\n<li style=\"text-align: justify;\"><strong>Entity<\/strong>: This is an entity reference of the entity record, whose state we are going to change.<\/li>\n<li style=\"text-align: justify;\"><strong>NewState<\/strong>: This parameter takes the value of the entity state which we are going to set, in the string format as shown in below sample code.<\/li>\n<li style=\"text-align: justify;\"><strong>NewStatus<\/strong>: This parameter take the value of the entity status which we are going to set, in the integer format as shown in the below sample code.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Below is the sample code to execute \u201c<strong>IsValidStateTransitionRequest<\/strong>\u201d request.<\/p>\n<pre class=\"lang:default decode:true \">\/\/this the entity reference of the opportunity record which state we are going to change.\nEntityReference opportunityRecord = new EntityReference(\"opportunity\", new Guid(\"12363FDD-EDF7-E511-80EA-3863BB361EA0\"));\n\n\/\/create IsValidStateTransitionRequest request\nIsValidStateTransitionRequest checkRecordState = new IsValidStateTransitionRequest();\n\n\/\/Initialize the entity parameter.This is an entity reference of the entity record, whose state we are going to change.\ncheckRecordState.Entity = opportunityRecord;\n\n\/\/Initialize the NewState parameter.This parameter takes the value of the entity state which we are going to set. \ncheckRecordState.NewState = \"Won\";\n\n\/\/initialize the NewStatus Parameter.This parameter take the value of the entity status which we are going to set.\ncheckRecordState.NewStatus = 3; \/\/Status value for won\n\/\/Execute the request.\n IsValidStateTransitionResponse checkStateResponse = (IsValidStateTransitionResponse)_service.Execute(checkRecordState);\n\n             \n\/\/Check the response, response have a property IsValid,this specify the transition which\n\/\/we are going to execute is valid or not.\n\/\/Check if transition is valid then execute the WinOpportunityRequest request.\nif(checkStateResponse.IsValid)\n {\n   \/\/Add the logic here to change the opportunity state as won\n    WonOpportunityRequest(opportunityRecord); \n }<\/pre>\n<p><strong>Conclusion:<\/strong><\/p>\n<p>This will gives you the extra validation before execute the state change request.<\/p>\n<p style=\"text-align: left;\"><span style=\"color: #000080;\">Now Clone your Dynamics CRM records in just 1 click with <a style=\"color: #000080;\" href=\"http:\/\/www.inogic.com\/product\/productivity-pack\/click-2-clone-microsoft-dynamics-crm-records\" target=\"_blank\" rel=\"noopener noreferrer\">Click2Clone<\/a>.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction: Suppose we are going to change the state of an opportunity record programmatically by using WinOpportunityRequest request, before we make change to the state of the record it is quite important to check, the transition which we are going to execute is valid or not. For example suppose we are going to change the\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/\">Read More: Validate Record state using IsValidStateTransitionRequest in Dynamics CRM &raquo;<\/a><\/span><\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,19,24],"tags":[968,1786,1787],"class_list":["post-2687","post","type-post","status-publish","format-standard","hentry","category-development","category-dynamics-crm","category-dynamics-crm-2016","tag-isvalidstatetransitionrequest-in-dynamics-crm","tag-validate-record-state","tag-validate-record-state-in-dynamics-crm"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Introduction: Suppose we are going to change the state of an opportunity record programmatically by using WinOpportunityRequest request, before we make change to the state of the record it is quite important to check, the transition which we are going to execute is valid or not. For example suppose we are going to change the\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Inogic\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Microsoft Dynamics 365 CRM Tips and Tricks - By Inogic\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM - Microsoft Dynamics 365 CRM Tips and Tricks\" \/>\n\t\t<meta property=\"og:description\" content=\"Introduction: Suppose we are going to change the state of an opportunity record programmatically by using WinOpportunityRequest request, before we make change to the state of the record it is quite important to check, the transition which we are going to execute is valid or not. For example suppose we are going to change the\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2016-04-28T12:07:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2016-04-28T12:07:45+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inogicindia\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@inogic\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM - Microsoft Dynamics 365 CRM Tips and Tricks\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Introduction: Suppose we are going to change the state of an opportunity record programmatically by using WinOpportunityRequest request, before we make change to the state of the record it is quite important to check, the transition which we are going to execute is valid or not. For example suppose we are going to change the\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@inogic\" \/>\n\t\t<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t\t<meta name=\"twitter:data1\" content=\"Inogic\" \/>\n\t\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/#blogposting\",\"name\":\"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM - Microsoft Dynamics 365 CRM Tips and Tricks\",\"headline\":\"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM\",\"author\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/author\\\/inogic-2\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/inogic-logo.png\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/#articleImage\",\"width\":1000,\"height\":325,\"caption\":\"inogic logo\"},\"datePublished\":\"2016-04-28T17:37:45+05:30\",\"dateModified\":\"2016-04-28T17:37:45+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/#webpage\"},\"articleSection\":\"Development, Dynamics CRM, Dynamics CRM 2016, IsValidStateTransitionRequest in Dynamics CRM, Validate Record state, Validate record state in Dynamics CRM\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.inogic.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/dynamics-crm\\\/#listItem\",\"name\":\"Dynamics CRM\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/dynamics-crm\\\/#listItem\",\"position\":2,\"name\":\"Dynamics CRM\",\"item\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/dynamics-crm\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/dynamics-crm\\\/dynamics-crm-2016\\\/#listItem\",\"name\":\"Dynamics CRM 2016\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/dynamics-crm\\\/dynamics-crm-2016\\\/#listItem\",\"position\":3,\"name\":\"Dynamics CRM 2016\",\"item\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/dynamics-crm\\\/dynamics-crm-2016\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/#listItem\",\"name\":\"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/dynamics-crm\\\/#listItem\",\"name\":\"Dynamics CRM\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/#listItem\",\"position\":4,\"name\":\"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/dynamics-crm\\\/dynamics-crm-2016\\\/#listItem\",\"name\":\"Dynamics CRM 2016\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/#organization\",\"name\":\"Microsoft Dynamics 365 CRM Tips and Tricks\",\"description\":\"By Inogic\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/inogic-logo.png\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/#organizationLogo\",\"width\":1000,\"height\":325,\"caption\":\"inogic logo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/inogicindia\",\"https:\\\/\\\/twitter.com\\\/inogic\",\"https:\\\/\\\/www.instagram.com\\\/inogicindia\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCM4V7ousgLSu1hbOEv4DUuQ\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/inogicindia\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/author\\\/inogic-2\\\/#author\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/author\\\/inogic-2\\\/\",\"name\":\"Inogic\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/839d9ae7d2b941d2d09e91df322267a429821f2ce5494302b53bd5ca3679f1a0?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Inogic\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/#webpage\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/\",\"name\":\"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM - Microsoft Dynamics 365 CRM Tips and Tricks\",\"description\":\"Introduction: Suppose we are going to change the state of an opportunity record programmatically by using WinOpportunityRequest request, before we make change to the state of the record it is quite important to check, the transition which we are going to execute is valid or not. For example suppose we are going to change the\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2016\\\/04\\\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/author\\\/inogic-2\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/author\\\/inogic-2\\\/#author\"},\"datePublished\":\"2016-04-28T17:37:45+05:30\",\"dateModified\":\"2016-04-28T17:37:45+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/\",\"name\":\"Microsoft Dynamics 365 CRM Tips and Tricks\",\"alternateName\":\"Inogic\",\"description\":\"By Inogic\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM - Microsoft Dynamics 365 CRM Tips and Tricks","description":"Introduction: Suppose we are going to change the state of an opportunity record programmatically by using WinOpportunityRequest request, before we make change to the state of the record it is quite important to check, the transition which we are going to execute is valid or not. For example suppose we are going to change the","canonical_url":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/#blogposting","name":"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM - Microsoft Dynamics 365 CRM Tips and Tricks","headline":"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM","author":{"@id":"https:\/\/www.inogic.com\/blog\/author\/inogic-2\/#author"},"publisher":{"@id":"https:\/\/www.inogic.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2023\/02\/inogic-logo.png","@id":"https:\/\/www.inogic.com\/blog\/#articleImage","width":1000,"height":325,"caption":"inogic logo"},"datePublished":"2016-04-28T17:37:45+05:30","dateModified":"2016-04-28T17:37:45+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/#webpage"},"isPartOf":{"@id":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/#webpage"},"articleSection":"Development, Dynamics CRM, Dynamics CRM 2016, IsValidStateTransitionRequest in Dynamics CRM, Validate Record state, Validate record state in Dynamics CRM"},{"@type":"BreadcrumbList","@id":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.inogic.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/#listItem","name":"Dynamics CRM"}},{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/#listItem","position":2,"name":"Dynamics CRM","item":"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/dynamics-crm-2016\/#listItem","name":"Dynamics CRM 2016"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/dynamics-crm-2016\/#listItem","position":3,"name":"Dynamics CRM 2016","item":"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/dynamics-crm-2016\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/#listItem","name":"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/#listItem","name":"Dynamics CRM"}},{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/#listItem","position":4,"name":"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM","previousItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/dynamics-crm-2016\/#listItem","name":"Dynamics CRM 2016"}}]},{"@type":"Organization","@id":"https:\/\/www.inogic.com\/blog\/#organization","name":"Microsoft Dynamics 365 CRM Tips and Tricks","description":"By Inogic","url":"https:\/\/www.inogic.com\/blog\/","logo":{"@type":"ImageObject","url":"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2023\/02\/inogic-logo.png","@id":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/#organizationLogo","width":1000,"height":325,"caption":"inogic logo"},"image":{"@id":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/inogicindia","https:\/\/twitter.com\/inogic","https:\/\/www.instagram.com\/inogicindia\/","https:\/\/www.youtube.com\/channel\/UCM4V7ousgLSu1hbOEv4DUuQ","https:\/\/www.linkedin.com\/company\/inogicindia"]},{"@type":"Person","@id":"https:\/\/www.inogic.com\/blog\/author\/inogic-2\/#author","url":"https:\/\/www.inogic.com\/blog\/author\/inogic-2\/","name":"Inogic","image":{"@type":"ImageObject","@id":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/839d9ae7d2b941d2d09e91df322267a429821f2ce5494302b53bd5ca3679f1a0?s=96&d=mm&r=g","width":96,"height":96,"caption":"Inogic"}},{"@type":"WebPage","@id":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/#webpage","url":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/","name":"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM - Microsoft Dynamics 365 CRM Tips and Tricks","description":"Introduction: Suppose we are going to change the state of an opportunity record programmatically by using WinOpportunityRequest request, before we make change to the state of the record it is quite important to check, the transition which we are going to execute is valid or not. For example suppose we are going to change the","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.inogic.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/#breadcrumblist"},"author":{"@id":"https:\/\/www.inogic.com\/blog\/author\/inogic-2\/#author"},"creator":{"@id":"https:\/\/www.inogic.com\/blog\/author\/inogic-2\/#author"},"datePublished":"2016-04-28T17:37:45+05:30","dateModified":"2016-04-28T17:37:45+05:30"},{"@type":"WebSite","@id":"https:\/\/www.inogic.com\/blog\/#website","url":"https:\/\/www.inogic.com\/blog\/","name":"Microsoft Dynamics 365 CRM Tips and Tricks","alternateName":"Inogic","description":"By Inogic","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.inogic.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Microsoft Dynamics 365 CRM Tips and Tricks - By Inogic","og:type":"article","og:title":"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM - Microsoft Dynamics 365 CRM Tips and Tricks","og:description":"Introduction: Suppose we are going to change the state of an opportunity record programmatically by using WinOpportunityRequest request, before we make change to the state of the record it is quite important to check, the transition which we are going to execute is valid or not. For example suppose we are going to change the","og:url":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/","article:published_time":"2016-04-28T12:07:45+00:00","article:modified_time":"2016-04-28T12:07:45+00:00","article:publisher":"https:\/\/www.facebook.com\/inogicindia","twitter:card":"summary_large_image","twitter:site":"@inogic","twitter:title":"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM - Microsoft Dynamics 365 CRM Tips and Tricks","twitter:description":"Introduction: Suppose we are going to change the state of an opportunity record programmatically by using WinOpportunityRequest request, before we make change to the state of the record it is quite important to check, the transition which we are going to execute is valid or not. For example suppose we are going to change the","twitter:creator":"@inogic","twitter:label1":"Written by","twitter:data1":"Inogic","twitter:label2":"Est. reading time","twitter:data2":"2 minutes"},"aioseo_meta_data":{"post_id":"2687","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-02-02 06:24:50","updated":"2025-07-04 01:03:46","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.inogic.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/\" title=\"Dynamics CRM\">Dynamics CRM<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/dynamics-crm-2016\/\" title=\"Dynamics CRM 2016\">Dynamics CRM 2016<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tValidate Record state using IsValidStateTransitionRequest in Dynamics CRM\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.inogic.com\/blog"},{"label":"Dynamics CRM","link":"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/"},{"label":"Dynamics CRM 2016","link":"https:\/\/www.inogic.com\/blog\/category\/dynamics-crm\/dynamics-crm-2016\/"},{"label":"Validate Record state using IsValidStateTransitionRequest in Dynamics CRM","link":"https:\/\/www.inogic.com\/blog\/2016\/04\/validate-record-state-using-isvalidstatetransitionrequest-in-dynamics-crm\/"}],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/2687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/comments?post=2687"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/2687\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=2687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=2687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=2687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}