Skip to main content

Notifications

Power Automate - General Discussion
Unanswered

How do I remove usernames from Microsoft Forms attachments

(0) ShareShare
ReportReport
Posted on by 10

Hi everyone, 

 

I've created an MS form to capture photo submissions but when I go to download the files it adds the name of the person who submitted the form/attachment in the file name. So instead of the file name reading "Supermarket" it is labelled as "Supermarket_Smith_John". 

 

I've created a cloud flow to transfer data from the form onto a SharePoint list. Is there somewhere on my flow where I can input an action to remove the username from the file name? 

Please note that I am a complete novice so you'll have to explain to me in simple terms 🙂 

I've also attached a screenshot of my process flow.

Sayyied2022_1-1660907191046.png

 

Thanks

Sayyied

 

  • JSFHRMS Profile Picture
    JSFHRMS 2 on at
    Re: How do I remove usernames from Microsoft Forms attachments

    I had the same problem and after some testing I may have found a solution for this. 

    Please note this solution does not work for anonymous responses, however you could bluit in a condition for this. 

     

    The solution I found works like this:

    - For each attachment

     

     

    json(outputs('Get_response_details')?['body/r07de2b546a4744baa4df6dee5027c30e'])​​

     

    Where ['body/r07de2b546a4744baa4df6dee5027c30e'] corresponds to the Forms questions where you can add attachments

     

    - Get the User Profile of the responder of the form

    - Compose the file name (including the user name) of the attachment

    - Then compose the user name in the same way as it's added to the File Title (_ + Given Name + (space) + Surname)

     

     

     

    concat('_',outputs('Get_user_profile_(V2)')?['body/givenName'], ' ', outputs('Get_user_profile_(V2)')?['body/surname'])​​

     

     

     

    - Remove the composed User Name for the File Title by replacing it with a blank

     

     

    replace(outputs('Compose_-_File_Name_with_extension'),outputs('Compose_-_User_Name'), '')​​

     

     

     

    I Hope it also work for your situation.

    Forms - Remove User Name from File Name.png

  • Sayyied2022 Profile Picture
    Sayyied2022 10 on at
    Re: How do I remove usernames from Microsoft Forms attachments

    Hi @Cayshin 

     

    Sorry for my delayed response, I've updated my cloud flow as follows: 

     

    Sayyied2022_1-1663074727772.png

     

    But the problem still persists.

     

    I also tried to enter the following express (as highlighted in your above answer) in the 'Inputs' field: replace(outputs('Compose'), concat('_', last(split(outputs('Compose'),'_'))), concat('.',last(split(outputs('Compose'),'.'))))

     

    But it keeps saying 'Invalid expression' 

     

    If I submit an attachment via MS forms the submitters name is still automatically added to the naming of the file. Do you have any thoughts as to what I'm doing wrong? Do you have any thoughts on this @MarconettiMarco

  • Cayshin Profile Picture
    Cayshin 312 on at
    Re: How do I remove usernames from Microsoft Forms attachments

    @Sayyied2022 

    So I did some testing and learned that the dynamic content that holds the filename is actually a string list that contains other data.

    Cayshin_1-1660933933652.png

     

    Cayshin_0-1660933870600.png

     

    For MarconettiMarco's suggestion to work, we need to extract the filename from that content. Here is an expression you can use to do that (replace the bold section with your dynamic content. You may need to do some trial and error to find the right one. Ex. dump them all into a compose, run it, check the results to see which one has the data you want):

    json(outputs('Get_response_details')?['body/r4550c900756e412eb445dac014bc7d43'])[0]['name']

     

    With the expression, we're converting the string list to a JSON array. The [0] means we're selecting the first (and in this case, only) "row" of data from the array, then the ['name'] means we're selecting the name field which holds our filename.

     

    So now that we have extracted the filename, I'd like to make a small change to MarnettiMacro's code. He's suggesting to perform a split at each occurrence of an underscore ("_") then selecting the first element returned by that split. But what if the person submitting a photo already has/puts their own underscores in the filename? Then we're going to be missing part of the filename. So in actually, we only want to remove everything after the last underscore (but keep the file extension).

     

    Here's an expression that will remove everything (except the file extension) after the last underscore:

    replace(outputs('Compose'), concat('_', last(split(outputs('Compose'),'_'))), concat('.',last(split(outputs('Compose'),'.'))))
     
    In the above expression above, we're identifying everything after that's after last underscore, then replacing it with just file extension. The concats are there to add the in the little bit of text that got lost through the splitting.
    Cayshin_2-1660935575861.png

     

     

    There may be other ways to accomplish the same as the expression above, but this should work for your purposes.

  • Sayyied2022 Profile Picture
    Sayyied2022 10 on at
    Re: How do I remove usernames from Microsoft Forms attachments

    Hi @MarconettiMarco 

     

    So far I've tried using the 'Upload photographs', 'Resource data', 'Please reformat...' and 'Resource data' Dynamic Content within the expression you highlighted above, but alas no luck. 

     

    Is there any other solution I can try? 

     

    For context, my MS forms is set up as below. 

     

    1. Please type in subject's name

    - Text box answer

    2. Please rename each file in the following convention (Surname, First Name) and check the button below to confirm. 

    - Button

    3. Is this an urgent request?

    - Yes/No

    4. If so please confirm your deadline. 

    - Date

    5. Upload photographs

    - Upload button

    **Submit**

  • MarconettiMarco Profile Picture
    MarconettiMarco 3,812 on at
    Re: How do I remove usernames from Microsoft Forms attachments

    Hello @Sayyied2022 ,

    I don't know how is build your Forms. Anyhow I think you should use the "Please reformat..." value, am I right?

     

    BR,

    Marco

  • Sayyied2022 Profile Picture
    Sayyied2022 10 on at
    Re: How do I remove usernames from Microsoft Forms attachments

    Here are all the dynamic content options available to me: 

     

    Sayyied2022_0-1660914966091.png

    I have previously tested the 'Upload photographs' option located under 'Dynamic content'. 

     

    Is there an expression you can send me that I can just copy and paste? 

     

    Btw I'm not too sure where that 'name' option has disappeared to. I'm referencing what was seen in my previous message. 

  • MarconettiMarco Profile Picture
    MarconettiMarco 3,812 on at
    Re: How do I remove usernames from Microsoft Forms attachments

    ok @Sayyied2022 ,

    no worries, from where are you grabbing the incorrect file name? From the "Get response details" action?

     

    BR,

    Marco

  • Sayyied2022 Profile Picture
    Sayyied2022 10 on at
    Re: How do I remove usernames from Microsoft Forms attachments

    Thanks @MarconettiMarco 

     

    I've followed the instructions as you highlighted above but it's still not working 😞 

    I enter the expression trim(first(split(,'_'))) and I select the 'Name' dynamic content in between ( and , 

    This results in the following expression: 

    trim(first(split(outputs('Create_item')?['body/{Name}'],'_')))

    Sayyied2022_0-1660912616972.png

    I noticed your box is blue but mine is purple (not too sure if this makes a difference): 

     

    Sayyied2022_0-1660913192553.png

     
     
     
     
     
     

    For context, on the MS forms I built out there is a 'name' field but that doesn't automatically rename the file or anything. On the MS forms I ask people to rename the file prior to uploading any attachments. A question is included in the form asking for confirmation that they've done this and they have to check a button as confirmation. 

     

    Hope that made sense. Do forgive me if this is annoying. I don't work in IT so this is all new to me. 

     

    Sayyied

  • MarconettiMarco Profile Picture
    MarconettiMarco 3,812 on at
    Re: How do I remove usernames from Microsoft Forms attachments

    @Sayyied2022 ,

    like this:

    MarconettiMarco_0-1660910462595.png

    trim(first(split(outputs('Get_response_details')?['body/ref24e6486aa24a05ac15e6313beb66b8'],'_')))

    Trim.gif

     

    If I have answered your question, please mark my post as Solved.
    If you like my response, please give it a Thumbs Up.

    BR,

    Marco

  • MarconettiMarco Profile Picture
    MarconettiMarco 3,812 on at
    Re: How do I remove usernames from Microsoft Forms attachments

    Hello @Sayyied2022 ,

    my Compose action represents only an example.

    You can directly put the "trim" expression in the related "Create item" action field, replacing "outputs('Compose')" with the question grabbed from Forms.

     

    If I have answered your question, please mark my post as Solved.
    If you like my response, please give it a Thumbs Up.

    BR,

    Marco

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

Microsoft Kickstarter Events…

Register for Microsoft Kickstarter Events…

Announcing Our 2025 Season 1 Super Users!

A new season of Super Users has arrived, and we are so grateful for the daily…

Announcing Forum Attachment Improvements!

We're excited to announce that attachments for replies in forums and improved…

Leaderboard

#1
WarrenBelz Profile Picture

WarrenBelz 145,636

#2
RandyHayes Profile Picture

RandyHayes 76,287

#3
Pstork1 Profile Picture

Pstork1 64,942

Leaderboard