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?
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.
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.
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.