Bridge Workflow Scalability (need to duplicate x 100)
Hi there Smartsheetians,
The Situation: I have a Sheet connected to Bridge workflows (1 Parent and 1 Child) - It's a FedEx tracker API call that returns various package statuses triggered by entering tracking numbers into the Smartsheet sheet.
But, all 100 stores cannot use the same sheet otherwise there would be mayhem/anarchy as each store looked up the inbound tracking for their store. So, I was hoping there was a way to duplicate/clone the workflows (or Workspace) so that each store had their own trigger(able) sheet (and Bridge Parent/Child).
Is there any way to do this? Or can anyone think of a different way of accomplishing this (other than recreating each Bridge element manually)? Is there a way to have multiple sheets as possible triggers to the main Bridge?
Thanks...Dorron
Answers
-
@DorronM You can add a trigger for each sheet to the same workflow. So whichever sheet adds a row it will run the bridge workflow. There are api rate limits so if many many people are doing it at the same time you may run into issues. In your workflow you'll have a get row and the rowid would be something like {{runtime.event.id}}. All depends how your workflow is set up.
-
Hi Samuel,
I appreciate your response but while it makes sense to allow multiple "trigger" sheets to utilize a centralized workflow nothing about Bridge makes any sense (to me).
I would probably have to share the workflow but I don't know how. So here's some screen grabs of how things are set up. totally understandable if you don't have the time to parse all this. I know my org pays tons of $ for smartsheet so hopefully I can find some help beyond these forums.
The attached workflow works (the final image shows two trigger sheets, but the second one does not work, the first/original one does though). I think the GetRow and UpdateRow have a Sheet ID specified and so it's locked to just that one.
-
@DorronM Tell me more about the process in Smartsheet, not in bridge. Where are you getting the tracking number? What are you trying to do ultimately?
You have 2 sheets. One where someone enters a tracking number, then your expecting data to be retrieved some FedEx and added to a different sheet? can you provide a process map or write it out?
Also if you are using one sheet to collect tracking numbers, are you clearing that sheet each time? Because your workflow in bridge is looking a every row in your first sheet every time something changes based on your trigger. Or is you API Call filtering to specific rows?
-
Hi Samuel,
Here's the process. There is a Sheet with four columns, the user enters a block of tracking numbers (we get these from an intransit DC report) into column A, and the Bridge/system populates the relevant status info (from FedEx) in col's B/C/D (upon saving the sheet). The next day the user deletes/overwrites the data to get fresh output for that day.
As I understand it the Bridge process reaches in to the sheet (via API) then the workflow reads each line/tracking #, then performs an API call to FedEx, then writes the results (UpdateRow) into the sheet.
This process works fine as a one-off for one store to track their inbound shipments, but we have hundreds of stores and they cannot all use the same live sheet. So I was looking at ways to scale/duplicate/clone the process. Your initial suggestion of having multiple Sheets connected to a central/main workflow sounds good in theory, if it's possible. Other options would be to methodically duplicate the workflow. Not sure if there are others.
The only reason there are two sheets is due to trying your suggestion. I could delete the second to get back to our original state.
TBH, the setup is like it is due to a discussion with a super(ish) user here, and Smartsheet API tutorials, but there could very well be a more elegant solution. I'm an engineer, quite comfortable with Alteryx, deep Excel, etc. but I don't know JSON and I guess the Bridge workflow system hasn't quite clicked yet.
If you can help me crack this nut I'll be happy to send you a pair of Vans shoes of your choice 😀 (I work for Vans)
Thanks
-
@DorronM Okay I think that makes more sense. You probably could use the bridge method "Get Sheet" instead of the api call. However, either way should work fine. Thank you for clarifying the two triggers. It should work but you need to change the sheet ID to dynamic, similar to {{runtime.data.id}}. I think it would be something like {{runtime.sheetID}} That way when the sheet is triggered your workflow knows which sheet to point to. Then you could make a sheet for each store, and just use the one workflow in bridge. The only downside is you would still have to add a trigger for each sheet, so maintaining could get annoying.
*You need to put {{runtime.sheetID}} everywhere you have sheet id in your workflows, including the API call. However the child workflow may be something like {{runtime.parentData.sheetID}}.
If you have control center, in theory you could create a blueprint to create new stores and use a summary roll up sheet to get bridge to identify which store made an update, and then the workflow would run for that store. You would only need one trigger but the set up would be a lot more complex.
-
@DorronM any luck?
-
Unfortunately not. I think my knowledge/comprehension isn't at the level that I can understand what you are referencing. I understand the concept of a dynamic call to the sheet (primary workflow to multiple sheets), but not how to execute. I also wouldn't mind doing the extra work to set up all the stores initially. I just don't want to have to create a unique workspace (w/Parent+Child) for each store - but that might be my only option if we move forward. I'll look into if our org has Control Center
And again, I appreciate your interest/effort.
D
-
@DorronM try to follow what I have here. This is your first Workflow (Parent). I did not use the API Call you should be able to use Get Sheet.
****This is your child
You add a trigger in "Integrations" > "Smartsheet" for each stores sheet. This is the only piece you need to add for each store you have. **When you first choose when column values are changed you only have to put in the column name, when you hit save it will add the column ID.**
Each store sheet is going to have the same set up, or at the very least the same base columns that you are using in the workflow.
***** the reference in the fedex track a package ({{runtime.data.cells.Tracking Number.value}}) comes from the trigger box and whatever column name you have the tracking numbers. Get the json reference from there
-
@DorronM any luck? curious if you found a solution
Categories
- All Categories
- 14 Welcome to the Community
- Smartsheet Customer Resources
- 64K Get Help
- 410 Global Discussions
- 220 Industry Talk
- 459 Announcements
- 4.8K Ideas & Feature Requests
- 143 Brandfolder
- 138 Just for fun
- 57 Community Job Board
- 459 Show & Tell
- 31 Member Spotlight
- 1 SmartStories
- 298 Events
- 37 Webinars
- 7.3K Forum Archives