Citizen Developer
  • All of Microsoft
  • My Role
    • All in My Role
    • Citizen Developer
  • Focus
    • All in Focus
    • Microsoft Build 2026
    • Generative Pages and Apps
    • Microsoft Copilot Studio
    • Copilot Studio - Agent Step-by-Step
    • What's Hot
    • M365 Release
Timespan
explore our new search
Power Apps: build a Canvas app with Dataverse
Power Apps

Power Apps: build a Canvas app with Dataverse

by HubSite 365 about Softchief Learn

Learn how to take advantage of your business data with Microsoft Dynamics 365 & Power Platform & Cross Technologies. My name is Sanjaya Prakash Pradhan and I am a Microsoft Certified Trainer (MCT) and

Create a Canvas app that saves expense records to Dataverse and displays them in a gallery, using screens, a form, and button actions.

Key insights

  • The walkthrough creates a Personal Expense table in Dataverse using a natural-language prompt in the Data workspace.
  • A Canvas app can connect its form and gallery to the same Dataverse table.
  • The Save button uses SubmitForm(formExpense), with a success notification configured in the form's OnSuccess property.
  • A second screen with a gallery displays expense name, amount, and date.

Power Apps Canvas apps let makers build a custom expense-entry interface that writes records to Dataverse and displays them in a gallery. This approach is relevant to makers learning app structure and to teams prototyping a simple record-entry experience. Softchief Learn demonstrates the workflow by creating a Personal Expense table, connecting a Canvas app, and wiring up save and navigation actions.

What it does

The example app has two main tasks: enter a new expense and review existing expenses. Its Dataverse table includes fields such as Expense Name, Expense Date, Amount, and whether the expense is recurring. The app uses a form for new records and a gallery to show saved records.

Dataverse is the demonstration’s data source, not a requirement for every Canvas app. The presenter notes that other sources, including SharePoint, can be connected instead. The walkthrough focuses on connecting the controls to data and defining what happens when someone selects a button.

One part of the table setup uses Copilot in the Dataverse Data workspace. The maker enters a prompt describing a table for personal expenses, then reviews the proposed columns before saving. For more complex tables, the presenter says the prompt can describe columns and relationships; the walkthrough does not build or validate a more complex model.

Who it is for and what you need

This is a practical starting point for a maker who wants to understand how a Canvas app connects screens and controls to business data. The demonstrated app uses Dataverse, but the presenter names SharePoint and other data sources as alternatives. The example does not provide a comparison of those sources or explain which one is best for a particular workload.

The demonstrated process uses a Power Apps environment with access to Dataverse and the ability to create a table and app. The transcript does not state a required license, plan, role, tenant setting, region, or rollout status for the Copilot-assisted table creation. Check your organization’s access and licensing before planning to reproduce that part of the example.

It also does not specify a production-ready security model, sharing configuration, or data governance approach. The app is presented as a simple hands-on example, so treat it as a way to learn the mechanics rather than as a complete deployment plan.

How it works

  1. Create the table. In the Dataverse Data workspace, choose the option to start with Copilot and describe the table—for example, one for personal expenses. Review the generated columns, then save the table. The example uses Expense Name, Expense Date, Amount, and Is Recurring.
  2. Create the Canvas app. From the app area, choose a new app and start with a design. Select a blank canvas and choose a device layout. The demonstration chooses tablet; it also mentions responsive and mobile options, but does not configure or test them.
  3. Build the entry screen. Add controls such as a sidebar shape and buttons labeled New Expense and View All Expenses. Insert an edit form, connect it to the Personal Expense table, and select the fields the form should show. The example removes Status and Status Reason from the displayed fields.
  4. Configure the save action. Give the form a useful name, such as formExpense. Set the Save button’s OnSelect property to SubmitForm(formExpense). Then configure the form’s OnSuccess property to show a success notification after submission. The demonstration’s notification reads “Expense Recorded Successfully.”
  5. Add a records screen. Create another screen and insert a gallery connected to the same table. Set the gallery fields to show the expense name, amount, and date. Configure the buttons to navigate between the entry and list screens, then run the app to test creating and viewing a record.

These pieces have distinct jobs: the form gathers one record, the submit function sends it to the connected data source, and the gallery presents multiple records. Navigation connects the screens so users can move between entering an expense and reviewing the list.

Limitations and open questions

The example demonstrates creating a record and viewing records; it does not implement a complete set of create, read, update, and delete operations. It does not show editing or deleting an existing expense, search or filtering, validation rules, or error handling. Although the video description mentions some of those broader learning topics, they are not steps demonstrated in the transcript.

The presenter encounters a problem applying a stock background image and suggests refreshing the screen, then moves on to use a color. That issue is a brief observation in the demonstration, not evidence of a general problem with image controls. The tutorial also does not establish whether the Copilot table-generation option is available in every environment or under which licensing conditions.

Before using a similar app beyond a prototype, makers should independently verify access to the chosen data source and determine the required permissions and licensing. The walkthrough does not cover publishing, sharing, production testing, or how to adapt the layout across device sizes. It also does not compare the Dataverse workflow with creating the same app from SharePoint or another source.

Sources

Frequently asked questions

How do I save a Canvas app form to Dataverse?

Connect an edit form to the Dataverse table, then set the Save button’s OnSelect property to SubmitForm(formName), replacing formName with the form’s name. The example also uses the form’s OnSuccess property to show a confirmation.

Can a Power Apps Canvas app use SharePoint instead of Dataverse?

Yes. The walkthrough names SharePoint and other data sources as alternatives to Dataverse, but it does not show the steps for connecting them.

What license do I need to create a Dataverse Canvas app?

The material does not state a license or plan requirement. Confirm the applicable licensing and environment access for your organization before building.

Does the example app support editing and deleting expenses?

The demonstrated app saves a new expense and displays records in a gallery. Editing and deleting existing records are not shown.