{"id":38322,"date":"2024-06-05T16:20:21","date_gmt":"2024-06-05T10:50:21","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=38322"},"modified":"2024-11-28T15:01:59","modified_gmt":"2024-11-28T09:31:59","slug":"list-solution-details-and-their-components-using-power-automate-flow","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2024\/06\/list-solution-details-and-their-components-using-power-automate-flow\/","title":{"rendered":"List solution details and their components using Power Automate Flow"},"content":{"rendered":"<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignleft size-full wp-image-38330\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/Technical-blog-1.png\" alt=\"List solution details and their components\" width=\"2800\" height=\"1600\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/Technical-blog-1.png 2800w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/Technical-blog-1-300x171.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/Technical-blog-1-1024x585.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/Technical-blog-1-768x439.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/Technical-blog-1-1536x878.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/Technical-blog-1-2048x1170.png 2048w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/Technical-blog-1-660x377.png 660w\" sizes=\"(max-width: 2800px) 100vw, 2800px\" \/><\/p>\n<p style=\"text-align: justify;\">As Microsoft is providing us more flexibility with Power Automate (MS Flow), now we can retrieve <strong>List of solution details and their components <\/strong>directly within Power Automate flows.<\/p>\n<p style=\"text-align: justify;\">Recently, we got a requirement to retrieve the list of solutions and their components from specific environments and store this information in an Excel file on SharePoint.<\/p>\n<p style=\"text-align: justify;\">We can achieve this using Solution and Solution Components entity records in Dynamics CRM.<\/p>\n<p style=\"text-align: justify;\">Below are the steps to achieve this requirement.<\/p>\n<h3 style=\"text-align: justify;\"><strong><u>Step 1: Initialize the Array variable <\/u><\/strong><\/h3>\n<p style=\"text-align: justify;\">This array variable should include the details of the solution component types you want to retrieve from the solution, as shown in the screenshot below.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-38323 alignnone\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-1.png\" alt=\"List solution details and their components\" width=\"672\" height=\"546\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-1.png 672w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-1-300x244.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-1-660x536.png 660w\" sizes=\"(max-width: 672px) 100vw, 672px\" \/><\/p>\n<p style=\"text-align: justify;\">The above array contains the following details of the solution component types:<\/p>\n<ul style=\"text-align: justify;\">\n<li>ComponentType \u2013 The type value of the component from the documentation.<\/li>\n<li>EntityName \u2013 The logical name of the component type.<\/li>\n<li>FilterRowName \u2013 The field name to filter the component type.<\/li>\n<li>SelectColumn \u2013 The field name to filter the component type.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">You can find all solution component types information in <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/mt608054.aspx\">Microsoft Documentation<\/a><\/p>\n<h3 style=\"text-align: justify;\"><strong><u>Step 2: Retrieve solutions <\/u><\/strong><\/h3>\n<p style=\"text-align: justify;\">Add the &#8216;List rows from selected environment&#8217; step to retrieve the solutions from the specific environment. Use a filter query to retrieve the visible solutions and exclude the default solution.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-38324 alignnone\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-2.png\" alt=\"List solution details and their components\" width=\"676\" height=\"505\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-2.png 676w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-2-300x224.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-2-660x493.png 660w\" sizes=\"(max-width: 676px) 100vw, 676px\" \/><\/p>\n<p style=\"text-align: justify;\"><strong><u>Step 3: Retrieve Solution Components<\/u><\/strong><\/p>\n<p style=\"text-align: justify;\">Now, proceed to retrieve the solution component for the previously obtained solution. Utilize an &#8216;Apply to Each&#8217; step to iterate through each solution, and within that, add a &#8216;List rows&#8217; action to retrieve the solution component using the filter rows.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-38325 alignnone\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-3.png\" alt=\"List solution details and their components\" width=\"712\" height=\"629\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-3.png 712w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-3-300x265.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-3-660x583.png 660w\" sizes=\"(max-width: 712px) 100vw, 712px\" \/><\/p>\n<p style=\"text-align: justify;\"><strong><u>Step 4: Filter Array step to check the Component Type<\/u><\/strong><\/p>\n<p style=\"text-align: justify;\">For each solution component, implement an &#8216;Apply to Each&#8217; loop. Inside this loop, use a Filter Array step to check that the Component Type of the current solution component matches the type specified in the array variable we set up earlier.<\/p>\n<p><img decoding=\"async\" class=\"alignleft size-full wp-image-38326\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-4.png\" alt=\"List solution details and their components\" width=\"1205\" height=\"426\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-4.png 1205w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-4-300x106.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-4-1024x362.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-4-768x272.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-4-660x233.png 660w\" sizes=\"(max-width: 1205px) 100vw, 1205px\" \/><\/p>\n<p style=\"text-align: justify;\">Expressions from the above image:<\/p>\n<ul style=\"text-align: justify;\">\n<li>variables(&#8216;SolutionCompentSummary&#8217;)<\/li>\n<li>@item()[\u2018ComponentType\u2019]<\/li>\n<li>items(&#8216;Apply_to_each_Solution_Components&#8217;)?[&#8216;componenttype&#8217;]<\/li>\n<\/ul>\n<h3 style=\"text-align: justify;\"><strong><u>Step 5: Retrieve Solution Components Summary<\/u><\/strong><\/h3>\n<p style=\"text-align: justify;\">Add the &#8216;List rows&#8217; step to retrieve the solution component if the Component Type matches and add a row into the Excel table.<\/p>\n<p><img decoding=\"async\" class=\"alignleft size-full wp-image-38327\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-5.png\" alt=\"List solution details and their components\" width=\"1309\" height=\"730\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-5.png 1309w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-5-300x167.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-5-1024x571.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-5-768x428.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-5-660x368.png 660w\" sizes=\"(max-width: 1309px) 100vw, 1309px\" \/><\/p>\n<p style=\"text-align: justify;\">Expressions from the above image:<\/p>\n<ul style=\"text-align: justify;\">\n<li>length(body(&#8216;Filter_Solution_Component_Summaries&#8217;))<\/li>\n<li>body(&#8216;Filter_Solution_Component_Summaries&#8217;)[0][&#8216;EntityName&#8217;]<\/li>\n<li>body(&#8216;Filter_Solution_Component_Summaries&#8217;)[0][&#8216;FilterRowName&#8217;]<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignleft size-full wp-image-38328\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-6.png\" alt=\"List solution details and their components\" width=\"1580\" height=\"765\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-6.png 1580w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-6-300x145.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-6-1024x496.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-6-768x372.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-6-1536x744.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-6-660x320.png 660w\" sizes=\"(max-width: 1580px) 100vw, 1580px\" \/><\/p>\n<p style=\"text-align: justify;\">Expressions from the above image:<\/p>\n<ul style=\"text-align: justify;\">\n<li>items(&#8216;Apply_to_each_Solutions&#8217;)?[&#8216;uniquename&#8217;]<\/li>\n<li>items(&#8216;Apply_to_each_Solutions&#8217;)?[&#8216;createdon@OData.Community.Display.V1.FormattedValue&#8217;]<\/li>\n<li>items(&#8216;Apply_to_each_Solutions&#8217;)?[&#8216;version&#8217;]<\/li>\n<li>items(&#8216;Apply_to_each_Solutions&#8217;)?[&#8216;ismanaged@OData.Community.Display.V1.FormattedValue&#8217;]}<\/li>\n<li>outputs(&#8216;List_of_Solution_Component_Summary&#8217;)?[&#8216;body\/value&#8217;][0]?[body(&#8216;Filter_Solution_Component_Summaries&#8217;)[0][&#8216;SelectColumn&#8217;]]<\/li>\n<li>concat(toUpper(take(replace(string(outputs(&#8216;List_of_Solution_Component_Summary&#8217;)?[&#8216;body\/value&#8217;][0]?[&#8216;@odata.type&#8217;]), &#8216;#Microsoft.Dynamics.CRM.&#8217;, &#8221;), 1)), toLower(skip(replace(string(outputs(&#8216;List_of_Solution_Component_Summary&#8217;)?[&#8216;body\/value&#8217;][0]?[&#8216;@odata.type&#8217;]), &#8216;#Microsoft.Dynamics.CRM.&#8217;, &#8221;), 1)))<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"size-full wp-image-38329 alignnone\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-7.png\" alt=\"List solution details and their components\" width=\"637\" height=\"703\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-7.png 637w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/06\/List-solution-details-and-their-components-7-272x300.png 272w\" sizes=\"(max-width: 637px) 100vw, 637px\" \/><\/p>\n<h2 style=\"text-align: justify;\"><strong>Conclusion:<\/strong><\/h2>\n<p style=\"text-align: justify;\">By following these steps, you can retrieve Solutions and their component details using Power Automate flow.<\/p>\n<div class=\"su-heading su-heading-style-default su-heading-align-center\" id=\"\" style=\"font-size:15px;margin-bottom:5px\"><div class=\"su-heading-inner\"> <strong>Outsource Development Made Easy for Dynamics 365 CRM and Power Platform! <\/strong><\/div><\/div>\n<p>From customizing <a href=\"https:\/\/www.inogic.com\/services\/development-services\/outsource-dynamics-365-crm-bespoke-development\/\" target=\"_blank\" rel=\"noopener\">Microsoft Dynamics 365<\/a> to developing <a href=\"https:\/\/www.inogic.com\/services\/ai-solutions\/microsoft-dynamics365-powerplatform-chatgpt-copilot-consulting-services\/\" target=\"_blank\" rel=\"noopener\">Copilot-enabled Power Platform Apps<\/a>, our outsourced development services ensure top-notch solutions tailored to your needs. Let our experts handle the technicalities while you focus on your core business. Email us at <a href=\"mailto:crm@inogic.com\">crm@inogic.com<\/a> to get started today.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>About Sam Kumar<\/strong><\/p>\n<p>Sam Kumar is the Vice President of Marketing at Inogic, a Microsoft Gold ISV Partner renowned for its innovative apps for Dynamics 365 CRM and Power Apps. With a rich history in Dynamics 365 and Power Platform development, Sam leads a team of certified CRM developers dedicated to pioneering cutting-edge technologies with Copilot and Azure AI the latest additions. Passionate about transforming the CRM industry, Sam\u2019s insights and leadership drive Inogic\u2019s mission to change the \u201cDynamics\u201d of CRM.<\/p>\n<p>More about\u00a0<a href=\"https:\/\/www.linkedin.com\/in\/inogic\/\" target=\"_blank\" rel=\"noopener\">Sam Kumar<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As Microsoft is providing us more flexibility with Power Automate (MS Flow), now we can retrieve List of solution details and their components directly within Power Automate flows. Recently, we got a requirement to retrieve the list of solutions and their components from specific environments and store this information in an Excel file on SharePoint.\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2024\/06\/list-solution-details-and-their-components-using-power-automate-flow\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[36,1985],"tags":[2542],"class_list":["post-38322","post","type-post","status-publish","format-standard","hentry","category-microsoft-flow","category-power-automate","tag-power-automate-flow"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/38322","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\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/comments?post=38322"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/38322\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=38322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=38322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=38322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}