SOLVED

Delaying completion of a flow until request campaign's flow completes?

Go to solution
Matt_Stone2
Level 9

Delaying completion of a flow until request campaign's flow completes?

I'm assuming the normal behavior of a Request Campaign flow step is to run the requested campaign (Campaign B) in parallel with the campaign that requested it initially (Campaign A)? Is there a way to tell Campaign A to pause its flow until Campaign B has finished its flow?

Essentially there's dependencies at the end of Campaign A that are only fulfilled by Campaign B finishing. I could add a wait step, though I'd rather avoid it if possible.

Campaign ACampaign B

1. Change Data Value

2. Change Data Value

3. Request Campaign

4. Interesting Moment (uses field A)

1. Change Data Value (field A)

My main concern is that with high enough traffic, field A will get out of sync with these flows and the interesting moment will be incorrect. Any ideas/suggestions?

1 ACCEPTED SOLUTION

Accepted Solutions
Josh_Hill13
Level 10 - Champion Alumni

Re: Delaying completion of a flow until request campaign's flow completes?

This is part of the race condition. Yes, it will run as soon as you request Campaign B.

In order to slow it down, you can either

  • Put a wait step at the top of Campaign B to allow A to finish. 4 to 10 minutes is often enough.
  • Request Campaign at the END of Campaign A instead.

there is no Order of Operations than doing this.

Remember that ANY Wait Step longer than 4:59 will cause the campaign to drop in the Campaign Queue priority list.

View solution in original post

5 REPLIES 5
Josh_Hill13
Level 10 - Champion Alumni

Re: Delaying completion of a flow until request campaign's flow completes?

This is part of the race condition. Yes, it will run as soon as you request Campaign B.

In order to slow it down, you can either

  • Put a wait step at the top of Campaign B to allow A to finish. 4 to 10 minutes is often enough.
  • Request Campaign at the END of Campaign A instead.

there is no Order of Operations than doing this.

Remember that ANY Wait Step longer than 4:59 will cause the campaign to drop in the Campaign Queue priority list.

Dan_Stevens_
Level 10 - Champion Alumni

Re: Delaying completion of a flow until request campaign's flow completes?

Josh, I think you meant to say put a wait step here - in campaign A - to allow the requested campaign (campaign B) to run fully:

pastedImage_0.png

Basically, step 4 is dependent on step 1 in campaign B

Matt_Stone2
Level 9

Re: Delaying completion of a flow until request campaign's flow completes?

That's right, Dan. Per Josh, sounds like the wait step is the only option here -- I just hoped to avoid delaying everything longer than absolutely necessary.

Dan_Stevens_
Level 10 - Champion Alumni

Re: Delaying completion of a flow until request campaign's flow completes?

Yeah, ideally, I wish the "request campaign" flow step acted like a subroutine in coding.  Where the lead would have to complete the entire requested campaign before proceeding through any of the additional flow steps in the parent campaign.

SanfordWhiteman
Level 10 - Community Moderator

Re: Delaying completion of a flow until request campaign's flow completes?

FTR... there's an eccentric use of webhooks that allows you to Request Campaign and pause Flow A, then unpause it from Flow B, provided Flow B finishes within 30 secs. A webhook call executes synchronously within the original Flow context*.  So, within the 30-second webhook timeout period, you can signal one webhook to terminate from a second Flow context when actions are complete (i.e. when another Data Value has been updated).  Of course, I'm talking about using interprocess comms on the server side, and this would only be something to do in an extreme pinch.

*Not the response mapping but the connection itself is synchronous.