Export Smartsheet attachments to OneDrive

Bram Batenburg
Bram Batenburg ✭✭✭✭✭
edited 06/14/22 in Add Ons and Integrations


I'm using Smartsheet to gather information through forms. People fill in a form, they add a picture in the submission, and all this gets saved in a sheet. Eventually, I receive rows filled with information in Smartsheet and for each row there is a picture attached.

I need these pictures not only within Smartsheet, but also in a shared OneDrive folder. My question is: how can I automatically export these pictures from the sheet in Smartsheet to a folder in OneDrive? Also: is it also possible to automatically rename the picture files to a name linked to the row information?

I tried working on it with Microsoft Power Automate, but I was struggling as I'm not an expert in this program.

Let me know if you have a solution!

Best regards,



  • Nathan Betters
    edited 04/16/21

    Microsoft power automate can do the trick but it is much more complex than integromat or zapier. Integromat is my favoriate because it has the largest selection of API endpoints for Smartsheet. However, I will note, that smartsheets webhooks are "buggy" and often lag, so it is important to build an error handler into integromat for any failures (exceptions).

    Happy to provide instructional document if you reach out to me.

  • Follow up- I am creating a word document with snapshots to help I will paste the file here when done.

  • Bram Batenburg
    Bram Batenburg ✭✭✭✭✭

    @Nathan Betters if you could indeed let me know how this exactly works, would be great. Because if I try to do it through Zapier, it only uploads MS-DOS files to OneDrive and not the actual pictures. Thank you!

  • Kat Woodham
    Kat Woodham ✭✭✭✭✭✭

    @Nathan Betters - this is something I'm also interested in. Would you be willing to share your word document with me as well?

  • We also have a huge need to trigger attachments to an outside folder location.

    Currently, attachments are buried in silos. Smartsheet is not the final resting place for documents but is great for gathering documents from clients.

    I hired a tech to create a Microsoft Flow (Power Automate) where if someone attaches a document, it gets copied to Sharepoint. I helped him. It was INCREDIBLY difficult, buggy, and quits working often.

    Document management is a huge problem for us using Smartsheet. Is there a suggestion area in this community? I don't see one.


  • Andrée Starå
    Andrée Starå ✭✭✭✭✭✭

    Hi @Sara Laidlaw

    I hope you're well and safe!

    Great idea! That would be a great addition to Smartsheet features.

    Here's the link to submit an enhancement request.

    Please submit an Enhancement Request when you have a moment.

    I hope that helps!

    Be safe and have a fantastic day!


    Andrée Starå | Workflow Consultant / CEO @ WORK BOLD

    Did my post(s) help or answer your question or solve your problem? Please help the Community by marking it as the accepted answer/helpful. It will make it easier for others to find a solution or help to answer!


    Andrée Starå | Workflow Consultant / CEO @ WORK BOLD

    W: www.workbold.com | E: [email protected] | P: +46 (0) - 72 - 510 99 35

    Feel free to contact me about help with Smartsheet, integrations, general workflow advice, or something else entirely.

  • heyjay
    heyjay ✭✭✭

    Hello there. Is there a saved flow you can share? I got the same project and I feel like im stucked.


  • heyjay
    heyjay ✭✭✭

    Hello! I'd like to learn more. Do you have a copy of the flow I can play with?


  • lkrobot
    lkrobot ✭✭✭✭✭

    Hi guys, you could do extremely easy with Smartsheet APIs ...

    here is a skeleton of python code that does this,

    takes the sheet, get all attachments in the sheet, and downloads to your pc hdd,

    in order to write it to OneDrive, you only need to map it ...

    here is the skeleton code:

    and for copy/paste:

    import smartsheet

    import requests

    # Initialize client. Uses the API token in the environment variable "SMARTsource_sheet_ACCESS_TOKEN"

    smartsheet_client = smartsheet.Smartsheet()

    sheet_id = 999999999999999

    response = smartsheet_client.Attachments.list_all_attachments( sheet_id, include_all=True)

    for attachment_metadata in response.data:

        attachment = smartsheet_client.Attachments.get_attachment( sheet_id, attachment_metadata.id )

        attachment_file = requests.get( attachment.url, allow_redirects=True )

        open( "C:/TEMP/" + attachment.name, 'wb' ).write( attachment_file.content )