Lists, Lead Scoring & Workflows

Siddall
Top Contributor

Conflict: Workflow with "Enroll a workflow" in it.

SOLVE

HubSpotters --

 

We have multiple forms on the website that each trigger / enroll in their own unique Workflow, to make internal broadcast announcement emails.

 

Upon completion of the form, we also need to start a (slightly) complex Assignment / Routing "task" that uses multiple "If/Then" processes to route these Contacts by region.

 

Rather than re-creating the multi-If/Then Assignment-wheel into each Form's unique workflow, we decided to have those unique workflows CALL a single "assignment workflow"...i.e. call a sub-routine (for our ex-coders out there 🙂  

 

This works pretty well.  Except that the "assignment workflow" is indeed an active workflow...and since you cannot set the order in which workflows trigger (ahem...HubSpot, this needs to give added)...but since you cannot set the order inwhich workflows are triggered, the "assignment workflow" sometimes gets triggered before the "form workflow" (which also calls the "assignment workflow" sub-routine).

 

This causes the "form workflow" to balk and not enroll in the sub-routine "assignment workflow" because the "assignment workflow" is actually processing.  

 

Unfortunately, the final step in the "form workflow" needs an update that the "assignment workflow" accomplishes, BUT it never gets it because the "assignment workflow" requires a 1 minute delay (don't ask), so it bypasses triggering that update and finishes the "form workflow" incorrectly.

 

In the end, I'm 99.2% sure that I NEVER want the "assignment workflow" to enroll / trigger on it's own.  It's just a sub-routine that other workflows call so we don't have to reinvent the wheel each time.

 

How can we make it so that the "assignment workflow" is never actually triggered on its own?  It should only be triggered when called by another workflow.

 

Thanks!

--

Why the '1 minute delay'?  The contact assignment is based on "IP Country" (geo-routing).  Unfortunately, the "IP Country" field is not udpated in real time with the creation of the Contact record.  Thus, the "assignment workflow" triggers with no Country available to do logic on. Thus, we have to put in a 1 minute delay to allow the Country to be populated.  😕

0 Upvotes
1 Accepted solution
Phil_Vallender
Solution
Most Valuable Member | Diamond Partner
Most Valuable Member | Diamond Partner

Conflict: Workflow with "Enroll a workflow" in it.

SOLVE

Hi @Siddall

 

Your situation sounds interesting and I have certainly come across some of the challenges that you are facing before. That said, I'm not sure I have a single solution to your problem, but I have some suggestions. I'll share everything and hopefully, you can pick what you need...

 

I always play it super safe when building workflows and go for the simplest, most robust rules that I can, and I still make mistakes 🙂

 

If you do not want your assignment workflow to be triggered by anything but the form submission workflows then you should, I believe, simply be able to remove all enrollment criteria. This means that contacts can only be enrolled manually, i.e. by another workflow using the enrol in workflow action.

 

When using the contents of an auto-populated field, like IP Country, in a workflow, I always include and additional 'is known' check, as I too have been burned by empty fields just after contacts have been created. 

 

If calling your assignment workflow only from your form submissions workflows, a small delay should be enough to ensure that assignment has been completed before notification emails are sent. However, you could turn things around a bit and:

  • Enrol anyone completing the forms in the assignment workflow automatically using starting criteria
  • Add an 'is known' check based on the property being set by the assignment workflow (owner?) to the starting criteria of the form submission workflows

Is that any help?

Phil Vallender | HubSpot Website Agency

View solution in original post

5 Replies 5
Phil_Vallender
Solution
Most Valuable Member | Diamond Partner
Most Valuable Member | Diamond Partner

Conflict: Workflow with "Enroll a workflow" in it.

SOLVE

Hi @Siddall

 

Your situation sounds interesting and I have certainly come across some of the challenges that you are facing before. That said, I'm not sure I have a single solution to your problem, but I have some suggestions. I'll share everything and hopefully, you can pick what you need...

 

I always play it super safe when building workflows and go for the simplest, most robust rules that I can, and I still make mistakes 🙂

 

If you do not want your assignment workflow to be triggered by anything but the form submission workflows then you should, I believe, simply be able to remove all enrollment criteria. This means that contacts can only be enrolled manually, i.e. by another workflow using the enrol in workflow action.

 

When using the contents of an auto-populated field, like IP Country, in a workflow, I always include and additional 'is known' check, as I too have been burned by empty fields just after contacts have been created. 

 

If calling your assignment workflow only from your form submissions workflows, a small delay should be enough to ensure that assignment has been completed before notification emails are sent. However, you could turn things around a bit and:

  • Enrol anyone completing the forms in the assignment workflow automatically using starting criteria
  • Add an 'is known' check based on the property being set by the assignment workflow (owner?) to the starting criteria of the form submission workflows

Is that any help?

Phil Vallender | HubSpot Website Agency
Siddall
Top Contributor

Conflict: Workflow with "Enroll a workflow" in it.

SOLVE

@Phil_Vallender --

Configuring the "child" Workflow to have an Enrollment Criteria of "Manual" works GREAT and prevents the "child" Workflow from being triggered prior to the "parent" Workflow calling on it.  Thank you!!!

 

However, I did run into another issue.  Spoiler alert:  The "child" Workflow has a Delay step in it because of what we've discussed in this thread...sometimes fields in New Contacts do not update fast enough for the Workflow Evaluation.  The "parent" Workflow step that is AFTER the "child" workflow is called, DOES NOT seem to wait for the "child" workflow step to complete before moving on to the next step.  😕 . Thus, the updates in the "child" workflow do not make the updates fast enough for the next step in the "parent" workflow.

 

I've started a new Thread over here if you have any ideas:

Workflow: Wait for previous step to complete

 

I *think* I have a workaround but I also think this seems a bit bug'ish.  One would think that Step 1 must finish before Step 2 executes...

 

EDIT:  After re-reading your post...you nailed the "workaround" with:


If calling your assignment workflow only from your form submissions workflows, a small delay should be enough to ensure that assignment has been completed before notification emails are sent. However, you could turn things around a bit and:

  • Enrol anyone completing the forms in the assignment workflow automatically using starting criteria
  • Add an 'is known' check based on the property being set by the assignment workflow (owner?) to the starting criteria of the form submission workflows

 

 

 

 

0 Upvotes
Phil_Vallender
Most Valuable Member | Diamond Partner
Most Valuable Member | Diamond Partner

Conflict: Workflow with "Enroll a workflow" in it.

SOLVE

Great! Glad I could help.

Phil Vallender | HubSpot Website Agency
0 Upvotes
Siddall
Top Contributor

Conflict: Workflow with "Enroll a workflow" in it.

SOLVE

@Phil_Vallender wrote:

 

When using the contents of an auto-populated field, like IP Country, in a workflow, I always include and additional 'is known' check, as I too have been burned by empty fields just after contacts have been created. 

 


I'm still reviewing the rest of your comment (thank you) but the blurb above...gold.

Good call!

 

Siddall

bradmin
Key Advisor

Conflict: Workflow with "Enroll a workflow" in it.

SOLVE

This isn't exactly related, but since we're talking about things which might trigger workflows unnecessarily/accounting for null conditions, I ran into a similar issue previously, where [custom number property is equal to 0] enrolled contacts where there was no known value. 

 

Support pointed me towards this help article which indicates that the behavior there is working as designed: https://knowledge.hubspot.com/articles/kcs_article/contacts/what-is-the-difference-between-a-zero-an...

 

@Siddall, if you ever change any of these workflows to depend on a custom number property having a value of 0, make sure to include an AND condition, indicating the value is known. Pile that on top of Phil's already-excellent advice.


Brad Mampe, Salesforce Analyst, Fidelity
I'm probably wrong. I may not be right about that.