Low-Code AI: When Microsoft's Ecosystem is (and isn't) the answer
You've secured Microsoft funding. Your organisation already uses M365. Your leadership team has heard about Copilot and Power Platform, and the promise is compelling: build AI-powered workflows without the expense of custom development. But before you commit to that approach, there's a conversation worth having about when low-code actually delivers on that promise, and when it doesn't.
We recently put this to the test. After building a prototype AI system for Breast Cancer Now using Django and Python, one that could process thousands of messages, automatically categorise them and draft high-quality responses, we asked ourselves: would it have been better to build this within Microsoft's low-code ecosystem instead?
What we built (and rebuilt)
The original system uses AI to triage incoming queries by type and sensitivity, drafts contextual responses using the charity's knowledge base, and flags complex cases for human review. It's a proper agentic workflow with human oversight, exactly the kind of thing Microsoft's tools claim to do well.
So we spent time attempting to recreate it using Power Apps for the interface, Power Automate with AI Builder for the processing logic, and Dataverse for storage. The good news: yes, it’s possible, you can do it. The less good news: "possible" and "advisable" aren't always the same thing.
What we learned
Microsoft's low-code tools can work, but they come with trade-offs you need to understand upfront:
AI Builder currently limits you to GPT-4.1 models unless you set up Azure AI Foundry, an additional service. You can impose JSON structure on responses, but only through auto-generated schemas, which means you can't enforce specific validation rules (like "this value must be one of these five options"). That's the kind of constraint that's trivial in traditional code but requires workarounds in the low-code environment.
Error handling becomes an exercise in building complex conditional flows with switch statements, replicating logic that would be straightforward in a few lines of Python. We found ourselves writing validation rules in multiple places, once in the UI, once in the automation flow, creating maintenance overhead and potential for inconsistency.
The UI customisation quickly becomes painful. Power Apps can build basic interfaces onto database tables efficiently, but once you need real polish or complex interactions, you're fighting the tool rather than working with it. The in-built Copilot AI assistant, ironically, was more hindrance than help for anything beyond basic formulas.
Building more sophisticated workflows often requires additional Microsoft services and licenses beyond your basic M365 subscription. Depending on your use case, you may need Copilot Studio, Azure AI Foundry, or premium Power Platform features; costs can add up quickly and may not be immediately obvious at the start.
Perhaps most surprisingly: while deployment is genuinely easier in Microsoft's ecosystem (the infrastructure is handled for you, and cloud-based execution means less to manage), this advantage doesn't offset the additional time required to do everything else. Modern AI-assisted development tools are now so sophisticated that building, iterating, and deploying custom applications, even to Azure, is often faster than navigating the constraints and workarounds required in the low-code environment.
When it makes sense (and when it doesn't)
Here's our guidance based on what we learned:
Consider Microsoft's low-code approach when:
- Your organisation is deeply embedded in the Microsoft ecosystem with existing Power Platform licenses
- The use case is genuinely simple - think workflow automation, basic integrations, or lightweight data processing
- You need quick connections between Microsoft services (Outlook, SharePoint, Dataverse)
- Your AI needs a lot of organisational context - which lives in the Microsoft ecosystem - to generate relevant responses
- The end "interface" can be as simple as viewing a Dataverse table, perhaps with Power BI for analysis
- Your customisation requirements are limited and unlikely to expand much.
Example low-code use case: Automating volunteer onboarding
A charity used Power Apps and Power Automate to handle new volunteer sign-ups. Details from a Microsoft Form flowed directly into Dataverse, triggering automatic ID checks and welcome emails through Outlook. Because everything lived inside their existing M365 environment and the workflow was simple, the team could launch quickly without writing a line of code.
Custom development (even deployed to Azure) makes more sense when:
- You need a sophisticated and accessible UI/UX that represents your organisation professionally. While Power Apps does offer a React front-end option for custom code, at that point, you're building a traditional application anyway, just with the added complexity of integrating it into the Power Platform
- Your logic includes complex validation or error handling.
- Your processes frequently need to talk to third-party services without a pre-existing Power Automate connector
- You want flexibility to choose the right AI model for each task, not just what's available in AI Builder. This can lead to better results, lower costs, and a lower carbon footprint
- You need full control over prompts, including proper separation between system and user content (important for security)
- Development speed matters, counterintuitively, custom code with modern AI assistance is often faster
- You anticipate evolving requirements that demand real agility
Less suitable for low-code example: AI-driven supporter triage
The example in which we built an agentic triage and response workflow for BCN with a Django-based app and deployed to Azure to process thousands of supporter emails every week. It categorises messages by topic and sensitivity, drafts tailored replies leveraging different AI models, and flags complex cases for human review. It will also integrate with a third party app, Brandwatch. While possible within Power Platform, which helped get the basic Microsoft integrations up and running quickly, it was clear that Power Automate couldn’t easily handle the nuanced integration, validation and model control required, while the Power Apps UI limited our designs - but Django gave full flexibility and speed to iterate on both interface and logic. These pain points would only become more acute if we extended and customised the app further beyond the proof of concept stage.
The integration sweet spot
There is, however, a genuinely valuable middle ground we're exploring: using Power Automate for specific workflow integrations while building the core application in more flexible technologies.
For organisations already paying for Dataverse and Power Automate licenses, having your technical team capable of building targeted automation workflows can be powerful. Think: processing form submissions, routing data between systems, or triggering actions based on table updates. These aren't full applications, they're connective tissue that can add real value without the pain of trying to build everything in the low-code environment.
What this means for your AI plans
If you're a digital or IT director evaluating AI implementations, the key takeaway is this: low-code doesn't automatically mean faster or cheaper, especially for sophisticated AI applications.
The right question isn't "Should we use our Microsoft tools?", it's "What are we actually trying to build, and which approach gets us there most effectively and sustainably?"
A good partner should be honest about this trade-off. We can absolutely build within Microsoft's ecosystem; we've proven that. But we'll also tell you when a custom application deployed to Azure cloud will give you better results, faster development, lower long-term maintenance costs, and more flexibility to evolve.
The promise of low-code is real for certain use cases. But for the sophisticated, user-facing AI workflows that many charities and public sector organisations actually need, the evidence suggests that "low-code" and "low-effort" aren't always synonyms. Choose the approach that serves your users and your organisation best, not just the one that seems easiest at first glance.
Torchbox has been exploring AI implementation approaches for charity and public sector clients, including building working prototypes to test real-world feasibility. If you're evaluating AI systems and want an honest conversation about what approach makes sense for your organisation, we'd welcome the discussion.
Thinking about low-code or AI implementation in your own organisation?
Olly Willans Chief Innovation Officer
Get in touch