🪲 Bug: Rules are not being triggered by custom status being set by another custom status

I’m sure the title isn’t clear enough so let me elaborate.

I’ve setup the following custom task template with custom statuses:

I have setup the below rule that runs when the custom status is changed:

Expectation:
Note what happens when the ā€˜Budget is approved’ it should set the custom status to ā€˜In development’. And whenever the status is set to ā€˜In development’, it should set assignee to Maria. The result should end with Maria being the assignee, but it doesn’t work.

Problem:
When I set ā€˜Budget is approved’ then the custom status is set to ā€˜In development’ but then it does not trigger again to carry out the actions to set Maria as the assignee. The task remains assigned to the previous assignee, in this case, Charlie.

Test:
Set to ā€˜For clarification’ → assign to George :check_mark:

Set to ā€˜Classified’ → assign to Charlie :check_mark:

Set to ā€˜Budget approved’ → set status to ā€˜In development’ :check_mark: but…
Set to ā€˜In development’ → assign to Maria :cross_mark:

@Forum-team , could you kindly escalate this as a bug please? I have tested it in two environments now and it is not following the expected behaviour - if this was using a single-select field as a ā€˜Status’ it would work just fine.

The workaround would be to apply the same actions in the ā€˜Budget approval’ condition as per the ā€˜In development’ branch (in this case, add the action ā€˜set Maria as the assignee’) but there really should be no need for this.

Thanks!

1 Like

@Richard_Sather, You didn’t mention: Is Trigger via other rules toggled on?

Thanks,

Larry

Good call! But, yes, it is toggled on :+1:
Do you experience the same issue, @lpb?

Not the last time I tried, but I didn’t try to replicate.

Hello @Richard_Sather I have gone ahead and escalated this bug. Thank you for providing so much detail!

1 Like

Thanks @Alex_Christensen. Could you consider moving this into the English Forum > Critical Bugs category?

And if you don’t mind, I will unmark your solution to keep the thread open until resolved. Thanks!

1 Like

Absolutely! Thank you @Richard_Sather!

1 Like

I have known this for a long time and thought it was expected, to avoid a rule triggering a rule, and potentially having a loop. If you create 4 rules, instead of one with 4 branches, I believe it works :sweat_smile:

Are you saying the same applies to rules using a single-select custom field? :thinking:
In that case, that would make sense and if that is ā€˜expected behaviour’ then I guess this is not a bug and instead consistent with the same behaviour of a when using a field.

Would still be interested in what the Product team have to say :slight_smile:

Yes. I saw it when I tried to get a task to move automatically from section 1 to section 2 to section 3 etc and each section had its own actions. It stopped after the first move because the rule wouldn’t run a second time.

Now I feel like I’m having deja vu.. :sweat_smile:

Considering the behavior we are observing, and I dealt with the same thing in another complicated workflow I was trying to set up with a lot of rules working together, I’m fairly confident that when a rule run begins, there’s a data object in the code that tracks the entire sequence of all the rule runs and all the actions associated with that series of triggers and actions, even if it stretches across rules – let’s call it a ā€œRule Run Batchā€. I don’t see any evidence of it in the API, but it makes sense that there would be something like a ā€œRule Run Batchā€ with an associated gid. And every rule can only run once per rule run batch. Then hypothetically if the first rule in a series of five chained rules is triggered again by a rule run batch with a gid that it has already seen, it won’t run again.

This came after experimenting using a sequence of 5 sequential rules that all triggered each other and the 5th went back and re triggered the first rule which then did not run again.

Just a hypothesis, but I’m guessing that’s how it’s all structured.

That’s a really interesting hypothesis, @Bryan_TeamKickstart , which makes total sense.

@Bastien_Siebman , I think this would make an interesting addition to your list of ā€˜buts’. i.e:
ā€œA rule can trigger another rule but not the same rule within a chain of triggered rulesā€ or something along those lines.

Similarly, and more in line with this thread, ā€œA rule condition of a custom field option can set another option of the same custom field, but it will not run the rule again if that option is triggering another condition - the same applies to custom task statusesā€ - makes sense?

We encountered this limitation approximately a year ago while attempting to create a task that would trigger the same rule. It appears to be a restriction designed to prevent loops.

1 Like