cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ms123nw
Frequent Visitor

Overwrite existing PDF attachment in SharePoint List

Hi,

 

I have a Flow, triggered in PowerApps which creates a PDF file and adds it to the Attachments column in my SharePoint List and a Document Library. The problem I have is that I cannot get the Flow to overwrite the existing PDF in the Attachment column (if one has already been created). The PDF in the Document Library overwrites as I want it to.

 

See image of Flow below. 

 

Note that when using the 'Create file' action I can overwrite the existing PDF by setting 'Allow chunking' to off. This setting is not available for the 'Add attachment' action.

 

 

Flow.PNG

 

Add PDF file to SharePoint PDF's Library is the 'Create file' action.

The action Add PDF to SharePoint List ('Add attachment' action) is where the problem is occurring. 

 

Image of error below

 

Error.PNG

 

I have tried to update the Flow where it should delete the existing attachment but this did not work.

 

Any help appreciated. 

6 REPLIES 6
MarvinBangert
Memorable Member
Memorable Member

Hey @ms123nw 

there is no API to overwrite the list attachment, so you need to delete the attachment first before "updating" the content. Check out these two discussions from another forum:

splistitem - Update attachment of list item using rest api is failing - SharePoint Stack Exchange

sharepoint - REST API: How to create or update attachment in a list item? - Stack Overflow

 

So the solution would be to use "SharePoint - Get attachments" action to check for the already attached documents, if the displayname is the same, delete the document and attach the new one.

 

Hope this helps you.

 

Best regards
Marvin

If you like this post, give a Thumbs up. If it solved your request, Mark it as a Solution to enable other users to find it.

Hi @MarvinBangert,

 

Thanks for the suggestion, I tried what you suggested plus some other things, but I still cannot delete the original PDF file in the way that I want to. The closest I've managed to get it to the behaviour I want is the following Flow (continued from the 1st image above ). 

Flow2.PNG

Note that the 'Get attachments' action will only run when 'Add PDF to SharePoint List' fails, it will fail when a file with the same name already exists. 

 

The problem with this is that I've had to manually enter 'issue_51.pdf' as one of parameters for the Condition. This needs to be dynamic content so that it works with any PDF that might already be created. 

 

If I select DisplayName from the action 'Add PDF to SharePoint List' (which is a 'Create attachment' action, just renamed) instead of manually entering a filename the condition evaluates to false meaning the 'Delete attachment' action will not run.

 

I did change the condition to 'is not equal to' and the condition evaluates to true so the Delete attachment action runs, however this deletes every attachment for that particular list item and not just the PDF.

 

Sorry for the long post, hope it makes sense.

 

Any ideas?

 

Thanks

 

MarvinBangert
Memorable Member
Memorable Member

Hey @ms123nw 

I builded this in my tenant, it's not completely the same as in your tenant, but maybe gives you an idea:

MarvinBangert_0-1635975709411.png

 

In my case I have a document within a SharePoint library and I trigger it on selecting this file. To get the content I need the "Get file content using path". Now is the part, which is helpful for you:

Get attachments (from the SharePoint List), this will get all attachments first. Then I compare every Attachment DisplayName with the fileName (from the trigger, in your case from OneDrive). If there is an attachment with this name, delete it. After running through every attachment, I add the new attachment, so I can be sure, that the Attachment with this name has been deleted or never exists before.

 

I hope this will give you a good idea on how to solve this!

 

Best regards
Marvin

If you like this post, give a Thumbs up. If it solved your request, Mark it as a Solution to enable other users to find it.

Blog: Cloudkumpel

@MarvinBangert Thanks a lot for the image.

 

This seems like its very close to what I need. The problem I now have is 'Add PDF to SharePoint List' does not run when a file with the same name already exists. Because this action doesn't run, any subsequent actions also do not run, meaning the attachment with the same name does not get deleted. To counter this I set 'Get attachments' to run after 'Add PDF to SharePoint List' has failed.

 

The below image shows the error from the 'Delete attachment' action. 

 

Error2.PNG

 

 

The condition section of the flow is below

 

Flow3.PNG

The File identifier for 'Delete attachment' is coming from 'Add PDF to SharePoint List'. 

I think the problem is because the 'Add PDF to SharePoint List' action doesn't run when a file with same name exists, the 'Delete attachment' action cant find a reference to the attachment ID and so it shows the attachmentId as null - Shown in image below

attachment.PNG

The flow runs correctly when an attachment with the same name does not exist.

 

Any way around this?

 

Appreciate the help

 

MarvinBangert
Memorable Member
Memorable Member

Hey @ms123nw 

you should try to think the flow the other way around, as in my picture within my last post, you can see the structure of the flow:

  1. Get attachments from a list item
  2. Apply to each (for each attachment from the get attachments)
  3. Condition to check, if the current item (attachment) name is the same as the document we want to add
    1. If Yes: Delete the existing attachment from the Item
    2. If No: Do nothing
  4. After the apply to each ran through all attachments and compared it with the new document, we want to attach, leave the loop and add the attachment. If there already was an attachment with the same name, it is deleted by the loop, if there was no attachment before, it will just be added.

 

Does this help you? Otherwise please give me some more information.

Best regards
Marvin

If you like this post, give a Thumbs up. If it solved your request, Mark it as a Solution to enable other users to find it.

Blog: Cloudkumpel

Hi @MarvinBangert, sorry for the delayed response.

 

I've looked at my Flow and it follows the same structure as yours. See image below -

 

Flow.PNG

Image of the entire Flow is below -

EntireFlow.PNG

I think where the problem occurs is on the 'Add PDF to SharePoint List' (Add attachment action). Because there already exists an attachment with the same name, this action does not run, and so the following actions do not run either. I set 'Get attachments' to run after 'Add PDF to SharePoint List' has failed, even doing this I still can't get the desired behaviour. 

 

The problem now is that 'Delete attachment' has a null value for 'attachmentId'. I believe this occurs because 'Add PDF to SharePoint List' does not run and doesn't create a value to be passed into 'Delete attachment'.

 

The Flow does run correctly with newly created items. I can see that 'attachmentId' is not null for the new items. This is because 'Add PDF to SharePoint List' DOES run and a value exists to be passed into 'Delete attachment'.

 

Thanks again.

Helpful resources

Announcements

Power Platform Connections - Episode 7 | March 30, 2023

Episode Seven of Power Platform Connections sees David Warner and Hugo Bernier talk to Microsoft MVP Dian Taylor, alongside the latest news, product reviews, and community blogs.     Use the hashtag #PowerPlatformConnects on social media for a chance to have your work featured on the show!      Show schedule in this episode:    0:00 Cold Open 00:30 Show Intro 01:02 Dian Taylor Interview 18:03 Blogs & Articles 26:55 Outro & Bloopers    Check out the blogs and articles featured in this week’s episode:    https://francomusso.com/create-a-drag-and-drop-experience-to-upload-case-attachments @crmbizcoach https://www.youtube.com/watch?v=G3522H834Ro​/  @pranavkhuranauk https://github.com/pnp/powerapps-designtoolkit/tree/main/materialdesign%20components @MMe2K​ https://2die4it.com/2023/03/27/populate-a-dynamic-microsoft-word-template-in-power-automate-flow/ @StefanS365 https://d365goddess.com/viva-sales-administrator-settings/ @D365Goddess https://marketplace.visualstudio.com/items?itemName=megel.mme2k-powerapps-helper#Visualize_Dataverse_Environments @MMe2K    Action requested:  Feel free to provide feedback on how we can make our community more inclusive and diverse.    This episode premiered live on our YouTube at 12pm PST on Thursday 30th March 2023.    Video series available at Power Platform Community YouTube channel.    Upcoming events:  Business Applications Launch – April 4th – Free and Virtual! M365 Conference - May 1-5th - Las Vegas Power Apps Developers Summit – May 19-20th - London European Power Platform conference – Jun. 20-22nd - Dublin Microsoft Power Platform Conference – Oct. 3-5th - Las Vegas    Join our Communities:  Power Apps Community Power Automate Community Power Virtual Agents Community Power Pages Community    If you’d like to hear from a specific community member in an upcoming recording and/or have specific questions for the Power Platform Connections team, please let us know. We will do our best to address all your requests or questions.       

Announcing | Super Users - 2023 Season 1

Super Users – 2023 Season 1    We are excited to kick off the Power Users Super User Program for 2023 - Season 1.  The Power Platform Super Users have done an amazing job in keeping the Power Platform communities helpful, accurate and responsive. We would like to send these amazing folks a big THANK YOU for their efforts.      Super User Season 1 | Contributions July 1, 2022 – December 31, 2022  Super User Season 2 | Contributions January 1, 2023 – June 30, 2023    Curious what a Super User is? Super Users are especially active community members who are eager to help others with their community questions. There are 2 Super User seasons in a year, and we monitor the community for new potential Super Users at the end of each season. Super Users are recognized in the community with both a rank name and icon next to their username, and a seasonal badge on their profile.  Power Apps  Power Automate  Power Virtual Agents  Power Pages  Pstork1*  Pstork1*  Pstork1*  OliverRodrigues  BCBuizer  Expiscornovus*  Expiscornovus*  ragavanrajan  AhmedSalih  grantjenkins  renatoromao    Mira_Ghaly*  Mira_Ghaly*      Sundeep_Malik*  Sundeep_Malik*      SudeepGhatakNZ*  SudeepGhatakNZ*      StretchFredrik*  StretchFredrik*      365-Assist*  365-Assist*      cha_cha  ekarim2020      timl  Hardesh15      iAm_ManCat  annajhaveri      SebS  Rhiassuring      LaurensM  abm      TheRobRush  Ankesh_49      WiZey  lbendlin      Nogueira1306  Kaif_Siddique      victorcp  RobElliott      dpoggemann  srduval      SBax  CFernandes      Roverandom  schwibach      Akser  CraigStewart      PowerRanger  MichaelAnnis      subsguts  David_MA      EricRegnier  edgonzales      zmansuri  GeorgiosG      ChrisPiasecki  ryule      AmDev  fchopo      phipps0218  tom_riha      theapurva  takolota     Akash17  momlo     BCLS776  Shuvam-rpa     rampprakash  ScottShearer     Rusk  ChristianAbata     cchannon  Koen5     a33ik  Heartholme     AaronKnox  okeks      Matren   David_MA     Alex_10        Jeff_Thorpe        poweractivate        Ramole        DianaBirkelbach        DavidZoon        AJ_Z        PriyankaGeethik        BrianS        StalinPonnusamy        HamidBee        CNT        Anonymous_Hippo        Anchov        KeithAtherton        alaabitar        Tolu_Victor        KRider        sperry1625        IPC_ahaas      zuurg    rubin_boer   cwebb365   Dorrinda   G1124   Gabibalaban   Manan-Malhotra   jcfDaniel   WarrenBelz   Waegemma   drrickryp   GuidoPreite    If an * is at the end of a user's name this means they are a Multi Super User, in more than one community. Please note this is not the final list, as we are pending a few acceptances.  Once they are received the list will be updated. 

Register now for the Business Applications Launch Event | Tuesday, April 4, 2023

Join us for an in-depth look into the latest updates across Microsoft Dynamics 365 and Microsoft Power Platform that are helping businesses overcome their biggest challenges today.   Find out about new features, capabilities, and best practices for connecting data to deliver exceptional customer experiences, collaborating, and creating using AI-powered capabilities, driving productivity with automation—and building towards future growth with today’s leading technology.   Microsoft leaders and experts will guide you through the full 2023 release wave 1 and how these advancements will help you: Expand visibility, reduce time, and enhance creativity in your departments and teams with unified, AI-powered capabilities.Empower your employees to focus on revenue-generating tasks while automating repetitive tasks.Connect people, data, and processes across your organization with modern collaboration tools.Innovate without limits using the latest in low-code development, including new GPT-powered capabilities.    Click Here to Register Today!    

Check out the new Power Platform Communities Front Door Experience!

We are excited to share the ‘Power Platform Communities Front Door’ experience with you!   Front Door brings together content from all the Power Platform communities into a single place for our community members, customers and low-code, no-code enthusiasts to learn, share and engage with peers, advocates, community program managers and our product team members. There are a host of features and new capabilities now available on Power Platform Communities Front Door to make content more discoverable for all power product community users which includes ForumsUser GroupsEventsCommunity highlightsCommunity by numbersLinks to all communities Users can see top discussions from across all the Power Platform communities and easily navigate to the latest or trending posts for further interaction. Additionally, they can filter to individual products as well.   Users can filter and browse the user group events from all power platform products with feature parity to existing community user group experience and added filtering capabilities.     Users can now explore user groups on the Power Platform Front Door landing page with capability to view all products in Power Platform.      Explore Power Platform Communities Front Door today. Visit Power Platform Community Front door to easily navigate to the different product communities, view a roll up of user groups, events and forums.

Microsoft Power Platform Conference | Registration Open | Oct. 3-5 2023

We are so excited to see you for the Microsoft Power Platform Conference in Las Vegas October 3-5 2023! But first, let's take a look back at some fun moments and the best community in tech from MPPC 2022 in Orlando, Florida.   Featuring guest speakers such as Charles Lamanna, Heather Cook, Julie Strauss, Nirav Shah, Ryan Cunningham, Sangya Singh, Stephen Siciliano, Hugo Bernier and many more.   Register today: https://www.powerplatformconf.com/   

Users online (6,468)