{"id":31206,"date":"2026-08-20T16:18:04","date_gmt":"2026-08-20T14:18:04","guid":{"rendered":"https:\/\/dynamics4business.nl\/?p=31206"},"modified":"2026-08-21T10:58:25","modified_gmt":"2026-08-21T08:58:25","slug":"customer-portal-power-pages","status":"publish","type":"post","link":"https:\/\/dynamics4business.nl\/en\/blogs\/klantportal-power-pages\/","title":{"rendered":"Customer portals: why they often get left on the shelf and how to make them work now"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><em>Author:<em> Jeannot Thewissen, consultant at Dynamics4Business<\/em><\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Many organizations want a customer portal. Not because it is \u201cnice,\u201d but because it solves a problem. Customers who want to view their own data. Want to track orders. Want to retrieve documents without the intervention of support.<br><br>The need is clear. But as soon as it becomes concrete, doubt arises. In practice, this often causes it to be left on the shelf. Not because the idea isn't good, but because there is no simple, scalable way to realize it.<br><br>We recognized that too. And honestly, we didn't always have a good answer for it.<br><br>The combination of Microsoft Power Pages, modern web technologies, and AI tooling now makes this possible. Where you once had to choose between speed with limitations or flexibility with complexity, a third option is now emerging.<\/p>\n\n\n\n<h2 id=\"h-de-beperking-van-standaard-power-pages\" class=\"wp-block-heading\"><strong>The limitation of standard Power Pages<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Within the Power Platform, Power Pages is the logical foundation for portals. Much is already taken care of: security via Microsoft Entra ID, data via Microsoft Dataverse, and permissions via web roles. For simple scenarios it works just fine.<br><br>However, as soon as requests arise for things like a custom interface, dynamic interaction with data, or more control over the user experience, you quickly face limitations.<\/p>\n\n\n\n<h2 id=\"h-de-oplossing-een-single-page-application-bovenop-power-pages\" class=\"wp-block-heading\"><strong>The solution: a Single Page Application on top of Power Pages<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The solution we have researched and tested is combining Power Pages with a Single Page Application, abbreviated as SPA.<br><br>A SPA loads once and then dynamically updates the content without reloading the entire page. The result feels like an application, not a website. Think of how Outlook Web works: you navigate through your mail without the whole page reloading every time.<br><br>By building an SPA with modern web technology, on top of Power Pages, you combine flexibility with the power of the platform.<\/p>\n\n\n\n<h2 id=\"h-waarom-dit-werkt\" class=\"wp-block-heading\"><strong>Why this works<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The strength of this approach lies in the combination. Power Pages takes care of the foundation: authentication, security, data access, and hosting. The SPA layer adds interface flexibility, a better user experience, and more control over behavior and interaction.<br><br>For an IT manager, this translates into concrete benefits: less customization in the core, fewer management requirements and dependencies, faster results with lower risk, and a solution that scales easily across multiple portals.<\/p>\n\n\n\n<h2 id=\"h-power-pages-of-zelf-hosten-in-azure\" class=\"wp-block-heading\"><strong>Power Pages or self-hosting in Azure?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A question that frequently arises: when do you choose Power Pages and when do you self-host in Azure?<br><br>Power Pages with an SPA is quick to set up, fully integrated with the Power Platform, and involves less management and complexity. Self-hosting in Azure gives you maximum control over both the code and the environment, but it also comes with greater technical responsibility. You need to build and manage the APIs yourself, configure security, and handle access control.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"483\" src=\"https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-e1787236063331-1024x483.png\" alt=\"\" class=\"wp-image-31216\" srcset=\"https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-e1787236063331-1024x483.png 1024w, https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-e1787236063331-300x141.png 300w, https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-e1787236063331-768x362.png 768w, https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-e1787236063331-18x8.png 18w, https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-e1787236063331.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 id=\"h-hoe-snel-je-iets-werkends-hebt\" class=\"wp-block-heading\"><strong>How quickly you have something that works<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One of the most striking findings: in a controlled setting, you can lay a foundation within just a few hours, including authentication and data integration. In practice, you can build a first working version surprisingly fast, including login via Microsoft Entra, integration with Dataverse, a basic interface, and security roles.<br><br>That changes the playing field. You can start, test, and adjust faster before investing heavily. No lengthy upfront processes, but quickly having something that works. And therefore, faster value and faster insight into what does and doesn't work.<\/p>\n\n\n\n<h2 id=\"h-wat-je-in-de-praktijk-tegenkomt\" class=\"wp-block-heading\"><strong>What you encounter in practice<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Building with new technology also means learning where things can go wrong. That is precisely the knowledge we gain by doing it ourselves.<br><br><em>\u201eMicrosoft's instructions were simply wrong at one point. If you activate the site from Visual Studio as they describe, it goes wrong. It has to be done through the portal itself.\u201d<\/em><br><br>This kind of knowledge comes not from theory, but from experience.<\/p>\n\n\n\n<h2 id=\"h-is-dit-geschikt-voor-elke-organisatie\" class=\"wp-block-heading\"><strong>Is this suitable for every organization?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Not necessarily. This way of building requires a different approach from traditional Power Platform projects. You are moving closer to pro-code development and need to understand what is happening under the hood.<br><br>At the same time, you can see that low-code and pro-code are growing closer together. With tools like GitHub Copilot, that step is becoming increasingly accessible. Experience shows that with the right guidance, this is very doable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" data-src=\"https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-1-1024x683.png\" alt=\"\" class=\"wp-image-31218 lazyload\" data-srcset=\"https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-1-1024x683.png 1024w, https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-1-300x200.png 300w, https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-1-768x512.png 768w, https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-1-18x12.png 18w, https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/image-1.png 1536w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/683;\" \/><\/figure>\n\n\n\n<h2 id=\"h-wanneer-is-dit-interessant\" class=\"wp-block-heading\"><strong>When is this interesting?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This works best when external users need access to data that is already in Dataverse and speed and manageability are important. Think of customers who want to track orders or statuses, partners who need documents, or employees who work outside the office.<br><br>Is complete control over hosting required, is there no development capacity available, or must the solution work outside the Microsoft ecosystem? Then a fully self-hosted solution makes more sense.<\/p>\n\n\n\n<h2 id=\"h-zo-ziet-het-er-in-de-praktijk-uit\" class=\"wp-block-heading\"><strong>This is what it looks like in practice<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Putting together an initial version quickly is one thing. Ultimately, it is about making it easier for customers or other external users to access the information that is relevant to them themselves, while as an organization you maintain control over access, security, and management.<br><br>Would you like to see what such a customer portal can look like in practice? In the video below, we briefly show the result of our technical exploration.<br><br>You do not see how the portal is built technically, but rather what a user experiences: a modern, user-friendly environment in which information from the Power Platform is made available in an accessible way.<\/p>\n\n\n\n<h2 id=\"h-bekijk-het-voorbeeld-in-de-praktijk\" class=\"wp-block-heading\"><strong>See the example in practice<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/dynamics4business.nl\/wp-content\/uploads\/2026\/08\/Basic-Portal-Demo.mp4\"><\/video><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The video shows an example of what is possible. What a customer portal will ultimately look like and which functionalities are available naturally depends on the processes, users, and wishes of the organization.<\/p>\n\n\n\n<h2 id=\"h-de-volgende-stap\" class=\"wp-block-heading\"><strong>The next step<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Are you unsure whether a customer portal suits your situation? Or would you like to discuss the possibilities? We are happy to think along with you. No strings attached, but with honest advice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>Auteur: Jeannot Thewissen, consultant bij Dynamics4Business Veel organisaties willen een klantportal. Niet omdat het \u201cmooi\u201d is, maar omdat het iets oplost. Klanten die zelf hun gegevens willen inzien. Orders willen volgen. Documenten willen ophalen zonder tussenkomst van support. De behoefte is duidelijk. Maar zodra het concreet wordt, ontstaat er twijfel. In de praktijk blijft het [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":28376,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[142],"tags":[],"class_list":["post-31206","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blogs"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Klantportal bouwen met Power Pages | sneller en schaalbaar<\/title>\n<meta name=\"description\" content=\"Klantportal bouwen met Power Pages en SPA? Ontdek hoe je sneller live gaat met minder complexiteit en beheer.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dynamics4business.nl\/en\/blogs\/customer-portal-power-pages\/\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dynamics4business.nl\\\/blogs\\\/klantportal-power-pages\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dynamics4business.nl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Klantportals: waarom het vaak blijft liggen en hoe het nu wel werkt\"}]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Building a customer portal with Power Pages | faster and scalable","description":"Building a customer portal with Power Pages and SPA? Discover how to go live faster with less complexity and management.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dynamics4business.nl\/en\/blogs\/customer-portal-power-pages\/","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/dynamics4business.nl\/blogs\/klantportal-power-pages\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dynamics4business.nl\/"},{"@type":"ListItem","position":2,"name":"Klantportals: waarom het vaak blijft liggen en hoe het nu wel werkt"}]}]}},"_links":{"self":[{"href":"https:\/\/dynamics4business.nl\/en\/wp-json\/wp\/v2\/posts\/31206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dynamics4business.nl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dynamics4business.nl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dynamics4business.nl\/en\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/dynamics4business.nl\/en\/wp-json\/wp\/v2\/comments?post=31206"}],"version-history":[{"count":9,"href":"https:\/\/dynamics4business.nl\/en\/wp-json\/wp\/v2\/posts\/31206\/revisions"}],"predecessor-version":[{"id":31226,"href":"https:\/\/dynamics4business.nl\/en\/wp-json\/wp\/v2\/posts\/31206\/revisions\/31226"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dynamics4business.nl\/en\/wp-json\/wp\/v2\/media\/28376"}],"wp:attachment":[{"href":"https:\/\/dynamics4business.nl\/en\/wp-json\/wp\/v2\/media?parent=31206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dynamics4business.nl\/en\/wp-json\/wp\/v2\/categories?post=31206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dynamics4business.nl\/en\/wp-json\/wp\/v2\/tags?post=31206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}