Low-code and no-code software development platforms were developed to enable so-called citizen makers (also known as power users and non-professional programmers) to create professional applications. But historically, such efforts often stalled without the participation of programmers and database administrators.
Microsoft has been banging away at this problem for decades, going back to Excel. After focusing on AI and machine learning capabilities in Microsoft Azure for the past couple of years, the company is now adding generative AI to the mix, thanks to a large investment in OpenAI that has made ChatGPT/GPT-4 available to Azure users.
AI Builder in Power Apps and Power Automate
Microsoft recently folded generative AI capabilities into the AI Builder section of Power Apps and Power Automate. As you can see in the figure below, AI Builder is at the top of Microsoft’s AI stack, drawing on the capabilities present in Azure AI Services—the domain of professional developers—and making them available to citizen makers within Power Apps and Power Automate.
Microsoft’s AI Stack has three layers. The Azure ML Platform is for building AI models; Azure AI Services are for professional software developers who need to use or customise the functionality of those AI models; and AI builder lets citizen makers consume the models with no programming experience required.
Generating applications with Copilot
Microsoft and GitHub’s “copilot” branding sort of made sense when it only applied to acting as a pair programmer using programming editors. Now that it applies to Windows 11, Microsoft 365, and Power Platform, I’m less convinced. It just smells like marketing.
That said, there are two major use cases for AI Copilot in Power Platform: generating applications and using GPT for specific flows or focused tasks. We’ll concentrate on application generation for now and look at specialised GPT flows later on.
The Power Apps home screen now offers a text-based “Let’s build an app” option at the top of the page, which uses GPT. To be able to see this currently, you have to enable the preview, wait, and possibly create a new development environment and refresh the screen a few times. If you want to revert to the old home screen, use the toggle on the top right side of the screen.
The application generation process seems to be less than meets the eye. At the moment, it takes you to a “Here’s a table for your app” screen. This tactic is consistent with the way Power Apps generates applications from tables.
The table screen shows a simple proposed table with a Copilot box at the right. Not all the suggestions shown on the lower left currently accomplish anything other than to regenerate the sample table. Merely clicking a suggestion currently does nothing. If you type “add more rows” in the Copilot text box, you will see a larger table, but the contents may change randomly—in my case, from school supplies to fruits.
The actual code generation happens after you click the Create app button on the lower right side of the screen.
Once you’ve generated the basic application, you can explore its screens and components and their properties, modify them as you wish, and add more data. You can navigate at both the left and bottom side of the screen, add and edit at the far left and top, and edit properties at the right.
If you navigate to the main screen, you will be able to change screen-wide properties such as the theme we’re changing here. Pressing the triangle at the top right allows you to preview the application.
The default app preview uses a web layout. The dropdowns at the top right allow you to choose different form factors.
The phone dropdown is in alphabetical order by brand, so of course it starts with Apple iPhone models. Farther down are Motorola, Samsung, and Xiaomi.
The iPhone previews include a shell image as well as the screen contents. The previews are dynamic and functional. This is a detail screen I got to from the scrolling list of items. Note the edit and delete icons at the top right.
In horizontal mode on a phone, the application displays the scrolling list in the left-hand column and the detail screen in the right-hand column.
The horizontal tablet preview gives you enough space to see the whole detail form as well as the scrolling list.
Power Apps prebuilt AI models
Power Apps currently offers 17 AI models that you can use to create flows to embed in applications. We'll look at each of them below.
The Power Apps AI models include processing for various kinds of documents, for example, invoices, receipts, and identity documents. They also include text generation, sentiment analysis, translation, and other text processing functions, as well as time series predictions.
Azure OpenAI Service / Text Generation / GPT (preview)
The “Create text, summarise documents, and more with GPT” preview service is the newest jewel of Power Apps. While a few of these capabilities duplicate other services, for example sentiment analysis, most of them are valuable additions to the Power Apps’ arsenal.
The sample templates are guides to prompts known to work with GPT. You’re not restricted to these capabilities, however: It’s not that hard to write a prompt from scratch.
Creating a model with the GPT service is essentially an exercise in prompt engineering, and the interface allows you to test your prompts on a variety of inputs. Here, I’ve used several paragraphs from my 2021 article on Azure AI and asked GPT to summarise the text. It did a fairly good job.
Notice the instruction “without adding new information,” which is intended to keep GPT from bringing in material it has seen elsewhere, or worse, hallucinated.
Business card reader
The business card reader is one of the many AI Builder services that draw on Azure AI Services. The business card reader performs OCR on business cards and both extracts and labels all the common fields.
Category classification (preview)
The category classification service reads text in any of seven languages and applies a prebuilt model to classify the customer feedback into predefined categories. The current categories are Issues, Compliment, Customer Service, Documentation, Price & Billing, and Staff.
Entity extraction can use a prebuilt or custom model to extract entities from free text in any of seven languages. There are 25 supported entity types in the prebuilt model.
Processing invoices requires handling tables of line items as well as global values.
Key phrase extraction
Key phrase extraction is a way to extract the main talking points from a free text document. Unlike an entity extraction model, key phrase extraction identifies whatever’s in the text rather than looking for specific words and phrases.
Language detection is often the first stage of a text processing flow. Once you know the language of a document, you can go on to analyse its sentiment, extract key phrases, and translate it to another language.
Like invoice processing, receipt processing has to handle lists of items as well as global values. Dealing with crumpled invoices is a common use case.
Identifying the sentiment of text can be a useful way to control how the message should be processed further. Positive sentiment might flow into a queue of endorsements for use by marketing, while negative sentiment might trigger a response from customer service.
Text recognition is a generalised OCR process that tries to extract all the text from an image.
The text translation model includes source language identification, so you don’t have to invoke that separately, although if you know the source language you can specify it to skip the detection step. This text translation is rated as “real-time” and is limited to 10,000 characters at a time.
AI Builder in SharePoint and Teams
To use AI Builder in Teams, install the Power Automate app in Teams. Then you can create flows to use from the AI Builder templates.
Microsoft now has an extensive set of low-code AI and ML capabilities built into the AI Builder section of Power Apps and Power Automate, currently on a preview basis. Microsoft’s competitors in this space aren’t sitting back and ignoring AI, however, and this snapshot won’t be the final word in the field.
Overall, Power Apps is shaping up to be a rather nice low-code development environment with the addition of the new AI and ML capabilities, although it’s certainly not there yet. While the combination of Power Automate flows, AI, and Power Apps seems a bit random at first glance, it could turn out to be a powerful combination.