I want to write an auto-workflow: copy the bottom row that is not blank from Sheet1 to Sheet2

I am using a form for users to populate a Grid. When they finish the form, the data appears in Sheet1, bottom row. When the checkbox for the row is checked/true, it triggers the workflow.

The problem is the workflow copies the whole Sheet1 over to Sheet2, below the existing data, creating duplicates of the existing data in Sheet2.

How do I get the workflow to ONLY copy the new row in Sheet1, over to Sheet2 at the bottom of the sheet in the next available open row?

Thanks in advance for any assistance!

dw

Answers

  • sharkasits
    sharkasits ✭✭✭✭✭

    @voxdw@voxdw can you add a screenshot of the workflow you're currently using. If the user is entering data in a form, you should just be able to trigger when a row is added and True is checked.


  • voxdw
    voxdw ✭✭✭

    Thanks. I'm attaching the screenshot.

    It is similar to yours then adds the COPY action... but it copies all 17 rows. When the User completes and the row appears, it adds itself as the bottom row, in this case Row 17. The next User who completes a form, will add a new row to line 18, and so forth. I only want that last line of content to be copied to the other sheet.

    Thanks!

  • sharkasits
    sharkasits ✭✭✭✭✭

    @voxdw Do you have any other automations or things changing the data in the row? Or anyone making updates to the rows?

    I would change the trigger to "When rows are added" instead of "When rows are changed"

    If for some reason that doesn't work, then I would add an autonumber column and a checkbox that indicates if it's the max row and add that condition to your flow.

  • voxdw
    voxdw ✭✭✭

    The 'max row'? I assume that is formulaic, I'll look it up.

    Many thanks, I'll give this a shot.

  • voxdw
    voxdw ✭✭✭

    The trigger is the Check Box = true. Thats a manual check as we review the intake before moving it forward. The trigger should only

    When manually 'running' the automation (kind of an oxymoron) it asks to 'run it on the sheet' or 'run on specific rows'.

    If I pick 'sheet' it adds all the rows. If I select Specific Rows of course it just transfers the specific row which is great. But how do I automate that.... using the MAX Row?

  • Genevieve P.
    Genevieve P. Employee Admin

    Hi @voxdw

    It sounds like what's happening is that you're manually running the workflow which will evaluate all rows as if they just had the trigger happen.

    However with the way you have it set up, this should only copy rows over once the checkbox changes, meaning only once you have manually checked the box (without then going into the workflow itself to manually do anything).

    This means that as long as you don't change earlier rows to be un-checked then checked again, those earlier rows should not trigger your workflow - only the newly checked row should be moving over.

    Can you confirm if you've tried waiting for the workflow before 'running' the automation manually?

  • voxdw
    voxdw ✭✭✭

    Thanks for your assistance. I figured out how to do what I needed by adding a checkbox column and a couple of formulas that would be unique to the added row, so that only that row would copy over. As they say, spit, grit and a whole lot of duct tape. ;-)

  • voxdw
    voxdw ✭✭✭

    Hi @Genevieve P.

    Sorry I didn't respond specifically. Yes, I've learned the timing for refreshes and workflow executions. And have solved that issue. I put in a new Q about a different issue I am having for which I expect there to be a simple answer, I just don't know 'what I don't know' quite yet 😉

Help Article Resources

Want to practice working with formulas directly in Smartsheet?

Check out the Formula Handbook template!