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 A | Campaign 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?
Solved! Go to Solution.
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
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.
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
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.
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:
Basically, step 4 is dependent on step 1 in campaign B
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.
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.
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.