web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Upload Existing MS For...
Power Automate
Suggested Answer

Upload Existing MS Forms Images to SharePoint Image Column

(0) ShareShare
ReportReport
Posted on by 1,129

I'm trying to migrate existing MS Forms responses into a SharePoint list, and I'm stuck on the image part.

Scenario

  • User X owns an MS Form with a File Upload field where respondents uploaded their profile pictures.

  • These are old submissions (I'm not processing new form responses).

  • The responses are available in the Excel file stored in User X's OneDrive, and that Excel has been shared with me.

  • I can loop through the Excel rows and create SharePoint list items without any issue.

  • The SharePoint list has an Image column.

The problem

The Excel only contains the image URL. I can open that URL in my browser, so I clearly have access to the file. However, I need to upload that same image into the SharePoint Image column.

The actual file is still stored in User X's OneDrive, so I can't use the OneDrive connector with my own connection to get the file content.

I know one option is to ask User X to use their OneDrive connection in the flow, but I'm wondering if there's another way.

My question

Since I can already access the image URL in the browser, is there a way to retrieve the image content directly in Power Automate (using the URL, HTTP action, or another approach) and use it to populate the SharePoint Image column without relying on User X's OneDrive connector?

Has anyone handled this scenario for existing MS Forms submissions?

I have the same question (0)
  • Suggested answer
    sannavajjala87 Profile Picture
    931 Super User 2026 Season 2 on at
    Hi,
     
    Yes, this can be done, but the key challenge is authentication. Being able to open the URL in a browser doesn't necessarily mean Power Automate can access the file content using that same URL.
    A couple of approaches you could try:
    • If the file URL is a SharePoint/OneDrive URL within your tenant, use an HTTP with Microsoft Entra ID action (or SharePoint REST API) to retrieve the file content, provided your account has permission to the file.
    • If the file has been shared directly with you and your account has access, you may be able to retrieve the file using SharePoint actions against the underlying document library rather than using User X's OneDrive connector.
    • If the URL requires User X's identity to access the file, then using User X's connection (or moving the files to a shared location) may be unavoidable.
    For the SharePoint Image column, the typical pattern is:
    1. Get file content.
    2. Upload the image to SharePoint.
    3. Update the Image column with the uploaded image reference.
    I'd first determine whether the URL is pointing to a SharePoint document library behind the Forms upload folder. If your account can access that library directly, you may not need User X's OneDrive connection at all.
     
    Thanks & Regards,
    Manoj Annavajjala
  • rameshmukka Profile Picture
    1,129 on at
     I have tried with below SharePoint action. The action succeeded but the response don't have file content to use it in my SharePoint action to populate the image column.
     
     
     
    Here is the response of the action
     
     
     
     
  • Assisted by AI
    Zahid Ali Profile Picture
    8 on at

    Yes, there is an important distinction here: being able to open the URL in a browser does not necessarily mean Power Automate can use that URL to retrieve the binary file anonymously or under your flow connection.

    For Microsoft Forms file uploads, the files are stored in the Form owner's OneDrive for Business for personal forms, under the Microsoft Forms folder. Microsoft explicitly documents this storage behavior.

    I would approach your migration like this:

    1. I would not rely on the Excel URL directly

    The URL in the Excel response is essentially a link to the stored file. It doesn't automatically give the HTTP action a usable binary download endpoint.

    You can try an HTTP GET against the URL, but if the URL requires Microsoft 365 authentication, a normal HTTP action won't necessarily authenticate as the Form owner. Your browser works because you're already authenticated to Microsoft 365.

    So this:

    Excel URL → HTTP GET → SharePoint Image

    is not something I'd consider a reliable/supported approach for this scenario.

    2. The cleanest solution is still the owner's OneDrive connection

    Your observation is correct: the file belongs to User X's OneDrive, and Forms stores uploaded files there.

    If User X gives you access to the relevant Forms folder, you can use a OneDrive for Business connection that has access to that location.

    You don't necessarily need User X to run the entire migration flow. The important part is that the connection used by the action retrieving the file must have permission to the actual file.

    Then the pattern becomes:

    Excel row

    → identify file

    OneDrive Get file content

    → create/update SharePoint item

    → populate Image column

    3. Another option I'd seriously consider: SharePoint Document Library

    If this is a migration of historical profile pictures, I'd actually consider whether the SharePoint Image column is the best target.

    You could:

    Forms OneDrive

    Get file content

    SharePoint Create file

    → store the file in a document library

    → associate it with the migrated list item

    This gives you the actual file as a SharePoint document and avoids some of the limitations around Image-column handling.

    4. Don't confuse the browser URL with the file content

    This is the key point I'd mention in the Community answer.

    Your browser successfully opening the URL proves:

    Your browser session has access to the file.

    It does not prove:

    Power Automate's HTTP action has permission to download the file.

    Those are two different authentication contexts.

    If you want to test the HTTP approach, use a single known image URL and inspect the HTTP action's response. If you get HTML/login content, 401, 403, or a redirect to Microsoft login, you've confirmed that the URL requires authenticated access.

    What I'd recommend

    For an existing/historical Forms migration, I would use the owner's OneDrive access rather than trying to reverse-engineer the Forms URL.

    The fact that the Excel workbook is shared with you doesn't automatically mean the uploaded files have the same permissions. Microsoft specifically notes that Forms-uploaded files are stored separately in the owner's OneDrive/SharePoint storage.

    So I'd build it as:

    Excel → Parse image URL → Get file metadata/content from Form owner's OneDrive → SharePoint

    If there are hundreds/thousands of images, I'd also avoid making the flow dependent on manually parsing the URL. Instead, locate the Forms upload folder (Apps/Microsoft Forms/<Form>/<Question>) and match the file using the filename/response data. Microsoft documents that uploaded files are stored in this Forms folder structure.

    That will generally be much more robust for a one-time historical migration.

  • Suggested answer
    sannavajjala87 Profile Picture
    931 Super User 2026 Season 2 on at
    The action you're calling is returning file metadata, not the actual file content. That's why you're seeing properties such as Name, Length, ServerRelativeUrl, etc., but no image bytes/content.
     
    Try changing the URI to request the file content directly:

    _api/web/GetFileByServerRelativeUrl('/path/to/file.jpg')/$value
    or
    _api/web/GetFileByServerRelativeUrl('/path/to/file.jpg')/OpenBinaryStream

    The endpoint you're currently using (GetFileByServerRelativeUrl(...)) returns metadata about the file. For populating a SharePoint Image column, you need the binary content of the image, not the file properties.

    Another option is to use Get file content using path (SharePoint connector) if your account has access to the file. That will return the file content directly and is often easier than working with the REST API response.

    In short: your HTTP request is working correctly, but it's returning file information instead of the image data you need for the Image column.
     
    Thanks & Regards,
    Manoj Annavajjala

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the July Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
David_MA Profile Picture

David_MA 269 Super User 2026 Season 2

#2
trice602 Profile Picture

trice602 184 Super User 2026 Season 2

#3
11manish Profile Picture

11manish 136 Super User 2026 Season 2

Last 30 days Overall leaderboard