Launching a Power Pages Self-Service Channel in 90 Days When Sales Has Already Promised It
A decision guide for a portal with a hard date and a locked budget: what to cut, the week by week plan, and the traps that sink fixed-date Power Pages launches.
A 90-day Power Pages launch works only if you cut it to one authenticated journey, one Dataverse table set and one integration, and nothing else. Week 1 is environments, identity and ALM. Table permissions and web roles are designed in weeks 2 and 3, before any page design. The single client-critical flow is built and load-checked at realistic concurrency by week 8, content and UAT fill weeks 9 to 11, and the last fortnight is go live and hypercare. What kills these launches is predictable: permissions designed last, authenticated user licensing discovered at UAT, content migration left to the end, and a portal never tested at the traffic the sales promise implies.
What has to be cut to launch Power Pages in 90 days?
Almost everything that was implied in the sales conversation. Ninety days is enough for a solid first release of a self-service channel, and not enough for a portal that does everything customers might want. The fixed date and the fixed budget are not negotiable, so scope is the only variable left. Agree the cut in writing in week 1, with whoever made the promise in the room, and treat every later addition as a trade for something already in scope.
Before committing to the date, confirm Power Pages is the right route at all. Our comparison of Power Pages, guest accounts and a custom front end covers that decision; this page assumes it has been made.
| Keep in release one | Cut to release two or later |
|---|---|
| One authenticated journey end to end, for example log a case and track its status, or submit and track an application. | A second or third journey, however small it looks, and partner or employee audiences alongside customers. |
| One Dataverse table set: the parent table the journey is about, its child tables, contact and account. | Exposing further tables "because the data is already there". |
| One integration, the one the journey cannot work without. | Every other system the portal could read from or write to. |
| One identity provider and one language. | Social sign-in options, single sign-on for a second audience, multilingual content. |
| The content customers need to complete the journey: help text, a short FAQ, terms, privacy notice. | Migrating a whole legacy website or knowledge base into the portal. |
| Branding applied through the theme and templates. | Bespoke interactive screens that need custom code on every page. |
What does the week by week plan look like?
The order matters more than the exact weeks. Each phase removes a risk the next phase would otherwise inherit, and the two phases teams most want to skip, permissions and load checking, are the ones that decide whether the launch survives its first busy week.
| Weeks | Work | Exit criterion |
|---|---|---|
| 1 | Development, test and production environments; the site provisioned; solution, publisher and pipeline set up; identity provider chosen and connected; scope cut signed off. | A trivial change moves from development to test through the pipeline, and a test contact can sign in. |
| 2 to 3 | Data model for the one table set; table permissions and web roles designed per audience; integration contract agreed; licensing volume model drafted. | A written permission matrix per role and table, reviewed, and a first multi-account permission test passing on bare pages. |
| 4 to 7 | The journey built: pages, lists, forms, Liquid where needed, the integration and the flows behind submit; content drafted in parallel. | The journey works end to end in test with realistic data, as a real external user. |
| 8 | Load check of the client-critical flow at the concurrency the launch implies; fixes to caching, queries and flow design. | The flow holds at the target concurrency with acceptable response times, or the scope or launch plan has been adjusted. |
| 9 to 11 | Content finalised and loaded; UAT with real customer representatives; security scan and permission test matrix; support process and runbook. | UAT signed off, no open high severity defects, permission evidence recorded. |
| 12 to 13 | Go live, hypercare with daily triage, fixes released through the pipeline, handover to support. | Stable operation, known issues logged, release two backlog prioritised. |
Why must environments and ALM be ready in week 1?
Because every change after week 1 has to reach test and production somehow, and a portal assembled by hand in one environment cannot be promoted safely at the end. Put the site and its Dataverse components in a solution from the first day, set up the pipeline, and prove it with a trivial change before any real build starts. Environment variables and connection references for the integration belong in that first week too, so development values never reach production.
The command level detail, from exporting and unpacking solutions to deployment settings files and pipelines, is in our guide to moving Power Platform ALM from manual ZIP files to PAC CLI and pipelines. For a fixed date launch the point is simpler: a late ALM setup costs the weeks you do not have, and hand-made production fixes during hypercare become the defects of release two.
Why must table permissions and web roles come before page design?
Because they decide which rows every list, form, Liquid query and Web API call can return, and retrofitting them onto finished pages means reworking those pages. Teams that design pages first typically make lists "work" with broad permissions and plan to tighten them later. Later is UAT, where tightening breaks pages, and the temptation is to ship the broad version.
In weeks 2 and 3, write the permission matrix: for each audience, each web role, each table, the access type (Contact, Account, Parent, Self or Global) and the privileges. Keep customer data off the built-in Authenticated Users and Anonymous Users roles. Then test it on bare pages with contacts from two different accounts before design begins. What goes wrong when this is skipped, and how to contain it, is set out in our Power Pages table permissions data leak guide.
How do you choose the one journey and the one integration?
Choose the journey that fulfils the promise sales actually made, stated as a customer outcome, not as a list of pages. If the promise was "customers can see where their request is", the journey is sign in, submit or find a request, see its status and add information. For a service portal that journey sits on the case process in Dynamics 365 Customer Service, and it is only as good as the queues, statuses and notifications behind it.
- The journey should be completable end to end without a phone call; a portal that ends with "we will contact you" is not self-service.
- The integration is the one without which the journey is false, for example an order status held in another system; everything else can be linked to, not integrated.
- Define the integration contract early: which data, which direction, how fresh, and what the portal shows when the other system is unavailable.
- Prefer reading integrated data into Dataverse over live calls from the page when freshness allows, since it keeps page response times under your control.
- Write the case or request statuses the customer will see in plain language, and map internal statuses onto them.
How do you check the portal holds up at the concurrency sales promised?
Turn the promise into numbers first: how many customers will be invited, what share will sign in during the launch week or a deadline, and how many will attempt the critical flow at the same time. A launch email to the whole customer base, a renewal date or a regulatory deadline can bring a large part of it in on the same morning.
By week 8, test the critical flow, not the home page, at that concurrency in a non production site with production-like data volumes, and follow Microsoft's current guidance for load testing Power Pages before you run it. Look at page response times, the Dataverse queries behind lists, plug-ins and flows triggered on submit, and the integration under load.
- Lists that filter or sort on columns without a sensible view design get slower as data grows.
- Synchronous plug-ins or real-time workflows on submit add their time to every customer's wait.
- Flows behind the form run asynchronously; decide what the customer sees while they run.
- Live calls to the integrated system inherit that system's limits and outages.
- If the numbers do not hold, stagger invitations or change the design in week 8, not on launch day.
How is Power Pages licensed, and why does it surprise teams at UAT?
Power Pages is licensed per website per month by capacity: authenticated users, counted as unique people who sign in to that site in the month, and anonymous users, counted as unique visitors who use the site without signing in. Capacity is bought as prepaid capacity packs or paid as you go through an Azure subscription, and internal users who already hold qualifying Power Apps or Dynamics 365 licences generally do not consume it. We do not quote prices, and Microsoft revises definitions and minimums, so check current Microsoft licensing before you budget.
The surprise arrives at UAT when someone finally multiplies the invited customer base by the sign-in pattern the promise implies. Build the volume model in weeks 2 and 3: expected monthly unique sign-ins per site, the peak month, anonymous traffic on pages that read Dataverse, and how many sites you will run. More on how capacity scales with audience size is in the portal route comparison.
What kills a 90-day Power Pages launch?
The failures are predictable, which is why they are avoidable. Each one below moves a hard problem to the end of the plan, where it meets the fixed date.
| What kills it | How it shows up | Prevention |
|---|---|---|
| Table permissions designed last | Pages rework at UAT, or a launch with broad permissions and a data exposure afterwards. | Permission matrix and multi-account tests in weeks 2 and 3. |
| Per-login licensing discovered at UAT | A budget gap nobody approved, a delayed launch or a quietly reduced audience. | Volume model and licensing check in weeks 2 and 3, confirmed with your licensing partner. |
| Content migration left to the end | Pages ready, no approved text, terms or help content; legal review in the final week. | Content owner named in week 1, drafting from week 4, approval before UAT. |
| Never tested at the promised concurrency | Slow or failing submits on launch morning, when every invited customer arrives together. | Load check of the critical flow by week 8. |
| Scope added after week 3 | The one journey half finished alongside a second one. | Written scope cut; every addition traded for something removed. |
| No ALM | Hand-made fixes in production during hypercare, overwritten by the next deployment. | Pipeline proven in week 1. |
| Back office not ready | Customers submit requests that land in a queue nobody works. | Queues, statuses, notifications and owners agreed before build. |
What should hypercare cover in the last fortnight?
Hypercare is planned work, not the time left over. Set it up before launch so the first two weeks of real customers produce fixes and evidence rather than noise.
- A daily triage with the product owner, the build team and service desk lead, reviewing portal errors, failed flows and customer contacts about the portal.
- Monitoring in place before launch: flow run failures alerted to a named owner, integration errors visible, and site telemetry if you have configured it.
- Fixes released through the pipeline, never edited directly in production.
- A watch on sign-in and registration problems, which are the most visible failures to customers.
- Actual monthly authenticated users tracked against the licensing volume model.
- A dated handover to the team that will support the portal, with the runbook and the release two backlog.
When is Power Pages the wrong choice for a fixed-date promise?
When the promise describes a product experience rather than a service journey, when the audience model makes Microsoft licensing uneconomic, or when the data the journey needs does not live in, and cannot reasonably be brought into, Dataverse. In those cases a 90-day Power Pages plan meets the date by missing the point.
We recommend the right solution - whether that's Microsoft Dynamics 365, Power Platform, or a custom-built CRM. Some businesses need the Microsoft ecosystem. Others need full control without licensing. We deliver both. Where Microsoft licensing does not fit the audience, a custom-built CRM and portal on React, Node.js, PostgreSQL or .NET can be scoped to the same fixed date, with its own trade offs in hosting and long term ownership.
Should your self-service channel run on Power Pages or on a custom platform you own?
Can afford licensing and want the Microsoft ecosystem
Dynamics 365
Microsoft 365, Teams and Outlook integration, a mature partner ecosystem, Copilot, and apps for sales, service and field operations that are configured rather than built.
Need full control and zero licensing
Custom CRM
A CRM built on React, Node.js, PostgreSQL or .NET that you own outright: your data model, your hosting, no per-user subscription, and features shaped exactly to your process.
Not sure which fits
We help you decide
A short discovery weighs licensing budget, process complexity, integrations and long-term ownership, then recommends one path. We deliver both, so the recommendation has no reason to lean.
How does Solzet deliver a fixed-date Power Pages launch?
We start with a short scoping workshop that produces the written scope cut, the permission matrix outline, the licensing volume model and the week by week plan, and we say plainly if the date cannot be met with the scope on the table. Then our senior consultants and full-stack developers build in the order of this page, with the pipeline running from week 1, a load check by week 8 and hypercare planned before launch.
The full scope of our Power Pages work, from identity and Liquid to PCF controls in portal forms, is described in our Power Platform development service. Solzet delivers remotely from Yerevan, Armenia, with 8+ years of Dynamics 365 Customer Engagement and Power Platform work, directly or white-label for Microsoft partners.
What do people ask us?
Can a Power Pages customer portal on Dynamics 365 launch in three months?
Yes, if the first release is cut to one authenticated journey, one Dataverse table set and one integration. Set up environments and ALM in week 1, design table permissions and web roles in weeks 2 and 3, build the journey and load-check the critical flow by week 8, run content and UAT in weeks 9 to 11, and use the last fortnight for go live and hypercare.
What should be left out of a first Power Pages release?
Second and third journeys, extra audiences such as partners alongside customers, tables exposed just because the data exists, every integration except the one the journey depends on, multilingual content, additional sign-in options and full website or knowledge base migration. Each of these is a reasonable release two item, and each added to release one takes time from permissions, load checking or UAT.
Why design Power Pages table permissions before the pages?
Table permissions decide which rows every list, form, Liquid query and Web API call returns. When pages come first, teams make lists work with broad permissions and plan to tighten them later, which breaks pages at UAT or ships a data exposure. A permission matrix per role and table, tested with contacts from two accounts in weeks 2 and 3, avoids both.
How is Power Pages licensed for a customer portal?
Per website per month by capacity: authenticated users are unique people who sign in to the site in a month, and anonymous users are unique visitors who do not sign in. Capacity is bought as packs or paid as you go through Azure, and internal users with qualifying licences generally do not consume it. Solzet does not quote Microsoft prices; check current Microsoft licensing before budgeting.
How do we load test a Power Pages portal before launch?
Estimate the peak concurrency the launch implies, then test the critical flow, not the home page, at that level in a non production site with production-like data, following Microsoft's current guidance for load testing Power Pages. Watch list queries, plug-ins and flows on submit, and the integration. Do it by week 8 so there is time to change the design or stagger invitations.
What most often delays a Power Pages go live?
Table permissions designed last, licensing costs discovered at UAT, approved content arriving in the final week, scope added after the plan was set, and no pipeline, so fixes are made by hand in production. A back office that is not ready to work the requests the portal creates also delays launch, because the channel cannot be switched on without someone behind it.
Should the first Power Pages release include a full knowledge base?
Usually not. Include the content customers need to complete the one journey: help text, a short FAQ, terms and a privacy notice, with an owner named in week 1 and approval before UAT. Migrating a full knowledge base or legacy website means content review, restructuring and legal checks that rarely fit a 90-day plan, so schedule it for release two.
Where should you go next?
Power Platform development, including Power Pages
What a Power Pages build covers: journeys, identity, table permissions and web roles, integrations and ALM.
Customer portal: Power Pages or custom front end
Whether Power Pages, guest accounts or a React front end is the right route, including licensing at scale.
Power Pages table permissions data leak
Containing a leak and building table permissions and web roles correctly.
Power Platform ALM with PAC CLI and pipelines
Replacing manual solution export and import with source control and a release pipeline.
Dynamics 365 Customer Service
The case process, queues and SLAs a self-service portal sits in front of.
Custom CRM Development
CRM and portals on React, Node.js, PostgreSQL and .NET for organizations that need full control without Microsoft licensing.
Which solution is right for your business?
Tell us what you need. A senior consultant replies within one business day with a recommendation - Dynamics 365, Power Platform, or a custom-built CRM - not a sales script.