I was trying to use the following condition to fire an action in the automation (to send an email):
AND([_THISROW_BEFORE].[Percentage Completed] < 1,
[_THISROW_AFTER].[Percentage Completed] = 1)
But it doesnโt work. [Percent Completed] is a virtual column. Does it have anything to do with the problem Iโm facing by any chance?
Another info here, the following condition, which is quite similar to the first one, works just fine in another bot:
AND([_THISROW_BEFORE].[Status] = โOpenโ,
[_THISROW_AFTER].[Status] = โIn Progressโ)
[Status] is not a virtual column.
Feel free to speak if you need further info about the problem Iโm facing. Thanks.
Yes, thatโs your exact problem. Bots trigger on data changes, virtual columns are not โdataโ.
Ahh. Thanks for pointing that out
Iโm back. I managed to pass the value from the virtual column [Percentage] into the non-virtual column [Percent Completed]. And I intended to use this non-virtual column as a condition to trigger a Bot to send an email. But it doesnโt work, and I donโt understand why. Can anyone see this question help?
This is the condition with non-virtual column:
AND([_THISROW_BEFORE].[Percent Completed] < 1,
[_THISROW_AFTER].[Percent Completed] = 1)
Hi @Dion
Virtual columns are calculated โon the flyโ, real columns are calculated โon editingโ.
I suspect this is the new issue you are facing, if percentage is calculated from another table.
My suggestion:
You may want to set an action that will update this value at any necessary time.
Typically, this could be a combination of:
For example:
This is indeed the way that I used to update the value in the real column at any necessary time. But I am still unable to use the value of real column to trigger the bot.
OK.
What if you use the bot to set a value on a column โcheckโ ?
So that, the previous condition
AND(
[_THISROW_BEFORE].[Percent Completed] < 1,
[_THISROW_AFTER].[Percent Completed] = 1
)
will become:
AND(
NOT([_THISROW].[check_YesNo]) ,
[_THISROW].[Percent Completed] = 1
)
(assuming initial value for [Check_YesNo] is set to false, of course)
And, the next step of your bot will be to switch that column [Check_YesNo] to true.
What made me think to this suggestion:
and I donโt see any mention of the use of [_THISROW_BEFORE] and[THISROW_AFTER] in this post, even if, in the case of an update, it should be possible to use it:
OK.
What if you use the bot to set a value on a column โcheckโ ?
So that, the previous conditionAND( [_THISROW_BEFORE].[Percent Completed] < 1, [_THISROW_AFTER].[Percent Completed] = 1 )
will become:
AND( NOT([_THISROW].[check_YesNo]) , [_THISROW].[Percent Completed] = 1 )
I just tried your suggestion. The Bot still isnโt triggered
So I looked into the Test for the Bot:
The Event Condition for the specific row that Iโve been testing on indicated โTrueโ. The other rows were โFalseโ. Does it mean the Bot was supposed to be triggered for this row?
Yes.
Can you have a look on the โMonitorโ button/app ?
Is this a โscheduleโ bot ?
If so, that wonโt do anything if the app is not deployed.
It is not a schedule bot. It is set to trigger based on Data Changes
At this stage, I would suggest to contact Support, I donโt get why this is not firing the Process.
But Iโm probably missing something, letโs wait for @Marc_Dillon or someone else to wake up and have a look
Alright, thank you so much for your help, though. I really appreciate it!
Iโve checked that as well. It showed that the Bot wasnโt triggered (number of times didnโt increase since last time).
The default โFalseโ value wasnโt set to โTrueโ too.
How did you do this? Give screenshots and details.
Have you checked the Audit Log? It provides much better information than the Automation Monitor.
How did you do this? Give screenshots and details.
First, I began with creating an action, โUpdate Percentageโ which will set a real columnโs value to the virtual columnโs value (as shown right below this sentence).
After that, I created a Bot with the โData Changeโ Event type โAdds onlyโ to the โCompletedโ table. This table has many-to-many relationship and shows the record of the training each user has done (refer to the picture below).
In this Bot, I created a โRun a data actionโ process with โRun action on rowsโ.
This is how I did it.
Just to clarify, youโve got:
And it is #3 that is not triggering?
That would be because by default, data changes from Bots, do not trigger other Bots. But youโre in luck, since theyโve recently given us the option to allow this, and itโs as easy as flipping this switch on your first Bot:
From here:
Just to clarify, youโve got:
- Bot on Adds to the Completed Table, which:
- Runs an data change Action on a record in the Employees Table.
- A 2nd Bot meant to trigger on changes in Employees Table.
And it is #3 that is not triggering?
The Bot that I mentioned in my previous comment works well. It is used to pass virtual column value to a real column. And thereโs actually a 2nd Bot that will be triggered by the optional condition based on the value of that real column, in order to send an email. But the 2nd Bot wonโt work, I donโt know why.
But the 2nd Bot wonโt work, I donโt know why.
Ummmโฆdid you forget to read the rest of my reply?
Oh I did read it. Sorry I didnโt mention that cause I kinda couldnโt get it at first. So, I went to try it out. I think it worked I will do a few more testings and get back to you. Thanks a lot @Marc_Dillon
Have you checked the Audit Log? It provides much better information than the Automation Monitor.
Oh, I havenโt checked this out yet. How should I do it?
@Dion
I also see this, that may be what you are looking for, very simply ?
Problem solved. Thanks @Marc_Dillon for pointing out this
That would be because by default, data changes from Bots, do not trigger other Bots. But youโre in luck, since theyโve recently given us the option to allow this, and itโs as easy as flipping this switch on your first Bot:
And thank you too @Aurelien I like your idea of this:
AND( NOT([_THISROW].[check_YesNo]) , [_THISROW].[Percent Completed] = 1 )
And Iโm actually using it right now.
User | Count |
---|---|
38 | |
35 | |
27 | |
23 | |
18 |