{"id":38951,"date":"2024-08-16T16:53:21","date_gmt":"2024-08-16T11:23:21","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=38951"},"modified":"2024-08-16T16:53:21","modified_gmt":"2024-08-16T11:23:21","slug":"building-websites-in-dynamics-365-using-external-data-sources","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2024\/08\/building-websites-in-dynamics-365-using-external-data-sources\/","title":{"rendered":"Building Websites in Dynamics 365 Using External Data Sources"},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignnone wp-image-38952 size-full\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-Using-External-Data-Sources.png\" alt=\"Building Websites in Dynamics 365 Using External Data Sources\" width=\"1400\" height=\"800\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-Using-External-Data-Sources.png 1400w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-Using-External-Data-Sources-300x171.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-Using-External-Data-Sources-1024x585.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-Using-External-Data-Sources-768x439.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-Using-External-Data-Sources-660x377.png 660w\" sizes=\"(max-width: 1400px) 100vw, 1400px\" \/><\/p>\n<p style=\"text-align: justify;\">Nowadays, Power Pages sites are gaining popularity for their responsive design interface, security features, and built-in templates. <a href=\"https:\/\/www.inogic.com\/services\/microsoft-power-platform\/microsoft-power-pages\/\" target=\"_blank\" rel=\"noopener\">Power Pages<\/a> allow users to create professional websites using Dynamics 365 data and services. However, not all data may reside in Dynamics 365, and replicating structures solely for Power Pages can be time-consuming and impractical. This limitation restricts Power Pages to using only Dynamics 365 data.<\/p>\n<p style=\"text-align: justify;\">In a recent Microsoft update, it&#8217;s now possible to integrate external data sources such as SQL Server or Microsoft Fabric into Power Pages websites. This blog will discuss using SQL data for Power Pages sites.<\/p>\n<p style=\"text-align: justify;\">Consider an IT Helpdesk scenario where ticket management occurs in SQL, and IT agents update ticket statuses directly from SQL. They aim for a centralized system where users can log tickets, which are then synchronized with SQL for IT agents to process.<\/p>\n<p style=\"text-align: justify;\">In this use case, the centralized system referred to is the Power Pages Site. Each user has their login to log tickets, which are automatically synced with SQL without requiring additional integration setup.<\/p>\n<p style=\"text-align: justify;\">To achieve this, we first need to create virtual tables for entities like Accounts, Contacts, Tickets, and Users within Power Pages.<\/p>\n<p style=\"text-align: justify;\">Within your solution, click on &#8220;New&#8221; and then choose &#8220;Table from external data&#8221;.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-38954 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-1.png\" alt=\"Building Websites in Dynamics 365 \" width=\"618\" height=\"354\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-1.png 618w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-1-300x172.png 300w\" sizes=\"(max-width: 618px) 100vw, 618px\" \/><\/p>\n<p style=\"text-align: justify;\">Then it will new page and will ask you for a connection, so we will click on new to add a new connection.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-38953 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-2.png\" alt=\"Building Websites in Dynamics 365 \" width=\"976\" height=\"488\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-2.png 976w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-2-300x150.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-2-768x384.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-2-660x330.png 660w\" sizes=\"(max-width: 976px) 100vw, 976px\" \/><\/p>\n<p style=\"text-align: justify;\">Here you can select the data source which you want to connect. In our case, we will select SQL server as we have data stored in SQL Server.<\/p>\n<p style=\"text-align: justify;\">Then add in the connection details like Server name, Database name Username, Password, etc. Also, select the gateway which will have access to this server and database in SQL.<\/p>\n<p style=\"text-align: justify;\"><em><strong>Note<\/strong><\/em>: If your SQL server is hosted in a local machine or any on-premise machine then you need to setup an On-Premise Gateway on the machine to establish a connection with Dynamics 365. You can refer to the below link for setting up and installing the on-premise gateway on the local machine.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/data-integration\/gateway\/service-gateway-install#download-and-install-a-standard-gateway\" target=\"_blank\" rel=\"noopener\">https:\/\/learn.microsoft.com\/en-us\/data-integration\/gateway\/service-gateway-install#download-and-install-a-standard-gateway<\/a><\/p>\n<p style=\"text-align: justify;\">Now once the connection is added, you can select the connection and click on next to fetch the tables available in the external data source.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignright wp-image-38955 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-3.png\" alt=\"Building Websites in Dynamics 365 \" width=\"1011\" height=\"762\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-3.png 1011w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-3-300x226.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-3-768x579.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-3-660x497.png 660w\" sizes=\"(max-width: 1011px) 100vw, 1011px\" \/><\/p>\n<p style=\"text-align: justify;\">The tables available in the database will automatically be loaded.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-38956 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-4.png\" alt=\"Building Websites in Dynamics 365 \" width=\"1009\" height=\"754\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-4.png 1009w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-4-300x224.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-4-768x574.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-4-660x493.png 660w\" sizes=\"(max-width: 1009px) 100vw, 1009px\" \/><\/p>\n<p style=\"text-align: justify;\">Now we need the Cases table, so we will select the cases from the available tables. Now once you select the table it will take you through the configuration page and automatically populates the mapping for the virtual table with the SQL server table.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-38957 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-5.png\" alt=\"Building Websites in Dynamics 365 \" width=\"1139\" height=\"764\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-5.png 1139w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-5-300x201.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-5-1024x687.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-5-768x515.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-5-660x443.png 660w\" sizes=\"(max-width: 1139px) 100vw, 1139px\" \/><\/p>\n<p style=\"text-align: justify;\">When you click on next, your table will be added as the virtual table in Dynamics 365. Similarly, we will add the Accounts, Contacts, and Users table.<\/p>\n<p style=\"text-align: justify;\">The virtual table created in CRM will be an exact replica of the columns in the SQL server table. You cannot add new columns in the table.<\/p>\n<p style=\"text-align: justify;\">But you can design the form and views for the virtual table as per your need in CRM.<\/p>\n<p style=\"text-align: justify;\">Now we will go to the Power Page site and enable the virtual entity for the Power Pages site.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-38958 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-6.png\" alt=\"Building Websites in Dynamics 365 \" width=\"1201\" height=\"575\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-6.png 1201w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-6-300x144.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-6-1024x490.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-6-768x368.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-6-660x316.png 660w\" sizes=\"(max-width: 1201px) 100vw, 1201px\" \/><\/p>\n<p style=\"text-align: justify;\">Now will add a new page and create a new entity list targeting to Cases table in CRM.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-38959 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-7.png\" alt=\"Building Websites in Dynamics 365 \" width=\"1440\" height=\"776\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-7.png 1440w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-7-300x162.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-7-1024x552.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-7-768x414.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-7-660x356.png 660w\" sizes=\"(max-width: 1440px) 100vw, 1440px\" \/><\/p>\n<p style=\"text-align: justify;\">Similarly, you can create basic forms of mode create and edit to allow case creation and modification from the power pages site.<\/p>\n<p style=\"text-align: justify;\">Once the configuration is done, sync the changes to reflect it on the power pages site.<\/p>\n<p style=\"text-align: justify;\">Now we will login using the user credentials and log the ticket and see how it is getting synced with SQL.<\/p>\n<p style=\"text-align: justify;\">We have logged in with one of the users and currently, we don\u2019t have any cases so it\u2019s showing blank on the portal.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-38960 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-8.png\" alt=\"Building Websites in Dynamics 365 \" width=\"1424\" height=\"773\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-8.png 1424w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-8-300x163.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-8-1024x556.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-8-768x417.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-8-660x358.png 660w\" sizes=\"(max-width: 1424px) 100vw, 1424px\" \/><\/p>\n<p style=\"text-align: justify;\">So now we will create a case from the portal.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-38961 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-9.png\" alt=\"Building Websites in Dynamics 365 \" width=\"808\" height=\"723\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-9.png 808w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-9-300x268.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-9-768x687.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-9-660x591.png 660w\" sizes=\"(max-width: 808px) 100vw, 808px\" \/><\/p>\n<p style=\"text-align: justify;\">Once the case is created, it gets auto-synced with the SQL server.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-38962 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-10.png\" alt=\"Building Websites in Dynamics 365 \" width=\"906\" height=\"130\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-10.png 906w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-10-300x43.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-10-768x110.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-10-660x95.png 660w\" sizes=\"(max-width: 906px) 100vw, 906px\" \/><\/p>\n<p style=\"text-align: justify;\">The contact ID gets auto-set from the currently logged-in user and the case ID gets generated when the case is created and that is sent to the SQL server.<\/p>\n<p style=\"text-align: justify;\">Similarly, it works for update and delete as well.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-38963 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-11.png\" alt=\"Building Websites in Dynamics 365 \" width=\"1364\" height=\"429\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-11.png 1364w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-11-300x94.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-11-1024x322.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-11-768x242.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-11-660x208.png 660w\" sizes=\"(max-width: 1364px) 100vw, 1364px\" \/><\/p>\n<p style=\"text-align: justify;\">The case got deleted from the SQL server as well.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-38964 size-full\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-12.png\" alt=\"Building Websites in Dynamics 365 \" width=\"907\" height=\"164\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-12.png 907w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-12-300x54.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-12-768x139.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/08\/Building-Websites-in-Dynamics-365-12-660x119.png 660w\" sizes=\"(max-width: 907px) 100vw, 907px\" \/><\/p>\n<h2 style=\"text-align: justify;\"><strong>Conclusion<\/strong>:<\/h2>\n<p style=\"text-align: justify;\">Integrating external data sources in Dynamics 365 Power Pages enables dynamic website creation with centralized data management and seamless synchronization.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.inogic.com\/product\/productivity-apps\/dynamics-365-crm-sharepoint-security-metadata-sync\/\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"alignnone wp-image-36292 size-full\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2023\/10\/SharePoint-Security-Sync.gif\" alt=\"SharePoint Security Sync\" width=\"800\" height=\"200\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nowadays, Power Pages sites are gaining popularity for their responsive design interface, security features, and built-in templates. Power Pages allow users to create professional websites using Dynamics 365 data and services. However, not all data may reside in Dynamics 365, and replicating structures solely for Power Pages can be time-consuming and impractical. This limitation restricts\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2024\/08\/building-websites-in-dynamics-365-using-external-data-sources\/\">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":[16,2763],"tags":[2921],"class_list":["post-38951","post","type-post","status-publish","format-standard","hentry","category-dynamics-365","category-power-pages","tag-building-websites"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/38951","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=38951"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/38951\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=38951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=38951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=38951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}