When a new row is created in Smartsheet, Create SharePoint List Item

I'm trying to do my first Smartsheet Power Automate flow. I've created a SharePoint list to hold the data. When a new row is added to a Smartsheet, I would like for that row of data to be used to create a new item in a SharePoint List.

 The part that I need help with is the mapping of the columns from the SharePoint Create Item step. Need to map the columns to the ones coming in from Smartsheet.


Best Answer

  • Kelly Moore
    Kelly Moore ✭✭✭✭✭✭
    Answer ✓

    Hey @chasquad

    As a build on Ryan's advice, try adding The Get Sheet (schema) to your flow. Although there might be less clunky ways of doing this, this flow works for me. I have to use the same flow if I am adding a smartsheet row back to an online Excel table.


    Here's the flow broken down, step by step

    Expression: last(createArray(outputs('Get_a_sheet_data_(dynamic_schema)')?['body/value']))


    This is the array that gets the Last Row added

    Expression: last(outputs('ComposeArrayForLastRow'))


    And finally, create the list item. The expressions are individually created using smartsheet column names


    Expression: outputs('ComposeLastRowOfArray')?['Business Day']


    I hope this helps

    Kelly

Answers

  • Ryan Kramer
    Ryan Kramer ✭✭✭✭✭

    You can make it so that you have a webhook listening to new rows in Smartsheet and then receives the request and triggers your service to process the request and push the data to your other system.

    I generally like approaching it in a different way and having a process run on a schedule as sometimes hosting services and receiving requests can be challenging in different organizations.

    Then you can just have the process run every morning and gather all of the new records since the previous run.

    Ryan

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

  • Kelly Moore
    Kelly Moore ✭✭✭✭✭✭
    Answer ✓

    Hey @chasquad

    As a build on Ryan's advice, try adding The Get Sheet (schema) to your flow. Although there might be less clunky ways of doing this, this flow works for me. I have to use the same flow if I am adding a smartsheet row back to an online Excel table.


    Here's the flow broken down, step by step

    Expression: last(createArray(outputs('Get_a_sheet_data_(dynamic_schema)')?['body/value']))


    This is the array that gets the Last Row added

    Expression: last(outputs('ComposeArrayForLastRow'))


    And finally, create the list item. The expressions are individually created using smartsheet column names


    Expression: outputs('ComposeLastRowOfArray')?['Business Day']


    I hope this helps

    Kelly