Data bridge - creating multiple, nested rows from form submission
I am watching back the ENGAGE '24 "Discover advanced automations using Bridge by Smartsheet" presentation, done by Josh Jones and Chad Eiring.
I'm trying to recreate the solution shown in the later half of the presentation that takes a form entry, gets row, and splits it out into multiple rows/tasks nested under the original submission. I'm doing a test sheet for this, currently, with the Primary column as "Name" and a multi-select dropdown called "Options."
I'm getting stuck in the child workflow when trying to map out the "add row" section of the flow (32:03 - 33:00 in the video)
For the "Name" column, I want it to populate with the original (parent) row's information. For the "Options" column, I want it split out into a row for each selected option from the multi-select. I have it set to run the child workflow the correct amount of times (based on how many multi-selects have been selected), but can't figure out how to tell it to split out each multi-selected option into separate lines (visual of what I want it to look like at 35:34 in the video).
In other words, what needs to go in "Value 1" and "Value 2" under Cells / where can I copy the data reference from? I keep getting an error when trying to run the workflow.
Any guidance is much appreciated!
Best Answer
-
Hi @egardner
In your question, "For the "Options" column, I want it split out into a row for each selected option from the multi-select", you can get an array like ["Service 1", "Service 3"] by the following method.
First, we use the "Conditional Junctions" not to run the Get Row and Run Child Workflow by the rows added by the Bridge, not by the form.
From the "Run Log", we get the following data reference (See the above image) and set it as "false" for the "Yes" branch.
{{runtime.isInternalUpdate}}
Check the Include Additional Object Value option in the Advanced Options in the Get Row to get the array object values. You can use the array to run child workflow multiple times with the array values. (an array like ["Service 1", "Service 3"])
I put the following array reference in the Child Workflow setting, "Number of Runs." With this setting, the Child Workflow will be run by the array's length (or the number of values in the array), and the array values will be passed to it.
In the Child Workflow, I set the add rows value as follows;
As shown below, you can get sheet ID and cell value references from the log.
To add rows to a specific parent row, we set the "Advanced Options" as shown below.
Note that the Parent ID value is set by a reference, {{runtime.parentData.event.id}}, and the Bottom option is checked. By putting the Parent ID when adding a row, the new row will become a child row of the parent row. We check the Bottom option to sort the services as selected in the parent row. This way, the newly added row will be under the sibling's row.
Answers
-
Hi @egardner
In your question, "For the "Options" column, I want it split out into a row for each selected option from the multi-select", you can get an array like ["Service 1", "Service 3"] by the following method.
First, we use the "Conditional Junctions" not to run the Get Row and Run Child Workflow by the rows added by the Bridge, not by the form.
From the "Run Log", we get the following data reference (See the above image) and set it as "false" for the "Yes" branch.
{{runtime.isInternalUpdate}}
Check the Include Additional Object Value option in the Advanced Options in the Get Row to get the array object values. You can use the array to run child workflow multiple times with the array values. (an array like ["Service 1", "Service 3"])
I put the following array reference in the Child Workflow setting, "Number of Runs." With this setting, the Child Workflow will be run by the array's length (or the number of values in the array), and the array values will be passed to it.
In the Child Workflow, I set the add rows value as follows;
As shown below, you can get sheet ID and cell value references from the log.
To add rows to a specific parent row, we set the "Advanced Options" as shown below.
Note that the Parent ID value is set by a reference, {{runtime.parentData.event.id}}, and the Bottom option is checked. By putting the Parent ID when adding a row, the new row will become a child row of the parent row. We check the Bottom option to sort the services as selected in the parent row. This way, the newly added row will be under the sibling's row.
-
You can check the workfolw by inputting new data from the following form.
-
Thank you, thank you, thank you!! This was so helpful.
-
Happy to help!😁
Categories
- All Categories
- 14 Welcome to the Community
- Customer Resources
- 65.1K Get Help
- 444 Global Discussions
- 140 Industry Talk
- 472 Announcements
- 5K Ideas & Feature Requests
- 129 Brandfolder
- 150 Just for fun
- 71 Community Job Board
- 497 Show & Tell
- 33 Member Spotlight
- 2 SmartStories
- 300 Events
- 35 Webinars
- 7.3K Forum Archives