I want to know what is the purpose of an unenrollment by a goal ?
By the way, I have a contact based workflow with a goal and a contact enroll. The contact met the goal so it was unenroll.
But it is never automatically re-enroll when it met again enrollment criteria. I even can't enroll it by API (which is not what I want. I want to re-enroll contact because it met again criteria).
So, is it possible that a contact which has been in a workflow and has been unenrolled by a goal could be enrolled again because it met enrollment criteria ?
Awesome context and advice from @Jaycee_Lewis. You can also configure your workflow goals using the Refine filter condition options:
For example, if your goal is a form submission, you can refine the goal criteria so that the form submission must be "less than 1 day ago" or something like that. Otherwise, HubSpot will immediately graduate contacts from the workflow if they technically meet the goal criteria that you have set.
Hi, @ebp👋 To confirm, this is the expected and designed behaviour for Goals in Workflows. As you noted, this is enforced via the API as well. There is not a workaround for Contact who met a Goal to allow for re-enrolment into the same workflow.
You might consider creating a similar post over in the Workflow community and ask the community to brainstorm some tactics because Goals are not working with your use-case. For example, you can create a similar workflow that enrols based on a contact meeting the Goal of a previous workflow — Use goals in workflow enrolment criteria and list filters.
I think the issue is in the terminology Hubspot uses.
In fact, the term Unenroll is not what it seems to be.
For me, if I unenroll a contact, it should do the opposite of enroll.
But here, the enrolled contact has a "state" of unenroll but is still in the workflow, that's why it can't be enroll again.
I'm working on a workaround outside Hubspot with a schedule workflow.
I have a schedule workflow which I enroll contacts only one time. It will do the job every day. I have a branch in it which check if an action should be execute. If so, I call an API which redistribute contacts in others classics worflows with manual re-enrollment.