FlowSync’s visual condition builder looks simple — dropdowns and pills — but it’s capable of sophisticated branching logic that rivals custom code. This guide covers everything from basic IF statements to nested conditions and edge cases.

Understanding the Condition Interface

When you add a condition block, you see three elements:

  • Field selector — What data to evaluate (user meta, order total, membership level, etc.)
  • Operator — How to compare it (equals, not equals, greater than, contains, etc.)
  • Value — The target to compare against

These three elements form a single condition. You can chain multiple conditions with AND/OR logic.

Basic Conditions

Single condition:

plain

Copy

IF Membership Level equals "Premium"

Multiple conditions (AND):

plain

Copy

IF Membership Level equals "Premium"
AND Registration Source equals "Organic"

Both must be true for the workflow to proceed.

Multiple conditions (OR):

plain

Copy

IF Membership Level equals "Premium"
OR Membership Level equals "Pro"

Either condition being true triggers the workflow.

Available Field Types

FlowSync exposes data from multiple sources:

WordPress Core

  • User ID, Email, Display Name, First Name, Last Name
  • User Role, Registration Date, Last Login
  • Custom user meta (any meta key)

MemberPress

  • Membership Level, Subscription Status, Gateway
  • Trial status, Expiration date, Total payments

WooCommerce

  • Order Total, Product ID, Product Category
  • Order Status, Payment Method, Shipping Country
  • Customer lifetime value, Order count

Custom Fields

  • Any ACF, Pods, or Toolset field
  • Any custom user meta or post meta

Advanced Operators

Table

OperatorUse Case
equalsExact match (case-sensitive for strings)
not equalsExclude specific values
greater than / less thanNumeric comparisons (order totals, dates)
containsPartial string match (tags, categories)
starts withURL sources, coupon codes
is empty / is not emptyCheck if field has any value
in listMatch against multiple values at once
betweenDate ranges, price ranges

Nested Logic with Groups

For complex scenarios, group conditions:

plain

Copy

IF (Membership Level equals "Premium" OR "Pro")
AND (Registration Date is within last 30 days)
AND (Country is not empty)

Click + Add group to wrap conditions in parentheses. This prevents logic errors when mixing AND and OR.

Dynamic Values

Instead of static values, use tokens from the trigger event:

plain

Copy

IF Order Total is greater than {{user_meta:lifetime_value}}

This compares the current order against the customer’s historical spending. Tokens update in real-time during workflow execution.

Testing Complex Conditions

Always use Test Run with edge cases:

  1. A user who meets all conditions
  2. A user who meets some conditions
  3. A user who meets no conditions

Check the execution logs to see which conditions evaluated to true/false and why. The logs show the actual values being compared, which makes debugging straightforward.

Common Patterns

New customer welcome:

plain

Copy

IF Order Count equals 1

Re-engagement trigger:

plain

Copy

IF Last Login is before 30 days ago
AND Email Open Rate is less than 10%

Geographic routing:

plain

Copy

IF Country equals "United States"
→ Send to US sales team
ELSE IF Country equals "United Kingdom"
→ Send to UK sales team
ELSE
→ Send to global queue

Performance Notes

Conditions are evaluated server-side before any actions run. This means:

  • Failed conditions don’t consume API calls (no wasted HubSpot/Mailchimp requests)
  • Complex conditions with many tokens add minimal overhead
  • Date-based conditions use WordPress timezone settings automatically
FlowSync

FlowSync

FlowSync syncs members, customers, and form leads to Brevo, Mailchimp, HubSpot, Klaviyo, and more based on activity happening on your WordPress site.