Hi @double d
Your logic is sound. From what you've described, I'd approach like this:
- Typeform 3-week flow (triggered from list addtion). Add a custom property update as the first step and last step of the flow. For example the custom property could be called typeform_inflow. At the first step (on flow entry) set to 'true' and at the last step (on flow exit) set to 'false'
- Typeform EXCLUSION segment for campaigns. The conditions would be: Person IS in iyour Typeform list] AND Properties about someone typeform_inflow is true
So adding that segment as an exclusion to all your campaigns will ensure:
- profiles in your Typeform list who are still in the 3-week flow (typeform_inflow = true) will NOT receive campaign emails.
- profiles who complete the Typeform flow WILL receive your campaign emails once they exit that flow (typeform_inflow = false) ie they will also exit the Typeform exclusion segment
To reduce the risk of human error, create the sending segment(s) for your campaigns and add the exclusion segment conditions to those segments. That way you don't need to remember to add the exclusion segment to each campaign at send set-up.
Does that help?
Regards
Andy
@double d Have you considered adjusting the Smart Sending configuration within Klaviyo? It is a global setting, with a default of 16 hours, but you can modify it to a longer duration, such as three weeks, expressed in hours.
Thanks for your suggestion @whereisjad
Smart sending with the default 16hr window would be a consideration if @double d is happy to have profiles in the Typeform flow possibly receive some campaign emails.
The issue with using smart sending with a long (3-week) window is that it would skip valid campaigns and flow emails.
For example, in a welcome flow that sends emails on day 1, day 3, day 5 etc, profiles in that flow would only ever receieve the day 1 email (3, 5 etc will be skipped due to the 3-week smart sending); and if a campaign is sent to a list and then another campaugn sent 2 weeks later to the same list, no profiles in that list would receive the 2nd campaign (due to the 3-week smart send window).
Regards
Andy
Hi @double d
An alternative, simpler solution to my previous one! 
Add a 'list update' as the Typeform flow's final step, select 'Remove from list', and then select your Typeform list.
So when a profile exits the Typeform flow they also exit the Typeform list. Typeform will be adding event data to those profiles so you can still identify them in a segment as coming from Typeform if you need to.
You then only need to use your Typeform list as the exclusion for your campaigns. As I stated previously, best to add this exclusion list to your sending segments. That way you don't need to remember to exclude for each campaign send.
Regards
Andy