I have the following setup:
Table 1 :
Action A: Update Table2 Column 3
Action A setup:
Do this: Data: execute an action on a set of rows
Reference table: Table 2
Referenced Rows:
FILTER("Table 2", AND([Column 1]=[_THISROW].[Column 1], [Column 2]=[_THISROW].[Column 2]) )
Referenced Action: Action B
Table 2:
Action B: Increment Column 3
Action B setup:
Do this: Data: set the values of some columns in this row
Set these columns: Column 3 = [Column 3] + 1
Issue:
Form Saved
If I set Table 1's Action A as a Table 1_Form's Form Saved behavior - Action Runs
Automation Bot
If I instead, create an automation bot using the same setup
Run action on rows
Referenced table: Table 2
Referend rows:
FILTER("Table 2", AND([Column 1]=[_THISROW].[Column 1], [Column 2]=[_THISROW].[Column 2]) )
Referenced Action: Action B
The action doesn't fire
Why?
What's even more interesting is if I change the Referenced Rows of the automation bot into
Table 2[KEY], the action runs. but I can't use this as it triggers the action on All Rows of Table 2.
What's going on here?
Solved! Go to Solution.
I figured out what to do (sort of).
This is what I did, in the bot step that runs action in set of rows, I turned on linking to make step reusable.
Then the bot step turns into a dropdown in which I was able to select the Recalculate action behavior I created. Before saving, I switched to behavior page and saw the new action that the bot created. I renamed it, set icons, etc, then came back to the Bot page then saved it.
After this, I didn't need the action behavior I created doing the same action in set of rows. This is now cleaner for me.
My testing on similar set up showed that reference action works with BOTs with the filter expression on the referenced table. The "Process" of the BOT needs to be specifically set on the initiating table ( Table 1 in your case).
You may want to elaborate exactly where it does not work- meaning any error or it simply does not run.
The process simply does not run. Even if I execute it through the Test button of the BOT, it does not seem to catch the referenced rows given by the filter expression. While the exact same Filter() expression was understood by the Action behavior.
I ended up having to create the Action Behavior on Table 1, then just call it from the bot using Grouped Actions, having only that Action in the group.
Pretty cumbersome, as I would assume that the logic of the Action Behavior and the Logic of the BOT, in as far as Run Action on set of Rows is concerned, should be similar.
Why would the action behavior be able to understand the filter expression, while the BOT does not?
Okay, thank you. As I mentioned, with my testing, bot worked. Maybe, there is some incorrect understanding of your requirement. However, I am sharing the screenshots of the bot configuration that worked, just in case it helps. The bot increments a column value in the referenced table (Orders) whenever there is a change ( add or updates) in Customers.
Image 1: bot set on Table 1( Customers)
Image 2: process set on Table 1( Customers)
Table 2( Orders)
Image 3: Filter expression for the referenced rows of the table 2( Orders)
Image 4: Action on the referenced table
Image 5: Action increases the column value by 1
Hi @Suvrutt_Gurjar
Thanks for your effort. The sample screenshots you showed is exactly how i set it up (except that I have my event on All Changes and my FILTER expression has multiple conditions).
There must really be something wrong as the BOT isn't working for me.
I'm really SMH.
Though I managed to do a work around by combining the bot with an action behavior that executes on a set of rows. But it would be cleaner in my view if I didn't have to do that.
This is exactly what i were looking for))) Thank you!
Nice to know it was useful. Thank you for the update.
Just to confirm:
If you check the monitoring app, you see that your automation is firing off right?
If not, then your bot isn't even running; you'd need to check the event in this case
Yes. The bot is firing, as there are no conditions on the event, but it doesnt get the referenced rows identified by the filter() so no rows are being upated.
I figured out what to do (sort of).
This is what I did, in the bot step that runs action in set of rows, I turned on linking to make step reusable.
Then the bot step turns into a dropdown in which I was able to select the Recalculate action behavior I created. Before saving, I switched to behavior page and saw the new action that the bot created. I renamed it, set icons, etc, then came back to the Bot page then saved it.
After this, I didn't need the action behavior I created doing the same action in set of rows. This is now cleaner for me.
User | Count |
---|---|
19 | |
9 | |
8 | |
6 | |
5 |