Bulk Adding Rows To Multiple Tables

Hi everyone, curious if anyone can help me with this.

I have a table called Schedule that stores events. I also have another table called Items for Schedule, which can contain multiple rows per Schedule row — each row represents a specific item for that event.

For example, if I have an event on March 16 in the Schedule table, and I’m serving chicken, meat, fish, and dessert, those would appear as four separate rows in the Items for Schedule table.

This table also has four daughter tables (used for calculations, kitchen reports, etc.). Normally, when a user adds a new row to Items for Schedule, it automatically generates corresponding rows in all daughter tables with a shared unique ID so everything stays linked.

What I’m trying to figure out is this: how can a user go to a new event — say March 21 — and bulk copy all the items from the March 16 event? The goal is not to move or remove anything from the original event, but to create new rows tied to the new event ID.

At the same time, I also need the system to automatically create the matching rows in all daughter tables for each copied item, just like it does when a new item is added manually.

Any guidance would be much appreciated. Thanks!

This is very doable, but you have to be very careful with looping.

I imagine it will be along the lines of this:

  • Manual workflow that accepts an oldEventID and a newEventID.
  • User‑triggered workflow that sends those event IDs to the manual workflow (via a Trigger Workflow step).

From there, the manual workflow would:

  1. Get the old event and its items
  • Given the ‎oldEventID parameter, first query the Schedule table and get the row based on a filter.
  • From that row, use a relation (for example, ‎rel Items for Schedule) to get the collection of items you want to copy.
  1. Loop over the related items
  • Add a Loop step that runs “for each row in collection” using that ‎rel Items for Schedule relation as the collection.
  1. Create a new item row for each source item
  • Inside the loop:
    • Add Row to ‎Items for Schedule:
      • Copy all the relevant fields from the loop item (name, category, quantities, notes, etc.).
      • Set the ‎Event ID to the newEventID (the target event you’re copying into).
  1. Create daughter rows for each new item
  • Still inside the loop, immediately after the Add Row step:
    • Add Row to Daughter Table 1 using the new ‎ItemID and any default/calculated values.
    • Add Row to Daughter Table 2 with the same ‎ItemID.
    • Repeat for all four daughter tables.

This keeps your existing “1 item → 4 daughter rows” pattern consistent, whether the item was created by a form or by this bulk‑copy workflow.

1 Like

Hi, thank you for the suggestion — I’m going to give this a try.

I’m running into an issue with loops though. If there are 10 items and my loop limit is set to 25, it ends up creating 25 rows with duplicates instead of just processing the 10 existing items.

Any idea what might be causing that or how I can limit the loop so it only runs once per actual item rather than up to the maximum limit?

Try limiting the query with a 2nd filter ( example: & collumnx - is not empty ) and adding to the loop after to set the collumn inside the row as “sent” or anything u want. So the moment is goes back again, the query is going to be empty

Thank you

This should not happen though. Limit should just bound the upper side of the loop. As long as you set it to loop through the relation/query, it will just run through the count of that list.

Can you share your configs through some screenshots?