AI Functions are quickly becoming more and more powerful with their pre-built applications as well as the ability to create your own models that leverage these functions to more specifically target your business needs.
With AI Builder, it has never been easier to add intelligence to your applications. In this blog post, we’ll walk through the six pre-built AI Functions available within Dataverse, including implementing the pre-built AIClassify model in our own Canvas Application. Additionally, we’ll work with a more tangible classification example, creating our own custom model from monthly transaction data via a model driven app.
Dataverse AI Functions Overview
First, let’s look at the six pre-built functions available for use in the AI Builder. These functions are a premium feature and require a premium license. These can be used without the need to gather data or train your own model.
1. AIClassify: Classifies text into predefined categories, such as issues submitted by customers (e.g., “Problem,” “Billing,” “How To,” “Licensing”).
2. AIExtract: Extracts specified entities like registration numbers, phone numbers, or names of people.
3. AIReply: Drafts replies to messages you provide. For instance, it can draft a response to a customer’s product review.
4. AISentiment: Detects the sentiment (positive, negative, or neutral) of the text you provide. Useful for analyzing customer reviews or feedback.
5. AISummarize: Summarizes text, such as email messages or document content.
6. AITranslate: Translates text from one language to another, with automatic language detection. Great for handling customer emails or reviews in different languages.
These six functions provide the above operations on which many prebuilt models have been made available to you to leverage in Power Apps and Power Automate. In other words, AI functions are specific operations you can perform while AI models are the underlying algorithms that power those functions. While all the below components can be used in Power Automate, see the table below for some example AI components and how they can be used in Power Apps.

Getting Started with AI Functions
Now, it’s time to look at an example. Let’s work with one of these pre-built functions, AIClassify. First, let’s start by creating a Canvas App which will allow us to classify text the user inputs with a single button.
From the Apps blade, select “Start with a page design” and choose “Blank canvas” as shown in Figure 2.

From the Tree View, add the following components to your screen such that they look like the below. Edit the Text/Input labels accordingly and choose styling to your liking. Note: you will not have language options or any functionality at this point.

Now to add the AI function. Navigate to the Data blade on the left navigation and click add data to add the AI Function as a data source shown in Figure 4 below.

Once we’ve added the data source, let’s add the functionality to our app. Click on the dropdown component and enter the following language options under the Items dropdown menu.

Next, click on the Button Component and enter the code below for OnSelect to access the Predict call of the Category Classification AI Function.


Examining this code a little closer, what we’re doing is calling the Set function which is setting a variable we just declared as PredictionOutput and using the Category Classification function Predict which takes in two values, our text input and our language dropdown selected value. Now, we need to display the results of this variable PredictionOutput.
Select the text label Categories below the button and set the following for Text. This accesses the Name Function to display the prediction.

Select the text label Confidence below the button and set the following for Text. This accesses the Confidence Function retrieving a confidence level for the prediction from 0–1 then converting it to percentage.

We have now added the functionality to our app and can begin to see how it will analyze and categorize our inputs. Click the Play button after you have saved and published to try out your app.

Working with Custom AI Models
In the previous section, we observed how easy it is to incorporate a pre-built model into Power Platform solutions. However, as the name suggests, these models are pre-built and might not fit your particular business needs. This is where you have the ability to create your own custom model to harness the power of these AI Functions without the need to write custom code.
Training the Model
To begin, we need an application for our custom model. I’ve always wanted to make a budgeting app where I can upload my bank statements and have it categorize my purchases so that I might better understand my spending habits. With this as the foundation, let’s create our model and see if we can make this a reality.
First, we need data to train our model as well as a table to house this data and structure it for our model’s consumption. Through a quick google search, I was able to find sample data for a year of purchases in a CSV format, which we will be using as our import file shown in Figure 10.

Next, navigate to the Tables blade and create a new table using external data (i.e., our CSV file).

Once you’ve selected your file and clicked Next, you will be taken to a preview screen where you can review your table structure as generated by Copilot. Copilot has done a very accurate job here (Figure 12) and only the Table name and Primary Column needed to be updated. Superfluous columns can be deleted later if your CSV has unwanted columns, so go ahead and click Create.

The Transaction type column highlighted in Figure 12 has already been declared as a choice value with the choices shown in the screenshot. While we want these categories to be defined as a choice for the user experience, our AI model can only interpret categories as a text type often referred to as Tags. Since we already have sample data with appropriate category tags denoted, we just need to re-upload this data in text columns with only our Transaction name and appropriate Tag as shown in Figure 13.

Now that we have created all our data, we can create our AI model. Located in Figure 14 below, you can see the homepage of Power Apps where the AI Hub blade is Highlighted to the left of the screen. If you do not see the AI Hub blade, then click on “More” and navigate to the AI Hub option. If you see yourself using AI Builder frequently, you may want to pin the blade to your navigation pane.

From here, you can click on AI models and navigate to the Custom AI Classification Model shown in Figure 15. Once you click on this, you will be taken to the wizard shown in Figures 16–18 to finish creating your model.




Once you press create, your model will begin training on your data as shown in Figure 19. From here, you can navigate to the resource via the “Go to models” button. This will take you to Figures 20–21, where you can perform a quick test once the model has finished training and finally publish once functionality is verified.



Putting the Custom Model to Work in a Canvas App
Now that our model is published, let’s revisit our Canvas app and customize it to our own purpose of categorizing financial transactions. First, we need to plug in our custom model as the data source as we did with the pre-built one in Figure 4. Then, by updating the OnSelect as shown in Figure 22, we can now use this app to categorize expenses as we can see in Figure 23.


Building a Custom Model-Driven App
Now that we see our model working in our Canvas App to categorize transactions as we’ve trained it, our model will be ready to be used in other applications.When we look at the simple creation of a Model Driven App, we can see how by selecting “improve data via import” our model can be better trained with each new import of data by selecting the setting in Figure 24.

The Financial Transactions table we created in Figure 11 will be the basis for our model driven app. From this table, press Create an App where you will enter your app name and create your model driven app.
From your model-driven app, you can import new data to your table using the Import from Excel/CSV functionality shown in Figures 25–26.


Next, we need to ensure that updates or additions to our Financial Transactions table trigger updates to our model, which is driven off the Budget Tags table. In Figure 27, you can see we have built a flow triggered by updates to the Financial Transactions table that translates those choice values into text updates to the Budget Tags table so our model may be trained on these new changes.

In Figure 28, you will see how data updates generate new table predictions as shown in Figure 29. By clicking on the link, you will be taken to this new table.


You can see a future where this idea could extend and encompass all six of our pre-discussed AI Functions through form recognition and other applications to form a full-fledged budgeting app in no time at all.
Closing Thoughts
Whether you are working with a prebuilt function to summarize text, categorize data, or draft email responses, or more advanced custom models to perform more advanced functions, the power of AI Functions cannot be overlooked and should become a part of any developer’s toolbelt.


