Manage data in your app (preview)

Important

  • This is a preview feature.
  • Preview features aren't meant for production use and might have restricted functionality. These features are subject to supplemental terms of use, and are available before an official release so that customers can get early access and provide feedback.

Apps often need data, such as tasks, assets, requests, or customer records. When you create an app in Microsoft Copilot Studio, you can start with sample data, keep information in the browser, or connect the app to an organizational data source.

This article explains the common ways an app works with data and how connections, identity, and permissions affect the people who use the app.

Note

Available data sources and storage options depend on the preview release, your environment, administrator policies, licenses, permissions, and existing connections.

Common ways apps work with data

An app can use one or more of the following approaches.

Approach How it works When to use it
Sample data Copilot Studio generates representative records as part of the app so you can preview its design and behavior. Use it while exploring an idea or refining the app before connecting business data.
Browser-local data The app keeps information in the current browser instead of an organizational data source. Use it for personal or self-contained experiences where information doesn't need to be shared across users or devices.
Connected organizational data The app reads or updates an existing organizational source through a connection in its environment. Use it when records must be retained, centrally managed, or available to other permitted users.

Some apps don't need data storage. For example, a calculator or unit converter can produce results without saving them. An app can also use multiple sources, subject to the capabilities and policies of its environment.

Choose a data approach

Use the following questions to decide how the app should work with data:

Question Recommended approach
Are you still exploring the design? Start with sample data.
Does the information only need to remain in one person's browser? Browser-local storage might be sufficient.
Do records need to be shared, centrally managed, or available across devices? Connect an organizational data source.
Does the data already exist? Connect the existing table instead of creating a copy.
Does the app need a place to store new records? Connect to a supported SharePoint list or an appropriate existing organizational table.
Are you starting from a spreadsheet? Decide whether the file is authoring context, a live Excel connection, or input that users upload to the running app.

Start with sample data

If you don't connect an existing source, Copilot Studio can generate sample data that matches the app you described. Sample data makes an early version of the app easier to preview and test.

Treat sample data as representative content, not as a place to store business records. Changes made while using sample data might reset when the app reloads or when Copilot Studio regenerates part of the app.

Sample records can also be included in the generated app itself. As a result, refreshing the app preview isn't a reliable way to determine where an app stores its data. Review the app's Data and Connections before relying on it to retain information.

Store app data in the browser

Some self-contained apps can store information in the browser. Browser-local data can remain after a refresh, but it isn't the same as connected organizational data.

Browser-local data generally:

  • Is available only in the browser profile where you created it
  • Isn't automatically shared with other app users
  • Might not be available on another device
  • Isn't governed as a SharePoint, Dataverse, or other connected data record

Use an organizational data source when you need to share records, manage data centrally, or make data available across devices.

Store and use organizational data

Connected organizational data can support two related workflows:

  • Storing records that people create or update through the app
  • Working with tables your organization already uses

The setup can vary by data source. Copilot Studio handles the supported connection process and generates the app configuration needed to work with the selected data. A connected table can contain existing records and continue to receive new records from the app.

Note

This article focuses on connections to tables that store app records. Connectors can also extend what an app can do through service actions, such as sending an Outlook email, creating a calendar event, or posting a Microsoft Teams message.

Service actions don't provide storage for the app's records. Learn more in Connectors overview.

Use SharePoint lists

Use SharePoint lists when your app needs straightforward, list-shaped team data. Depending on the supported preview scenario, Copilot Studio can connect the app to an existing list or create new lists in a SharePoint site you can use.

Copilot Studio might ask which app records you want to store, whether to use an existing SharePoint site, and which site the lists should belong to. Creating or using a connection can require your approval and permission to the selected site and lists.

Important

Creating a new SharePoint site for an app isn't available in all preview releases. Confirm the options shown in Copilot Studio before designing an app that depends on a newly created site.

Use data from existing Dataverse tables

Use Dataverse when the app should work with structured organizational data that your organization already manages in a Power Platform environment. In preview, Copilot Studio connects apps to existing Dataverse tables.

Important

Creating new Dataverse tables isn't supported in all preview releases. Confirm the options shown in Copilot Studio before designing an app that depends on a newly created Dataverse data model.

Copilot Studio might ask you to select a Dataverse environment, table, and connection. You must have permission to use the selected table and perform the operations the app requires.

Compare SharePoint lists and Dataverse

Both SharePoint lists and Dataverse store organizational data under administrator governance, but they suit different needs. If both options are available, use the following comparison to choose the best fit.

Consider SharePoint lists Dataverse
Choose it when Your data is list-shaped and your team already works in SharePoint Your organization already manages structured data in Dataverse
Good for Team trackers, inventories, requests, and straightforward records Related business records, governed processes, and established data models
Managed in A SharePoint site A Power Platform environment
Relationships Lookup columns between lists Defined relationships between tables
Permissions SharePoint site and list permissions Dataverse security roles and table or record permissions
Working with data People can view and maintain records directly in SharePoint Makers and administrators manage data through Dataverse and Power Platform tools
Copilot Studio preview Supported scenarios can create or use SharePoint lists Connect to existing Dataverse tables; creating new tables might not be available

Tip

Choose SharePoint when the data is naturally a straightforward team list. Choose Dataverse when the app should use an existing Dataverse data model or needs relationships and security managed through Dataverse. Availability still depends on your environment and administrator policies.

After connecting a SharePoint or Dataverse table, review the app's Data and Connections to confirm which source it uses.

Connect to other existing tables

If your organization already has the data the app needs, ask the agent to connect the app to that source. In addition to SharePoint and Dataverse, an app can work with other tabular sources available in its environment, such as Excel or SQL.

Data connections let an app read or write rows in a structured source. The exact setup differs by source, but Copilot Studio guides you through selecting the data and connection the app should use.

Learn about the different ways an app can use an Excel or CSV file in Work with Excel and CSV files. Other tabular sources might also be available. Availability depends on the app's environment. Review and test the result before publishing the app, especially when app users can add, update, or delete records.

Change or refresh a data connection

If the source, table structure, or connection changes, ask the agent to update the app's data connection. Review the updated fields and test the app again before publishing. Avoid changing generated connection code directly.

Connection availability and administrator policies

Apps can use data sources and connections that are available and allowed in their environment. Data policies and other administrator controls determine which sources and connections are available.

Copilot Studio apps might have access to a subset of the broader connector catalog. Learn how administrators classify and control connectors in Data policies.

A data source or connection might be unavailable for one of these reasons:

  • A policy blocks it.
  • The environment's connector catalog doesn't include it.
  • The required connection doesn't exist.
  • Your account doesn't have permission to use it.
  • The required license isn't available.

Contact your administrator if you expect a data source to be available but can't select or use it.

Work with Excel and CSV files

You can use files in several ways, depending on whether you want to provide context, connect live data, or let app users upload a file.

Attach a file while creating an app

Select + in Chat to attach a file that gives the agent more context. For example, a workbook can help the agent understand the fields and information the app should display. Attaching a file as context doesn't create a lasting connection to that file.

Connect an Excel table

When the Excel connector is available, Copilot Studio can connect an app to a table in an Excel workbook. This connection uses live data rather than a one-time file attachment. The workbook must contain a defined Excel table, and connector availability and permissions still apply.

Add file upload to an app

Copilot Studio can also generate an app experience in which a user selects an Excel or CSV file for the app to process in the browser. In this scenario, the file is input to the running app. It doesn't automatically become a centrally shared or continuously synchronized data source.

Understand identity and permissions

Apps access connected data on behalf of the signed-in user.

This condition means:

  • The app doesn't automatically give someone access to data they couldn't otherwise use.
  • Different users might see different data based on their permissions.
  • A user might need to create or consent to a connection the first time they use the app.
  • A connected data operation can fail if the user doesn't have permission to perform it.

Important

Sharing an app and sharing its underlying data are separate actions. Giving someone permission to open an app doesn't automatically give them access to its SharePoint lists, Dataverse tables, workbooks, or other connected sources.

Before publishing, test the app with an account that has permissions similar to those of its intended users.

Prepare app data for publishing

A common workflow is:

  1. Describe the app and review the app preview.
  2. Refine its fields, screens, and actions by using sample or browser-local data.
  3. Connect an organizational data source, whether it's configured for the app or already exists.
  4. Review the app's Data and Connections.
  5. Test with accounts that represent the intended users.
  6. Publish the app.
  7. Share the app and separately confirm that its users can access the underlying data.

You can also start directly from existing organizational data when you already know which source the app should use.

Manage connections in your app

When an app works with an organizational source or an outside service, it does so through a connector — a prebuilt link to a service such as Outlook, SharePoint, or Dataverse. A connection is the authorized link between your app and one of those connectors. Connectors are available for a wide range of Microsoft and third-party services; to browse them, see the connector reference.

You don't create connections manually. Describe what you want the app to do, and Copilot Studio adds the connector the app needs. For example, asking the app to send a message when a record is added is what adds a connection to a mail connector. To remove, simply ask in the chat to remove the established connection.

Connections affect the people who use your app in the following ways.

Consideration What it means
Identity Each person who opens the app signs in to the connectors it uses with their own account. Your credentials aren't shared with the people you share the app with.
Permissions Because each person connects as themselves, they see only the records their own account can access. Two people can open the same app and see different results.
Availability Administrator policies determine which connectors can be used in your organization. Your admins set these policies in the Microsoft Admin Center.

If a connector you expect isn't available, an administrator policy is the most common reason. Contact your administrator to find out which connectors are permitted in your environment.

Review connections in your app

To see which connections your app uses, select the app name in the command bar, and then select Connections. Each connection lists the connector's icon, name, and a short description of what it does. You can search the list by name or description.

Troubleshooting data and connections in your app

  • Changes disappear when the app reloads. The app might be using sample data or another temporary data source. Review its Data and Connections and ask the agent to connect an organizational data source.
  • Data remains after refresh but other users can't see it. The app might be using browser-local storage. Browser-local information isn't automatically shared across users, browsers, or devices.
  • A data source or connection isn't available. The data source might be unavailable or blocked in the environment. Confirm that the connection exists and that administrator policy, permissions, and licensing allow it.
  • A user can open the app but can't see its data. Opening the app doesn't grant permission to its underlying data. Confirm that the user has access to the SharePoint list, Dataverse table, workbook, or other source and has consented to any required connection.
  • Changes to an attached file don't appear in the app. An attached file provides context for app creation but isn't automatically a live connection. Connect the Excel table through an available connector if the app needs to read current workbook data.
  • A connected source changed but the app still uses an older structure. The generated connection might need to be refreshed or re-created so the app can use the updated schema. Review the source and connection before changing generated app code manually.