When SharePoint Is Not the Right Platform: Enterprise Signs
When SharePoint Is Not the Right Platform: Enterprise Signs Your Application Needs a Custom or Hybrid Architecture
By Michael Branson | August 23, 2026
Quick answer. When SharePoint is not the right platform, one of four conditions that cannot be designed around forces a custom or hybrid architecture. They are transactional and relational data, list volume past design limits, external users operating the system at scale, and workflow heavy enough to be the application.
Almost no enterprise application running on SharePoint was planned as one. A tracking list gets a form, the form gets a flow, the flow gets three more lists, and five years later a business process that moves real money runs on a platform that was bought for documents. Most people who reach this page are standing in front of that system: a SharePoint owner fielding performance complaints, an IT director asked for one more workaround, an application manager who suspects the honest answer is a rebuild. This page sets out the conditions under which SharePoint stops being the right application platform, the mechanism behind each, and a test you can run this week.
What This Page Decides, and What It Hands Off
This page answers one question: whether a specific solution has moved outside what SharePoint should carry as an application platform. It does not compare platforms feature by feature, it does not pick the replacement, and it does not price anything. Those are separate decisions with their own pages.
If the verdict lands on a rebuild, the next decision is which platform carries it, and that comparison is worked through in Power Apps vs. Custom .NET: Decision Guide. If the answer is low-code, the shape of the app is a within-platform decision, set out in Canvas vs Model Driven Apps in Regulated Microsoft Environments. The custom path itself runs through Custom Application Development Services for Enterprise Performance, described there rather than here.
Two boundaries this page holds deliberately. Where the question is only where a dataset should live, worked across Excel, lists, and other data platforms, that decision is covered in SharePoint List vs Excel: Best Choice for Enterprise IT Teams; this page assumes the dataset is already inside an application and asks whether the application belongs on SharePoint. And nothing here is about permissions, oversharing, or Copilot readiness; that work has its own sequence.
What remains is the negative space: four disqualifying conditions, the mechanism behind each, and a test. A condition that fires says the requirement has outgrown what the platform was built to hold. That is not yet a rebuild verdict, and what follows is three routes plus one honest exit: narrow the scope and stay, go hybrid, commission the build, or hear that this is not work for i3solutions.
When SharePoint Is Still the Right Platform
A disqualification list is worth nothing without the qualification list beside it. SharePoint holds an enormous class of enterprise work well, and moving that work into custom code buys a maintenance obligation nobody asked for.
The platform fits when the work is document-centric and collaborative: intranets, team sites, document management, records and retention, publishing, search across content, and the long tail of lightweight tracking lists that support a process without being the process. It fits partner collaboration too. Exchanging documents with external organizations under governed sharing is what the platform’s external access model was designed for, and that pattern, including the dedicated partner portal case, is covered in SharePoint Extranet and Partner Portals for Large Enterprises.
SharePoint also fits when the honest alternative is nothing at all. A list-and-form solution a business unit stands up in a week, under governance IT accepts, beats a backlog item nobody staffs.
One thing to do before reading further. Write down the requirement causing the argument in one sentence with the numbers attached: how many items, how many users, what the data represents, what breaks if a write is lost. If you cannot write that sentence, discovery comes first.
SharePoint as a Database: The Transactional and Relational Wall
The first condition is the one named by the phrase behind the argument: we are using SharePoint as a database. A SharePoint list stores rows and columns, so it looks like a table. The resemblance holds right up until something depends on it.
A list gives you no transaction. When one business action must write to three lists, there is no mechanism that makes those writes succeed or fail together. A flow that writes the first two and dies before the third leaves the data half-committed, and nothing flags it. Teams compensate with retry logic and cleanup flows, then add a reconciliation list once those two disagree, which is how a simple process ends up with workarounds stacked on workarounds.
Relational depth fails differently, and the honest version is narrower than the claim usually made in the room. Lookup columns do model relationships, and SharePoint will enforce them up to a point: Microsoft’s Create list relationships by using unique and lookup columns guidance documents that “you can check Enforce relationship behavior then select either Restrict delete or Cascade delete,” so a parent item cannot quietly orphan its children. That enforcement is shallow. It governs one relationship at a time, it cannot make a write spanning several lists succeed or fail as a unit, and the same guidance records that those delete operations hit resource limits on lists past the list view threshold. What you do not get is a foreign key in the database sense, a server-side join, or a query language that can answer a question spanning five entities. When the model is genuinely relational, that gap becomes the reason the application cannot be trusted with its own record. Where the data should then live is the question the Excel and lists comparison linked above answers.
The test. Take the single most important action in the solution and trace every write it causes. If a failure between the first write and the last leaves the business data wrong, and the current answer is a flow that cleans it up later, the data layer has outgrown the platform.
Lists Stretched Past Their Limits
The second condition is mechanical, and it arrives on a schedule. Capacity is not the constraint: Microsoft’s SharePoint limits service description states that “a list can have up to 30 million items and a library can have up to 30 million files and folders.” The number that governs day to day is far smaller. Microsoft’s List View Threshold for large lists and libraries guidance sets the list view threshold at 5,000, “the maximum number of list or library items that a database operation, such as a query, can process at one time,” and a view showing more than 5,000 items can return a list view threshold error. The gap between 30 million and 5,000 is where these solutions live and degrade.
Indexed columns and disciplined information architecture push the pain out, sometimes for years, and for a list-shaped workload that is right. Look past the first throttled view to the shape the fixes take after it. The list gets split by year, then by region. A nightly flow moves rows to an archive list. A second list exists only to hold pre-computed summaries because querying the first one stopped working. At that point the team is not administering a list; it is hand-building a database engine out of workarounds, without the guarantees a database would bring.
The test. Open site contents and write the item count of every list next to 5,000, then add the views the team has already had to index or split to keep them working, and put a growth rate next to the largest list. A solution under the threshold today, on a list growing 20 percent a year, inherits the problem on a known date, and that date belongs in the architecture discussion now. Whether the data should live in a list at all is the data-home decision covered in the comparison linked above; whether the application should stay on SharePoint is this page’s question, and volume rarely settles it alone.
If the tests so far are landing, it is worth twenty minutes with someone who reads these systems for a living before the next workaround gets built. Two of the four endings above pay i3solutions nothing: keep the solution and index it yourself, or hear that this is not our work. Talk to a senior SharePoint architect
External Users at Application Scale
The third condition is about who operates the system. SharePoint’s external access model is built for collaboration: a guest is invited, authenticates, and works on shared content under your governance. Microsoft’s overview of external sharing describes that model, and for document-centric partner work it is the right tool; the extranet page linked above covers it.
An application inverts the pattern. When external users are not collaborators on your content but operators of your system, the requirements change class: thousands of accounts rather than dozens, self-service registration and password recovery, per-transaction audit, and an identity model designed for customers rather than colleagues. Stretching guest collaboration to cover that produces familiar symptoms: onboarding that, under the sharing controls a regulated tenant actually runs, requires IT for every account; licensing questions nobody answers cleanly; and an experience external users tolerate rather than adopt.
Inside the platform’s sharing and identity model there is no compensation for this one. Volume can be indexed, and integrity can be partly compensated with reconciliation. Guest sharing invites people to content; it does not register, authenticate and manage accounts for a population that will never work inside your tenant, and a customer identity model cannot be assembled out of it.
The test. Ask what the external users actually do in the system. If the answer contains words like submit, transact, track their own records, or manage their account, and the population is in the hundreds or thousands, the requirement has left SharePoint’s design space.
Workflow Logic Heavy Enough to Be the Application
The fourth condition hides inside the automation. SharePoint solutions accrete workflow: an approval here, a notification there, then routing, escalation, delegation, state machines, and integrations into systems the platform has never heard of. Each step is small. The sum is an orchestration engine implemented as a web of flows attached to lists, owned by whoever built each piece, testable by nobody.
The platform has been here before, and the record is published. Microsoft’s SharePoint 2013 workflow retirement guidance records that “we retired SharePoint 2010 workflow as of November 1, 2020,” and it set SharePoint 2013 workflow to be “fully retired as of April 2, 2026,” a date that has now passed. That timeline is Microsoft 365; the same guidance carves out on-premises, where SharePoint Server 2016 and 2019 keep both workflow generations supported until those products reach their end of support dates. In Microsoft 365, organizations that had treated classic workflow as an application layer paid for migration projects and relearned the lesson: the workflow tooling attached to the platform is not the platform’s contract with you. Choosing where heavy automation should actually run, worked across the two Microsoft engines, is its own decision with its own page: SharePoint Workflow Automation: Power Automate vs Logic Apps.
The disqualifying signal is simpler than the tool choice. When the workflow is the application, meaning the lists exist to feed the automation rather than the automation existing to assist the lists, SharePoint is no longer the platform of the solution. It is the incidental host of a distributed system that deserves deliberate architecture: an orchestration layer with source control, environments, error handling, and an owner.
The test. Diagram the flows behind the solution, including who owns each one and what happens when one fails at 2am. If the diagram takes more than a page, or the failure answer is nobody notices until the business does, the automation has outgrown its host.
Signs the Solution Has Outgrown SharePoint
The four conditions above are the mechanism. Day to day they surface as symptoms that land in the IT queue. Read the table as a triage sheet: the first five rows and the last each read back to one of the four conditions, the sixth is the cross-condition signal that belongs to none of them on its own, and a column of checkmarks is a verdict forming.
| Symptom you are seeing | What it usually means | Where the decision goes |
|---|---|---|
| Views throttle; fixes are always splitting or archiving lists | The workload crossed the list view threshold’s design point | Lists section above; data-home review |
| A repair flow exists to fix data another flow wrote | Flows are simulating a transaction the store cannot provide | SharePoint-as-a-database section above |
| Nobody can produce a diagram of the lists and their relationships | The data model became relational without anyone deciding it | SharePoint-as-a-database section above; data-home review |
| External users need IT help to get in, and use it under protest | Collaboration identity is being stretched into customer identity | External-user section above |
| A dozen flows route one process; one person understands them | The workflow became the application | Workflow section above; orchestration review |
| Every new requirement is scoped as a workaround to the last one | The platform stopped fitting and the team is absorbing the gap | This page’s decision, run properly |
| Performance complaints recur each quarter despite tuning | Growth has outrun the platform’s design point for this shape of work | Lists section above; architecture review once tuning stops paying |
The rule is the one in the Quick Answer, applied to the sheet. Rows that read back to a single condition send you to that condition’s test: if the finding can be designed around, the answer is targeted remediation inside SharePoint; if it cannot, one condition is enough. The sixth row is the spread signal, and marks there, or across three or four conditions, remove the design-around option, because the remediation for each is a workaround that makes another worse.
If your sheet came back with marks in most rows, the next conversation is about sequencing rather than whether: which capability moves first, and what stays on SharePoint deliberately. Bring the sheet. The reading can conclude that your solution should stay where it is. Talk to a senior SharePoint architect
SharePoint or a Real Application: How to Decide
Strip the symptoms away and the decision reduces to three questions.
First, what is the system of record? If this solution is the authoritative source for data the business acts on, money, compliance, safety, contractual obligations, then the storage layer must guarantee integrity, and lists do not. If SharePoint holds a working copy while the record of truth lives elsewhere, the bar is lower and the platform may be fine. Workflow is caught by this question too: when the automation is heavy enough to be the application, the flows hold the process state, which makes them the de facto system of record even where the lists look like the data.
Second, who operates it? Internal collaborators inside your tenant are SharePoint’s home ground. Internal users running a high-volume operational process sit on the border, and the lists test above is what settles which side they fall to; if the answer is off SharePoint, the platform comparison linked in the boundary section picks the replacement. External populations operating the system at scale sit outside what the sharing model was built to carry.
Third, what is the growth shape? A solution whose volume, user base, and process have all stopped moving can stay past its elegance point, because rebuilds carry risk too. A solution compounding in any dimension is accruing forced-migration risk, and the cheapest rebuild is the one scoped before the platform forces the date.
Answering these three does not require a consultant, only the numbers from the tests above and an honest reading of them. Where organizations want help is the step after: turning a verdict into an architecture.
The Hybrid Route: SharePoint in Front, a Real Application Behind
The decision is rarely all or nothing. When the failed tests cluster in what the platform was never built to carry while the document surfaces keep working, the seam is already visible. SharePoint keeps what it is best at: the collaboration surface, the documents, the place people already work. The parts that failed the tests move behind a boundary: transactional data into Dataverse or a relational database with an API in front of it, heavy orchestration into a workflow engine built to carry it, external users into an application designed for them.
Calling that outcome a compromise misreads it. Hybrid is the correct reading of a solution that was half right all along: the documents never stopped belonging on SharePoint, and the transaction engine never belonged there. Scoping that boundary, deciding which capabilities stay behind and how the two halves exchange data, is the work of an architecture engagement, smaller than the full rebuild teams brace for.
How i3solutions Runs the Decision
i3solutions has been a Microsoft partner since 1997 and has spent more than two decades building on SharePoint and building the systems that take over when SharePoint is the wrong host. A team that only sells custom development reads every symptom as a rebuild. A team that only does SharePoint reads every symptom as a governance gap. What the decision needs is depth on both sides of it and a recommendation whose reasoning you can audit line by line, including the two endings that pay i3solutions nothing: keep the solution and index it yourself, or take the answer that this is not our work.
The engagement is short and evidence-first, run by a senior US-based team: the item counts, the flow inventory, the write-path trace, the user populations, read against the conditions on this page. It ends in a written recommendation with the reasoning attached, and the recommendation is allowed to be that your solution stays on SharePoint with specific remediation, or that the right builder for what comes next is not i3solutions.
When i3solutions Is Not the Right Next Call
Some readers should not book the conversation, and it is cheaper to say so here.
If the solution is annoying but stable, under the thresholds, with no growth pressure, the finding is already in: keep it, index it, and spend the budget where the risk is. If the problem is a struggling in-flight SharePoint project rather than an outgrown platform, that is recovery work, covered under SharePoint Project Rescue Services: Recovery Programs for Regulated Enterprises. If the estate’s problem is sprawl and governance rather than any single solution’s architecture, modernization at estate level is the frame. And if your organization has already decided the future is off the Microsoft stack, an architect whose depth is Microsoft platforms is the wrong reviewer.
What is left is the case this page was written for: a solution that matters, built by reasonable people, that has been asking for a year to be an application. Bring the numbers from the tests. The endings are the three routes plus one honest exit set out at the top: narrow the scope and stay, go hybrid, commission the build, or hear that this is not work for i3solutions. Any of those beats another quarter of workarounds. Talk to a senior SharePoint architect
Frequently Asked Questions
When should SharePoint not be used as an application platform?
SharePoint should not be used as an application platform when any one of four conditions cannot be designed around: the data is transactional and relational, and writes need guarantees lists do not make; list volume has passed the platform’s design limits; external users operate the system at scale; or workflow logic has become the application itself. SharePoint remains right for document-centric collaboration, intranets, content management, and lightweight tracking that supports a process without being the process.
What are the signs a solution has outgrown SharePoint lists?
The reliable signs are structural rather than cosmetic: views that fail against the 5,000-item list view threshold, with fixes that are always splitting or archiving; repair flows that exist to correct data other flows wrote; a data model nobody can diagram; and new requirements that are only ever scoped as workarounds to the last one. Performance complaints that recur every quarter despite tuning are the same condition read from the user’s side rather than the administrator’s.
What are the risks of using SharePoint as a database?
The core risk is that lists give you no transaction, so a multi-list write failing partway leaves business data silently half-committed. Lookup columns can enforce restrict or cascade deletes, but that enforcement covers one relationship at a time, never a write spanning several lists, and it degrades once lists grow past the view threshold. Downstream you get totals that do not reconcile, audit questions the item history cannot answer, and flows that simulate guarantees a database would provide.
How do we decide between SharePoint and a real application?
Ask three questions. Is this the system of record for data the business acts on, counting the process state the flows hold when the automation has become the application? Who operates it, internal collaborators or an external population at scale? And what is the growth shape? A stable internal solution anchored in documents stays on SharePoint. One that is growing, transactional, or externally operated has already decided, and the remaining work is picking the replacement or the hybrid boundary.
When should we build a custom application instead of extending SharePoint?
Build custom when the requirement driving the next SharePoint workaround is one of the four disqualifiers and the low-code route is ruled out by its own disqualifiers, which are a separate decision with its own guide. Extending SharePoint remains right when the requirement is document-shaped, internal, and inside the platform’s published limits, because a governed extension avoids the migration work a rebuild requires, and inside those limits it is the cheaper answer.
Related Reading
- Enterprise SharePoint Development Services & Integration Services Built for Scale and Governance, the practice behind the platform side of this decision
- Custom Application Development Services for Enterprise Performance, what the custom route looks like as an engineering practice
- Legacy SharePoint Modernization: Build a Governed, Audit-Ready Microsoft 365 Environment, the estate-level frame when the problem is sprawl rather than one solution
- SharePoint Comparison: Online vs On-Premises, the hosting decision, separate from the platform-fit decision this page owns
About the Author
Michael Branson co-founded i3solutions and brings executive, operational, and technical perspective to organizations whose Microsoft estates carry regulated content, audit obligations, and uptime the business depends on. He works with enterprise teams on the architecture decisions that determine whether a platform investment holds its value.
Leave a Comment