How to create a downloadable file in a PowerApp (without sharepoint / onedrive)

Sinnige, JA (Jelle) 0 Reputation points
2026-06-08T17:26:47.8333333+00:00

Hi all,

I'm trying to make a downloadable file in my powerapp, to contain some CSV data that is on the screen as well. I have a nice flow that gets the data from the backend and now all I want to do is present it in a file "export.csv" to the user to download.

It should be very simple, but I can't figure it out, unfortunately.

I've tried the attachment control, but it won't let me put in my own attachments. If I do they generate a broken download when clicked.

Please note - no sharepoint, onedrive or emails.

The generated file will contain some form of sensitive data. It may not be stored in a common list, an onedrive location, and it will be too big for an email.

I just want this: Dataverse -> Cloud flow -> PowerApp -> File on users machine

Can someone please explain how to do this?

Microsoft 365 and Office | Subscription, account, billing | For business | Other
0 comments No comments

2 answers

Sort by: Most helpful
  1. Ian-Ng 14,200 Reputation points Microsoft External Staff Moderator
    2026-06-08T18:26:39.96+00:00

    Hi @Sinnige, JA (Jelle)

    Based on your description, this workflow appears to be a specific Power Apps and Power Automate architectural question rather than a general Microsoft 365 subscription issue. Your objective is to generate CSV data from Dataverse and route it through a cloud flow to a canvas app for direct user download, all while bypassing SharePoint, OneDrive, and email.

     

    Because this specialized design is entirely unique to the Power Platform ecosystem, the most effective next step is to post your query in the Power Platform Community. Similar direct-download and CSV-return workarounds are already active topics of discussion within both the Power Automate and Power Apps forums.

    User's image

    That forum is the right place because the people active there are typically the ones who work with canvas app formulas, flow response payloads, file-return patterns, connector behavior, and Dataverse app integration every day. The related threads also show answers coming from Super Users, Moderators, and Most Valuable Professionals (MVPs) in the Power Platform space.

    In this forum, I can help with general Microsoft 365 guidance, basic triage, and pointing you to the correct product area, but I do not have the same depth for Power Apps / Power Automate build-level debugging and implementation validation that the dedicated Power Platform community provides. 

    When posting, I recommend opening with a quick summary: you have a Canvas app, Dataverse source, and working cloud flow, but need a direct file download to the user's device. Emphasize that SharePoint, OneDrive, email, and temporary storage are off-limits due to data sensitivity, and note that the attachment control already failed with a broken download, so experts don't need to suggest it. 

    I hope this points you to the right place to get a working pattern for your scenario.


    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Was this answer helpful?

    0 comments No comments

  2. AI answer

    2026-06-08T17:27:13.0766667+00:00

    Power Apps and Power Automate don’t provide a built-in way to download a file directly from a canvas app to the user’s machine without first storing it somewhere (Dataverse, SharePoint, Azure Storage, etc.) or sending it via another channel (such as email).

    Within the supported patterns in the provided context, file download flows always follow one of these models:

    1. Store file in Dataverse, then download via flow
      • Use a Dataverse table with a file column to hold the generated file.
      • In Power Automate, use Microsoft Dataverse → Download a file or an image to retrieve the file content by table, row ID, and column name.
      • Then pass that content to another action, such as Create file in a connector (for example, SharePoint or another storage) or return it to a client that can download it.
        This pattern is described in the “Download file or image content” guidance, where the file content is retrieved and then used in a later action.
    2. Use Azure Blob Storage and generate a SAS download link
      • Store the file in Azure Blob Storage.
      • In a canvas app, connect to Azure Blob Storage and use AzureBlobStorage.CreateShareLinkByPath(...) to generate a time-limited SAS URL.
      • Call Launch() with that URL so the user’s browser downloads the file.
        Example formula from the context:
         Launch(AzureBlobStorage.CreateShareLinkByPath(ThisItem.Path).WebUrl)
      
      or with a custom expiry:
         Launch(
             AzureBlobStorage.CreateShareLinkByPath(
                 ThisItem.Path,
                 {ExpiryTime: DateAdd(Now(), 1)}
             ).WebUrl
         )
      
      This pattern still uses storage (Azure Blob), but the file is not stored in SharePoint or OneDrive.
    3. Attachments control with Dataverse or Lists
      • The attachments control only works with Microsoft Lists or Dataverse tables as data sources and must be inside a form.
      • It cannot be used as a generic “download arbitrary content” control; it is bound to records in those data sources.
        Because of these limitations, it cannot directly host a custom, in-memory CSV generated in the app without backing storage.

    Given the constraints in the question (no SharePoint, no OneDrive, no email, sensitive data), the supported approach in the context is to:

    • Store the generated CSV in a secure Dataverse file column or in Azure Blob Storage.
    • Use either:
      • A flow with Download a file or an image to retrieve the file content and then expose it via a suitable endpoint, or
      • A canvas app with Azure Blob Storage and CreateShareLinkByPath + Launch() to let the user download the file via a SAS URL.

    A purely “Dataverse → Flow → Power App → direct file on user’s machine” pipeline without any storage or link-based download mechanism is not described or supported in the provided material.


    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.