<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Power Platform on Wingate365</title><link>https://blog.wingate365.com/tags/power-platform/</link><description>Recent content in Power Platform on Wingate365</description><generator>Hugo</generator><language>en-gb</language><lastBuildDate>Sun, 14 Dec 2025 12:51:22 +0000</lastBuildDate><atom:link href="https://blog.wingate365.com/tags/power-platform/index.xml" rel="self" type="application/rss+xml"/><item><title>Ask AI about Dynamics Licensing</title><link>https://blog.wingate365.com/2025/12/ask-ai-about-dynamics-licensing.html</link><pubDate>Sun, 14 Dec 2025 09:53:00 +0000</pubDate><guid>https://blog.wingate365.com/2025/12/ask-ai-about-dynamics-licensing.html</guid><description>&lt;h1&gt;What's New in Dynamics 365 Licensing: December 2025 Update&lt;/h1&gt;
 &lt;p&gt;&lt;em&gt;A comprehensive guide to the latest changes in Microsoft's Dynamics 365 Licensing Guide, with special focus on Business Central&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Microsoft has released the December 2025 update to the Dynamics 365 Licensing Guide, and it brings some significant changes—particularly for Business Central users.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I've asked AI to do a detailed comparison with the July 2025 version to identify what's changed, and the results are quite interesting. Let's dive in.&lt;/p&gt;</description></item><item><title>Power up D365BC Power Automate Flows with API Pages</title><link>https://blog.wingate365.com/2024/03/power-up-d365bc-power-automate-flows.html</link><pubDate>Sat, 16 Mar 2024 13:00:00 +0000</pubDate><guid>https://blog.wingate365.com/2024/03/power-up-d365bc-power-automate-flows.html</guid><description>&lt;p&gt;The opportunity to extend functionality in Dynamics 365 BC with Power Automate is huge. One of the most critical concepts for me is the general ability to trigger flows, based on certain events or simply on demand, perform a automated / semi- automated business process or approval and then write back the decision as a change to a record in BC.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The standard set of API&amp;rsquo;s are pretty great to get started on this - check out the docs here &lt;a href="https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/"&gt;API (v2.0) for Dynamics 365 Business Central - Business Central | Microsoft Learn&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, sometimes the field you want is not defined or the record type has been added to the set yet. This can be a bit of a blocker. Thankfully you can create your own API very easily. This post is aimed at BC consultants who want to do just this using API pages.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is a similar exercise from MSFT for reference &lt;a href="https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-develop-custom-api"&gt;Developing a custom API - Business Central | Microsoft Learn&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For this example below will create and publish a small extension that contains an API page to interact with the vendor table through OData web services. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We will use VS code &lt;a href="https://code.visualstudio.com/download"&gt;Download Visual Studio Code - Mac, Linux, Windows&lt;/a&gt; and a few addons  &lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al"&gt;AL Language extension for Microsoft Dynamics 365 Business Central - Visual Studio Marketplace&lt;/a&gt; &amp;amp; &lt;a href="https://marketplace.visualstudio.com/items?itemName=andrzejzwierzchowski.al-code-outline"&gt;AZ AL Dev Tools/AL Code Outline - Visual Studio Marketplace&lt;/a&gt;&lt;/div&gt;&lt;h2 style="text-align: left;"&gt;Getting started &lt;/h2&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Create a new AL in VS code project by tapping F1, use the AL:Go! from the command pallet&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Connect your project to a BC trial sandbox / CDX / other instance&lt;/li&gt;&lt;li&gt;You will need to have full admin access and SUPER permission granted &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA84ctCHqx7UH9IqxOc9HzZA44-XodK1Ysntp25eSSUjlKB-3L47atP_cFRJk19hJn_El006iGXAC59AhVhfE72amS65UhGV70Nl2cOo-ijDcNp6jWWDISmJxmsSquE1oMqMStYpF6V0Dtb3aIx_Jjrth8pMqINRg-gzC0Wg6dv1zrpgzieLLf/s1016/2024-03-16_11h24_17.png"&gt;&lt;img border="0" data-original-height="196" data-original-width="1016" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA84ctCHqx7UH9IqxOc9HzZA44-XodK1Ysntp25eSSUjlKB-3L47atP_cFRJk19hJn_El006iGXAC59AhVhfE72amS65UhGV70Nl2cOo-ijDcNp6jWWDISmJxmsSquE1oMqMStYpF6V0Dtb3aIx_Jjrth8pMqINRg-gzC0Wg6dv1zrpgzieLLf/w640-h124/2024-03-16_11h24_17.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh87fU7CCmGFPc9dReZItDBrHVV9NS9Z8RTg2RkzspSJGRYD-nr8wUiwMY7w0Zp1DobG5OUhKhhyphenhyphenzrKmVc3iObbG0W0IWpk3tMxRgwYr6aQst6FfMafeZ14WnGCiAQ4Mw5VKJTEC0FITsxvqjxJ6QACBuhyphenhyphenFgpfjWlm183bPivvZxONyzxEQLYx/s1261/2024-03-16_11h06_10.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="500" data-original-width="1261" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh87fU7CCmGFPc9dReZItDBrHVV9NS9Z8RTg2RkzspSJGRYD-nr8wUiwMY7w0Zp1DobG5OUhKhhyphenhyphenzrKmVc3iObbG0W0IWpk3tMxRgwYr6aQst6FfMafeZ14WnGCiAQ4Mw5VKJTEC0FITsxvqjxJ6QACBuhyphenhyphenFgpfjWlm183bPivvZxONyzxEQLYx/w640-h254/2024-03-16_11h06_10.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;span style="text-align: left;"&gt;Add a tenant definition line to the launch.json to define your tenancy ID, update the sandbox name if needed&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;F1 &amp;gt; AL: Download Symbols &lt;/li&gt;&lt;/ul&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvUdhd6IeUpBCIPw-rfPfVD1s8ouc-mRKEHT_sdDA3g58n-XH8nFvht8hMmf_O-wCfHxjB_hwEosJZNwRmwMkZZZNgxoGcpzaYPsiwPK8eZ-vNC6ogoSVjmrl1hnniM4GUQAIfor8dJ9kQ5RhURd-5sbGlvbEs2JaVYY5x9_bu6c57QrYi1O0d/s1250/2024-03-16_11h29_09.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="335" data-original-width="1250" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvUdhd6IeUpBCIPw-rfPfVD1s8ouc-mRKEHT_sdDA3g58n-XH8nFvht8hMmf_O-wCfHxjB_hwEosJZNwRmwMkZZZNgxoGcpzaYPsiwPK8eZ-vNC6ogoSVjmrl1hnniM4GUQAIfor8dJ9kQ5RhURd-5sbGlvbEs2JaVYY5x9_bu6c57QrYi1O0d/w640-h172/2024-03-16_11h29_09.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;span style="text-align: left;"&gt;This action gets the source code / lists of objects from the sandbox you defined above&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilK11Nx17GMCPEx7foc9gSlN_dmPmIa74tOc1NhPNqn2NGSGNTwR9QmQbcKSvat9gtzhGagkMRbEbiR2_LAU-s-PAaRXvqZ9WJaNRD-cfFy_Z0nG_5Ryd3bxNtI4bPsS_a3EnxQvHy7orReGzzk5ZQ1iP62kNfRPlVtVG3_PEaDoVIDEp1Doba/s1259/2024-03-16_11h28_32.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="768" data-original-width="1259" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilK11Nx17GMCPEx7foc9gSlN_dmPmIa74tOc1NhPNqn2NGSGNTwR9QmQbcKSvat9gtzhGagkMRbEbiR2_LAU-s-PAaRXvqZ9WJaNRD-cfFy_Z0nG_5Ryd3bxNtI4bPsS_a3EnxQvHy7orReGzzk5ZQ1iP62kNfRPlVtVG3_PEaDoVIDEp1Doba/w640-h390/2024-03-16_11h28_32.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The system will ask you to authenticate on the through the use of a one time code, paste the code into the web page it opens, and check the symbols downloaded ok back in VS code. You will need a login with SUPER permission set for this.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2 style="text-align: left;"&gt;Create an API page&lt;/h2&gt;&lt;div&gt;Now we are ready to make some new objects and deploy them to the sandbox as a DEV extension. &lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Use the AZ New AL file wizard, from the right click menu or command pallet, to start creating a new object of type PAGE&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyKvGc6HGzP6H5DZ-wlR5haWJtU9H4skFLyr8oNQU3R5sz2t4juQ6xpVv9IpljuDF_5B5xUiUhr8BxWJ8FevusmXRDSTdsEBqIINKVaAfOX9C9CVf5QDvYJ4dQO1-AokdTBhJro93Zmobs3Eq6CC5VY8mIEA7XOnR0TxJNfXs9c-2gHVNsInaM/s1251/Screenshot%202024-03-16%20113629.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="111" data-original-width="1251" height="56" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyKvGc6HGzP6H5DZ-wlR5haWJtU9H4skFLyr8oNQU3R5sz2t4juQ6xpVv9IpljuDF_5B5xUiUhr8BxWJ8FevusmXRDSTdsEBqIINKVaAfOX9C9CVf5QDvYJ4dQO1-AokdTBhJro93Zmobs3Eq6CC5VY8mIEA7XOnR0TxJNfXs9c-2gHVNsInaM/w640-h56/Screenshot%202024-03-16%20113629.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQWM8K8uP3yiepUMLKwMamIUF0_A_rrXMtvMppxsEEgaSNe1oH2uWVoVpx28qEgBlUi8-Jj3dGHHNb_nK1zaE1XEFkZnUJx7RQS7qCDXRSWoxKoeBeaytoCp06I3Jk-wwGNakN4J-SAwtHGmECRfSJSyZJoKrTwPRNQ8-gq8j-Z3u7TsYgbQzu/s617/2024-03-16_11h39_49.png"&gt;&lt;img border="0" data-original-height="325" data-original-width="617" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQWM8K8uP3yiepUMLKwMamIUF0_A_rrXMtvMppxsEEgaSNe1oH2uWVoVpx28qEgBlUi8-Jj3dGHHNb_nK1zaE1XEFkZnUJx7RQS7qCDXRSWoxKoeBeaytoCp06I3Jk-wwGNakN4J-SAwtHGmECRfSJSyZJoKrTwPRNQ8-gq8j-Z3u7TsYgbQzu/w400-h211/2024-03-16_11h39_49.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBKNsalpD7rBYo810ga8YauJRVcUu9oq77DJEfvTm26UpAYLbCzPT52eLQHOKTdGSNSjOgejc1CHtbsiZYTpHwKAo2wMBsKhb3wYlYWIKEzNeo_WIBEwOJiaAkDFn0rWQwqVi4i54zy2BX9ISUtQrM8YEoDZ1Qujl0maw-o-SQOhdSy7P62YyH/s1039/2024-03-16_11h41_42.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="537" data-original-width="1039" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBKNsalpD7rBYo810ga8YauJRVcUu9oq77DJEfvTm26UpAYLbCzPT52eLQHOKTdGSNSjOgejc1CHtbsiZYTpHwKAo2wMBsKhb3wYlYWIKEzNeo_WIBEwOJiaAkDFn0rWQwqVi4i54zy2BX9ISUtQrM8YEoDZ1Qujl0maw-o-SQOhdSy7P62YyH/w640-h330/2024-03-16_11h41_42.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;b&gt;Object Id&lt;/b&gt;: Leave the suggestion and if you get stuck read this &lt;a href="https://yzhums.com/21335/"&gt;Dynamics 365 Business Central: View the all object details (Type, ID, Name…) and find out what extension an object belong to without using VS Code | Dynamics 365 Lab (yzhums.com)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Object Name&lt;/b&gt;: Use something sensible here, you can have spaces&lt;/li&gt;&lt;li&gt;&lt;b&gt;Source Table Name&lt;/b&gt;: Start typing to filter all the tables in BC, this is the single table that all the fields in you API will come from &lt;/li&gt;&lt;li&gt;&lt;b&gt;Page Type&lt;/b&gt;: Set to API&lt;/li&gt;&lt;li&gt;&lt;b&gt;API Publisher&lt;/b&gt;: this best defines an organisational level term &lt;/li&gt;&lt;li&gt;&lt;b&gt;API Group&lt;/b&gt;: this best defines the type of API&lt;/li&gt;&lt;li&gt;&lt;b&gt;API Version&lt;/b&gt;: Set a version number&lt;/li&gt;&lt;li&gt;&lt;b&gt;Entity name&lt;/b&gt;: what is defined by 1 row of the table ?&lt;/li&gt;&lt;li&gt;&lt;b&gt;EntitySet Name&lt;/b&gt;: what is the collective term for many rows ?&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Just to give a sneak peek on what the impact of those last few choices - this is how the API Page shows up in Power Automate, take not of the API Publisher, API Group, API Version and EntitySet Name. This may help you name the API page for best effect. &lt;/div&gt;&lt;div&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI7x3OQqgNiz0aJqbOUEY9To5pmapPUax-Xkhtc461_IIDUHGSwCIYhM7ETJOp8E0jU03PATpCyBaK44URDJ7tnKGc-LhuqBeulb3RQ3-ZHi02GMwfe3XO_63IgmGZLF9A4TuZjA05p_iVQF8SPV8GesZOH4aPZ6P6m4_yvxX9MxQWxf5vgEJ5/s1092/2024-03-16_11h57_06.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="570" data-original-width="1092" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI7x3OQqgNiz0aJqbOUEY9To5pmapPUax-Xkhtc461_IIDUHGSwCIYhM7ETJOp8E0jU03PATpCyBaK44URDJ7tnKGc-LhuqBeulb3RQ3-ZHi02GMwfe3XO_63IgmGZLF9A4TuZjA05p_iVQF8SPV8GesZOH4aPZ6P6m4_yvxX9MxQWxf5vgEJ5/w400-h209/2024-03-16_11h57_06.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Back to the wizard - next we can pick which fields in include - or all them add. Naturally only add what you need! To test the performance I did add them all&amp;hellip; &lt;/div&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;The API page can be used to read and write data. Flow fields like &amp;lsquo;Balance&amp;rsquo; etc can be read, but naturally cannot be written to. If in a later flow you try to write to a flow field the process will fail.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHaexdKlO0_xCUgLy9QiBzW0LuFO_9OxqZKEUWCWO6QRnKSaC08K1OyQnC4YoJBU9SGJ6ZnyzbpYlLzTqC_10wyuFeStV6Y5W9V5B_a2pjWxOzIe0Ds1HvA7pT1_xNxmHQRB50vXcxM_0O3iM7tVYWrjKnF43SxgH5GU72S_D3QEyzEMQ9bAoq/s1037/2024-03-16_11h42_17.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="529" data-original-width="1037" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHaexdKlO0_xCUgLy9QiBzW0LuFO_9OxqZKEUWCWO6QRnKSaC08K1OyQnC4YoJBU9SGJ6ZnyzbpYlLzTqC_10wyuFeStV6Y5W9V5B_a2pjWxOzIe0Ds1HvA7pT1_xNxmHQRB50vXcxM_0O3iM7tVYWrjKnF43SxgH5GU72S_D3QEyzEMQ9bAoq/w640-h326/2024-03-16_11h42_17.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;If you do want things in a particular order, define it here, or tweak the code of the file that&amp;rsquo;s created&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;You can click finish as this point and review the new API page object that you have just created&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6gsiIwpDRzcVsM0MAqe1KBAXUjKUje6927Guvz0EN4U40lyoNsF3YHhMOzOrEXgkxPcWuY0jVunXC8EXTLrnWs_gHtuZiZvMThYTU1Pbtr1I4MfOJldhKfshXD5dCB4mPeXl6AN1SUk-K2lmbXvsdQ8OO4nCYntTFtGqplkiIdn9AtA3ha2LU/s1284/2024-03-16_12h22_28.png"&gt;&lt;img border="0" data-original-height="563" data-original-width="1284" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6gsiIwpDRzcVsM0MAqe1KBAXUjKUje6927Guvz0EN4U40lyoNsF3YHhMOzOrEXgkxPcWuY0jVunXC8EXTLrnWs_gHtuZiZvMThYTU1Pbtr1I4MfOJldhKfshXD5dCB4mPeXl6AN1SUk-K2lmbXvsdQ8OO4nCYntTFtGqplkiIdn9AtA3ha2LU/w640-h280/2024-03-16_12h22_28.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;But before your API is available (as above) in Power Automate we need to publish the app to the sandbox&lt;/div&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;F1 &amp;gt; AL Publish (ok ctrl+F5)&lt;/li&gt;&lt;/ul&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUMP2RCWuz1WgBQewvuv_mUb4qLalfvX-yS4ZeyL5skVFExgHsgFeOy3KLTFNSHYVzWxDz_Zh90wkKYtruvs5T16L4TnC3nZjkWjNHg7iaQW9NIFpGYsMdrR0sQ8wYQZ6VxQM0dz3yAakaSQTlUMSR0WaETr1uVoYjcfIetDn_I0iF47JAR1ft/s1397/2024-03-16_12h01_59.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="280" data-original-width="1397" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUMP2RCWuz1WgBQewvuv_mUb4qLalfvX-yS4ZeyL5skVFExgHsgFeOy3KLTFNSHYVzWxDz_Zh90wkKYtruvs5T16L4TnC3nZjkWjNHg7iaQW9NIFpGYsMdrR0sQ8wYQZ6VxQM0dz3yAakaSQTlUMSR0WaETr1uVoYjcfIetDn_I0iF47JAR1ft/w640-h128/2024-03-16_12h01_59.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Publish without debugging will simply install / update the app on the sandbox and open BC for you on page 22 (that&amp;rsquo;s what we asked it to do in launch.json)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;Now the app is published ok&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw0bgX_SFj9r1kCeB0HlFhZFW0c0ot0UwVFcUpPDF8fwy0hQvvd6eT6Z6bnplQgkeIymU5hmArV6KNVxVeSZnJ0UHDTMSb5UAUOhgs16zc5doXiUTFP_S1Xi4hK32VTcVgK0wwGYCkIHbpcL0piScCSp7GfOnbSPVru-dWSB-AWAs_6Qi0DYy5/s1460/2024-03-16_12h00_53.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="830" data-original-width="1460" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw0bgX_SFj9r1kCeB0HlFhZFW0c0ot0UwVFcUpPDF8fwy0hQvvd6eT6Z6bnplQgkeIymU5hmArV6KNVxVeSZnJ0UHDTMSb5UAUOhgs16zc5doXiUTFP_S1Xi4hK32VTcVgK0wwGYCkIHbpcL0piScCSp7GfOnbSPVru-dWSB-AWAs_6Qi0DYy5/w640-h364/2024-03-16_12h00_53.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;We can check the extension on the Extension Management page in BC. The App is published as Dev. as we pushed it directly from VS Code. When we did the publish you will notice the .app file was also added to the folder. This .app file can be used to upload the ext to any environment. When you do this its published as type PTE. &lt;/div&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;The main practical difference of PTE and Dev ext, is that PTE ext remain present when BC is updated. Dev ext are removed. &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZakHW6ayP_x_woznvkjCKwGDlEiG5ZIOye6z8P7rBIeM_fyN9Xa0P7-moFYFkntFsgYe-bu-8BQKyrZHuIbFaTJNybsEl-aSXQfJ9rZB0JGI3veWOMRYm6BolCvP6MsE2Ehu4KXfrbwCSt7dzyuMzJGdpo-dPw6qTL_5DgOb1xTx18gJfdy7U/s1290/2024-03-16_12h06_07.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="314" data-original-width="1290" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZakHW6ayP_x_woznvkjCKwGDlEiG5ZIOye6z8P7rBIeM_fyN9Xa0P7-moFYFkntFsgYe-bu-8BQKyrZHuIbFaTJNybsEl-aSXQfJ9rZB0JGI3veWOMRYm6BolCvP6MsE2Ehu4KXfrbwCSt7dzyuMzJGdpo-dPw6qTL_5DgOb1xTx18gJfdy7U/w640-h156/2024-03-16_12h06_07.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Additionally, in a Power Automate flow that connects to a company in this envienment we will also now see our new API.&lt;/div&gt;&lt;h2 style="text-align: left;"&gt;Writing data&lt;/h2&gt;&lt;div&gt;The API pages can be used to read and update records - the usual validation applies - but I now have access to all the fields I added during the API page creation (which was all of them!)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEium21DcoTC_saaJf7AnvOXDH_gsxFvU0of2hdpFPtrf28XI2bfdp83DyAMgLiQ_4wZEgJu_efAUzFxQYvdMjMQJd3wNHspQHa0FXL5paUIfWtgva11vqmkfbA6kJyH9onnQcDMQlzk6i08RroSkhmNki8qBS_YdvZxBYT_uU7LB4l30uWORowj/s1099/2024-03-16_12h26_08.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="912" data-original-width="1099" height="532" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEium21DcoTC_saaJf7AnvOXDH_gsxFvU0of2hdpFPtrf28XI2bfdp83DyAMgLiQ_4wZEgJu_efAUzFxQYvdMjMQJd3wNHspQHa0FXL5paUIfWtgva11vqmkfbA6kJyH9onnQcDMQlzk6i08RroSkhmNki8qBS_YdvZxBYT_uU7LB4l30uWORowj/w640-h532/2024-03-16_12h26_08.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Naturally these parameters would be better set using variables from an earlier step in the flow, perhaps reading from a row in a sharepoint list, or from an ms form etc - in this simple example I&amp;rsquo;ve just hardcoded in some text. &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Save and test the flow&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj30D2hDlOERIYBODwMUTXZAN5VDvJPLsx2917pa0tjggnKOEVvZ5haL0Be92LRvtlU1ZuqutgyLT2R4lG0Hz9lzcm4tYLu7GeWkukXvXmJtaaCChK6XKdz4ZBePuiIqtQq_E_nSC3OQnvOgiDOwd3NuARb_4kaR2aO6roiUWxGga9Sw2EkNK1W/s1136/2024-03-16_12h28_50.png"&gt;&lt;img border="0" data-original-height="834" data-original-width="1136" height="470" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj30D2hDlOERIYBODwMUTXZAN5VDvJPLsx2917pa0tjggnKOEVvZ5haL0Be92LRvtlU1ZuqutgyLT2R4lG0Hz9lzcm4tYLu7GeWkukXvXmJtaaCChK6XKdz4ZBePuiIqtQq_E_nSC3OQnvOgiDOwd3NuARb_4kaR2aO6roiUWxGga9Sw2EkNK1W/w640-h470/2024-03-16_12h28_50.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Over in BC - a new vendor as defined by the params I supplied:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY4dTjOUdKGHdc_5mbcFZQO1dJPoqyRMvB_p7efoEoJqEIzdffJ0ojA_smvaK00eTDz1ZWMs_X49_zCjUuat0aBD-_ahP7VWtttvidl9P7XC7c8n65LgvAUVZNn8bt5fkhD9RwAUbrnlQGIiAtvbku_MoIm9JzwnwvaGL6c1UKB-EuEl3aIJZC/s1906/2024-03-16_12h33_06.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="863" data-original-width="1906" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY4dTjOUdKGHdc_5mbcFZQO1dJPoqyRMvB_p7efoEoJqEIzdffJ0ojA_smvaK00eTDz1ZWMs_X49_zCjUuat0aBD-_ahP7VWtttvidl9P7XC7c8n65LgvAUVZNn8bt5fkhD9RwAUbrnlQGIiAtvbku_MoIm9JzwnwvaGL6c1UKB-EuEl3aIJZC/w640-h290/2024-03-16_12h33_06.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Shows as created by the flow owner, who naturally would need a BC license&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;h2 style="text-align: left;"&gt;Reading data&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;Data out - this API can also now be found in PowerBI for pulling out all the vendor data&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcUYcVOz-Qv9rkf9qbcmTLIo6T4EmceEuM4BIscr1WouG2hgfMbGSYNBDLXA3o4J8GjSdSoy1z_7qlqJDfoGDAwszoMyobXB_kBOQSawruTTZH4W6qOlfZDfilGafr3VLtAo3KzUGrPztBCkTwHvvJo45IniGBYpnPG1Id9Gl5rDoLvINC820w/s882/2024-03-16_12h37_30.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="702" data-original-width="882" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcUYcVOz-Qv9rkf9qbcmTLIo6T4EmceEuM4BIscr1WouG2hgfMbGSYNBDLXA3o4J8GjSdSoy1z_7qlqJDfoGDAwszoMyobXB_kBOQSawruTTZH4W6qOlfZDfilGafr3VLtAo3KzUGrPztBCkTwHvvJo45IniGBYpnPG1Id9Gl5rDoLvINC820w/w640-h510/2024-03-16_12h37_30.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD7Rv5v-Ye-PYEmPr4U1NTtflJZUITaKhNNRQmfd7qd1c6ljxRgEBn6h8pkVSgfujRzxgssV1NA7r7S5HWO20QQlabpDkXss7h70noNMJxsVX2V0ld2Gk76fqvN1x1k1dq66Owloh6WgYLDoXbY4kI8OAgSU3iFbM5EX_02tPChVFtV2Xh_E64/s1322/2024-03-16_12h38_35.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1053" data-original-width="1322" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD7Rv5v-Ye-PYEmPr4U1NTtflJZUITaKhNNRQmfd7qd1c6ljxRgEBn6h8pkVSgfujRzxgssV1NA7r7S5HWO20QQlabpDkXss7h70noNMJxsVX2V0ld2Gk76fqvN1x1k1dq66Owloh6WgYLDoXbY4kI8OAgSU3iFbM5EX_02tPChVFtV2Xh_E64/w640-h510/2024-03-16_12h38_35.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Finally if you need the full end point URL of the API page - here is how to build it up - &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://api.businesscentral.dynamics.com/v2.0/&amp;amp;lt;tenant"&gt;https://api.businesscentral.dynamics.com/v2.0/&amp;amp;lt;tenant&lt;/a&gt; Id&amp;gt;/&amp;lt;environment name&amp;gt;/api/&amp;lt;API publisher&amp;gt;/&amp;lt;API group&amp;gt;/&amp;lt;API version&amp;gt;/companies(&amp;lt;company id&amp;gt;)/&amp;lt;EntitySetName&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So we have all of that, apart from the company name which you will need to look up in BC from the companies page - get the system Id guid&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG6SXBX9Z16xG9jnNov_PFHJl0NmiQ5UcaY7QC0t9zFY6NK-4FHUMx28mC_eYs-fgHSDslDZaA4jZrCcXrpUOBrmRi1MvYUA7yLe1i7LpiUgstFGHXgqoaMC9mX4qWtTxJTlkXKF7lG-w4VLJFO53mzHy8doQeWq9RXWt70bpE9C1rJFkGmsrL/s1406/2024-03-16_12h48_56.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="767" data-original-width="1406" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG6SXBX9Z16xG9jnNov_PFHJl0NmiQ5UcaY7QC0t9zFY6NK-4FHUMx28mC_eYs-fgHSDslDZaA4jZrCcXrpUOBrmRi1MvYUA7yLe1i7LpiUgstFGHXgqoaMC9mX4qWtTxJTlkXKF7lG-w4VLJFO53mzHy8doQeWq9RXWt70bpE9C1rJFkGmsrL/w640-h350/2024-03-16_12h48_56.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is my API as a URL endpoint &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://api.businesscentral.dynamics.com/v2.0/b1c26eb6-ffc0-4887-b427-234b2db89ac4/sandbox/api/andywingate/pa/v1.0/companies(7368d553-0c5c-ee11-8df4-6045bdc89477)/vendors"&gt;https://api.businesscentral.dynamics.com/v2.0/b1c26eb6-ffc0-4887-b427-234b2db89ac4/sandbox/api/andywingate/pa/v1.0/companies(7368d553-0c5c-ee11-8df4-6045bdc89477)/vendors&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Read more about URL formatting here &lt;a href="https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-develop-custom-api"&gt;Developing a custom API - Business Central | Microsoft Learn&lt;/a&gt; &amp;amp; &lt;a href="https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/endpoints-apis-for-dynamics"&gt;Endpoints for the APIs for Microsoft Dynamics 365 Business Central - Business Central | Microsoft Learn&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tested using an OData feed in PowerBI&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIZD-adFQkY0GqDVAENqNALsw1rDY5R9AM3tmCcR11BzXX24_yMBAvAhkhcMySlJYuqHsJmP7FhkIOm6VBOqc5erxCOXhxWJqaG-sd-O3ee2aZ-9438XyWJfNIDj3yVAd3prWHJXdbdqRTJHF9aY3bXujJ5E1IjEaenca-DmeCPLPkh6mwEttJ/s1902/2024-03-16_12h56_21.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1018" data-original-width="1902" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIZD-adFQkY0GqDVAENqNALsw1rDY5R9AM3tmCcR11BzXX24_yMBAvAhkhcMySlJYuqHsJmP7FhkIOm6VBOqc5erxCOXhxWJqaG-sd-O3ee2aZ-9438XyWJfNIDj3yVAd3prWHJXdbdqRTJHF9aY3bXujJ5E1IjEaenca-DmeCPLPkh6mwEttJ/w640-h342/2024-03-16_12h56_21.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Source code of the vendor table API page here &lt;a href="https://github.com/andywingate/d365bc-api4pa"&gt;GitHub - andywingate/d365bc-api4pa&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;That&amp;rsquo;s it, give it a try!&lt;/p&gt;</description></item><item><title>Making the most of your ERP - Business Central for Operations</title><link>https://blog.wingate365.com/2023/03/making-most-of-your-erp-business.html</link><pubDate>Wed, 29 Mar 2023 07:31:00 +0000</pubDate><guid>https://blog.wingate365.com/2023/03/making-most-of-your-erp-business.html</guid><description>&lt;p&gt;
 Check out the blog post I wrote with the amazing Incremental marketing team: &lt;a
 href="https://incrementalgroup.co.uk/2023/03/22/making-the-most-out-of-your-erp-system/"&gt;Making the most out of
 your ERP system Incremental Group&lt;/a&gt; which I have re-produced below for posterity!
&lt;/p&gt;
&lt;h1&gt;Making the most out of … your ERP system&lt;/h1&gt;
&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;
 This week we share the third blog in our series: 'Making the most of the Microsoft technology stack', showcasing the
 power of the Microsoft stack in delivering innovative, hybrid solutions to fit your organisation's needs.
&lt;/p&gt;</description></item></channel></rss>