We have a custom property A that we’d like to be computed based on a few other properties: B, C and D.
So we’ve created a workflow that has B, C and D in enrollment and re-enrollment triggers and implemented an if/then logic to set the correct value for A depending on B, C and D values*.*
When one of the properties B, C or D changes the contact is re-enrolled and A is updated.
In general this works fine, but a problem happens when a few concurrent changes are made.
Ex.: B is changed, so contact meets the re-enrollment criteria and workflow is started. When the workflow is running user updates C, so it must affect the value of A, but this change is ignored because of this limitation: “An object won’t re-enroll in a workflow while it’s already enrolled”. As a result A has a value based on a new value of B and an old value of C.
If I manually re-enroll this contact A is fixed, but how can I do this automatically?
Hello, did you add B, C and D as Enrollment trigger like :
B is known
or
C is known
or
D is known
For having them re-enrolling automatically everytime, you should do like this and of course on the re-enrollment tab, you should tick the box for them.
As far as I understand this happens because of “An object won’t re-enroll in a workflow while it’s already enrolled”(Add re-enrollment triggers to a workflow). But I don’t know if it’s possible to overcome this limitation. Any suggestions?
PS. We’ve encountered this issue a few times while testing the workflow on test portal. So maybe it’ll work well on prod.
That’s right you have to use a workflow goals to remove the from the active workflow and Another one probably with a delay to then re-add them at the top, having been removed, probably doing this with a custom property for the goal that you can reset so they are not triggering it on reentry.