Skip to content

4.3: Conditional Actions ("Only if...") ​

You've learned how actions happen in sequence and when they're required or optional. But what if you want an action to only happen in certain situations?

That's where conditional actions come inβ€”your automation's decision-making superpower!

The big idea: Instead of every action happening for every row, you can add rules that say "only do this if..." This lets you build smart automations that respond differently based on the data.

πŸ’‘ What You'll Learn

By the end of this section, you'll know how to:

  • βœ… Create "if-then" rules without writing code
  • βœ… Build different paths for different types of customers
  • βœ… Automatically escalate urgent issues
  • βœ… Use the visual condition builder (no coding required!)

4.3.1: What Are Conditions? ​

A condition is a rule that says: "Only do this action if something is true."

Think about everyday decisions:

  • Only send a birthday email if today is their birthday
  • Only apply a discount if the order total is over $100
  • Only alert a manager if the complaint is marked urgent

In Taibles, conditions work exactly the same way!

πŸ’‘ πŸ’‘ Real-World Example

Without conditions: Every customer gets the same automated response, regardless of whether they're a new prospect or your biggest client.

With conditions: VIP customers get immediate personalized attention, while others get a standard reply.

Common Use Cases for Conditions ​

Here are situations where you'll want to use conditions:

  • VIP Treatment: Only send to sales team if customer is marked "VIP"
  • Escalation Rules: Only create a ticket if sentiment is negative
  • Cost Control: Only enrich data if lead score is above 70
  • Smart Routing: Only notify manager if order value exceeds $1,000
  • Quality Gates: Only approve if all validation checks pass

The pattern: "Only [do something] if [something is true]"


4.3.2: Example 1 - VIP Fast Track ​

Let's build a real example! We'll create an automation that gives VIP customers immediate responses while others go to a queue.

The Scenario ​

You have a customer support table:

  • All customers send messages
  • VIP customers should get immediate AI responses
  • Regular customers should be added to a queue for human review

This is perfect for conditions!

VIP Fast Track - Conditional Response

The Logic: VIP customers get immediate AI responses. Regular customers are added to the queue for human review.

CustomerTypeMessageAction TakenResponse Time
Sarah ChenVIPNeed help with enterprise planImmediate Response Sent30 seconds
John SmithRegularQuestion about pricingAdded to QueuePending
Emily ParkVIPTechnical support neededImmediate Response Sent45 seconds
Mike JohnsonRegularGeneral inquiryAdded to QueuePending

The "Immediate Response" column has this condition:

customer_type equals "VIP"

βœ“ Only runs for VIP customers, others skip this column

How It Works ​

  1. Customer Type Column: Each customer is marked as "VIP" or "Regular"
  2. Immediate Response Column: Has a condition: customer_type equals "VIP"
  3. Queue Column: Has a condition: customer_type equals "Regular"

The result:

  • βœ… VIP customers get instant AI help
  • βœ… Regular customers get human attention when available
  • βœ… No one is ignored, everyone gets appropriate service!

πŸ’‘ 🎯 The Power of Conditions

With just two simple conditions, you've created a smart tiering system that treats different customers appropriately. No complex programming needed!


4.3.3: Example 2 - Automatic Escalation ​

Here's another powerful use case: automatically detecting unhappy customers and creating support tickets.

The Scenario ​

You want to:

  • Analyze every customer message for sentiment
  • Create a support ticket only when sentiment is negative
  • Skip ticket creation for positive or neutral messages

Automatic Escalation - Negative Sentiment Detection

The Logic: When sentiment is negative, automatically create a support ticket for immediate human attention.

CustomerMessageSentimentTicket Created?
Alex TurnerThis is ridiculous! I want a refund NOW!NegativeYes - Ticket #1847
Maria GarciaThanks for the quick help today!PositiveNo ticket needed
David LeeWorst customer service ever! Not happy at all.NegativeYes - Ticket #1848
Sophie BrownJust checking my order statusNeutralNo ticket needed

The "Create Support Ticket" column has this condition:

sentiment equals "Negative"

βœ“ Only creates tickets when customers are unhappy

How It Works ​

  1. Sentiment Column: AI analyzes each message (Positive, Negative, or Neutral)
  2. Create Ticket Column: Has a condition: sentiment equals "Negative"
  3. Notification Column: Alerts your support team about the new ticket

The result:

  • βœ… Angry customers get immediate attention from your team
  • βœ… Happy customers get standard responses
  • βœ… Your support team only handles the cases that truly need escalation

πŸ’‘ ⚑ Pro Tip

Combine sentiment detection with priority levels! You could have:

  • High priority tickets for negative sentiment
  • Medium priority for neutral sentiment
  • Low priority for positive sentiment (just tracking)

Stack conditions to build sophisticated business logic!


4.3.4: Common Condition Operators ​

When building conditions, you'll use operators to compare values. Here are the most common ones:

Common Condition Operators

==

equals

Comparing exact matches

Checks if values are exactly the same

Example:

status equals "active"
!=

not equals

Making sure something is NOT a value

Checks if values are different

Example:

email not equals null
>

greater than

Threshold checking (minimums)

Checks if number is larger

Example:

order_total greater than 100
<

less than

Upper limit checking (maximums)

Checks if number is smaller

Example:

lead_score less than 50
includes

contains

Keyword detection in text

Checks if text includes a word/phrase

Example:

message contains "urgent"
in

is one of

Multiple possible matches

Checks if value matches any in a list

Example:

priority is one of ["high", "urgent"]

Operator Examples in Action ​

Text Comparisons:

email_valid equals true
status not equals "cancelled"
message contains "urgent"

Number Comparisons:

order_total greater than 1000
lead_score less than 50
age greater than or equals 18

List Checking:

priority is one of ["high", "urgent", "critical"]
country not in ["US", "CA", "UK"]

πŸ’‘ πŸ’‘ You Don't Need to Memorize These

When you're building a condition in Taibles, you can just type naturally! The editor will suggest the right operator as you type.

Try typing "customer_type is VIP" and it will work! The system understands conversational logic.


4.3.5: Building Your First Condition ​

Ready to create a condition? It's just three simple steps:

Building a Condition - 3 Simple Steps

1
Choose the Column
2
Pick an Operator
3
Enter the Value
1

Step 1: Choose the Column

Select which column you want to check

Example:

customer_type

Building the condition: customer_type equals "VIP"

customer_type→equals→"VIP"

Let's Build One Together ​

Goal: Only send an email to customers with valid email addresses.

Step 1 - Choose the column: email_validStep 2 - Pick an operator: equalsStep 3 - Enter the value: true

Complete condition:

email_valid equals true

That's it! Now the "Send Email" column will only run when email_valid is true. Rows with invalid emails? They'll be skipped automatically.

πŸ’‘ βœ… No Coding Required

Notice how readable that condition is? It's basically plain English!

You don't need to be a programmer to create sophisticated business logic. If you can describe what you want in a sentence, you can build it in Taibles.


4.3.6: Understanding the Split Path ​

When a condition evaluates, your automation takes one of two paths:

How Conditions Create Different Paths

Condition Check:

customer_type equals "VIP"
Condition TRUE
Condition FALSE

Column Runs

The column executes normally and does its job.

Result:

Cell shows Success

βœ“ VIP customer receives immediate response

Column Skips

The column is skipped. No action is taken.

Result:

Cell shows Skipped

⊘ Regular customer goes to queue instead

Think of it like a fork in the road: The condition determines which path to take. One path does the action, the other skips it.

What Happens to Skipped Cells? ​

When a condition is false, the cell is marked as "Skipped" (you'll see a gray badge). This means:

  • ⊘ The column did not run for this row
  • ⏭️ The automation moved on to the next column
  • βœ… This is normal and expected behavior
  • πŸ“Š You can filter to see only skipped rows if you want to analyze them

Skipped is not an error! It's the condition working exactly as designed.

πŸ’‘ ⚠️ Important: Dependencies and Conditions

If another column depends on a column that gets skipped, what happens?

It depends on whether the dependency is required or optional:

  • Optional dependency: Column runs anyway (without that data)
  • Required dependency: Column waits forever (probably not what you want!)

Best practice: If a column might be skipped due to a condition, make dependencies on it optional unless you're absolutely sure.


4.3.7: Combining Multiple Conditions ​

Want to check more than one thing? You can combine conditions with AND and OR logic!

AND Logic (All Must Be True) ​

Use when: Every condition must pass for the action to run.

Example: Only notify manager if order is large AND customer is new

order_total greater than 5000 AND customer_age_days less than 30

Both conditions must be true! Large orders from existing customers don't trigger the notification.

OR Logic (Any Can Be True) ​

Use when: The action should run if at least one condition passes.

Example: Create ticket if sentiment is negative OR message contains "complaint"

sentiment equals "Negative" OR message contains "complaint"

Either condition being true will create the ticket.

Combining AND + OR ​

Example: VIP fast-track for either high spenders or long-time customers

(order_total greater than 10000 OR customer_since_years greater than 5) AND status equals "active"

Use parentheses () to group conditions and control the logic order!

πŸ’‘ πŸ“š Want to Learn More?

For a deep dive into conditional expressions, including more complex examples, check out:


4.3.8: Testing Your Conditions ​

After adding a condition, always test it! Here's the quick testing workflow:

1. Create Test Rows ​

Add a few rows with different data:

  • One that should trigger the condition (TRUE path)
  • One that should not trigger the condition (FALSE path)

2. Run and Watch ​

Execute the column and watch what happens:

  • βœ… Does the TRUE path show "Success"?
  • ⊘ Does the FALSE path show "Skipped"?

3. Check the Results ​

  • For TRUE path: Did the action actually happen? (Email sent, ticket created, etc.)
  • For FALSE path: Verify it was correctly skipped

πŸ’‘ βœ… Testing Tip

Start with just 2-3 test rows before running on your full dataset. It's much easier to spot issues with a small test set than trying to debug hundreds of rows at once!


4.3.9: Real-World Condition Patterns ​

Here are proven condition patterns you can use right away:

Pattern 1: Tiered Service Levels ​

Priority A: score greater than 80
Priority B: score greater than 60 AND score less than or equals 80
Priority C: score less than or equals 60

Pattern 2: Smart Cost Control ​

Only enrich: lead_score greater than 50
Reason: Don't waste API calls on low-quality leads

Pattern 3: Multi-Channel Routing ​

Send via SMS: phone_valid equals true AND prefers_sms equals true
Send via Email: email_valid equals true AND prefers_sms not equals true

Pattern 4: Time-Based Actions ​

Send reminder: days_since_signup greater than 7 AND has_completed_profile equals false

Pattern 5: Quality Gates ​

Proceed to next step: all_validations_passed equals true AND human_approved equals true

πŸ’‘ πŸ’‘ Start Simple, Grow Complex

Don't try to build complex logic right away! Start with one simple condition, test it, then add more sophistication over time.

Good progression:

  1. Single condition: customer_type equals "VIP"
  2. Two conditions: customer_type equals "VIP" AND status equals "active"
  3. Complex logic: (customer_type equals "VIP" OR lifetime_value greater than 10000) AND status equals "active"

Build incrementally!


4.3.10: Common Mistakes to Avoid ​

Mistake 1: Required Dependencies on Conditional Columns ​

❌ Problem: Column B requires Column A, but Column A has a condition that sometimes skips it.

Result: When Column A skips, Column B waits forever for data that will never come.

βœ… Solution: Make the dependency optional, or redesign your logic so required dependencies always run.

Mistake 2: Forgetting to Test Both Paths ​

❌ Problem: Only testing the TRUE path, not verifying the FALSE path skips correctly.

Result: You might not notice if your condition is backwards or too broad.

βœ… Solution: Always create test data for both paths and verify each works as expected.

Mistake 3: Over-Complicated First Attempt ​

❌ Problem: Trying to build complex AND/OR logic with 5+ conditions on your first try.

Result: Hard to debug when something doesn't work.

βœ… Solution: Start with one condition. Get it working. Then add more complexity gradually.

Mistake 4: Using Wrong Operators ​

❌ Problem: Using equals when you mean contains, or greater than when you mean greater than or equals.

Result: Edge cases behave unexpectedly.

βœ… Solution: Think through examples. If value is exactly 100 and you say greater than 100, does it match? (No!)


What You've Learned ​

Congratulations! You can now build smart, decision-making automations. Let's review what you've learned:

βœ… Conditions create "if-then" logic without coding βœ… Different paths for different data (TRUE = run, FALSE = skip) βœ… Common operators like equals, greater than, contains βœ… Three-step process to build any condition βœ… VIP fast-track and escalation patterns you can use immediately βœ… AND/OR logic to combine multiple conditions βœ… Testing workflow to verify conditions work correctly βœ… Common pitfalls and how to avoid them

πŸ’‘ πŸŽ‰ You're Building Smart Automations!

With conditions, your automations can now make decisions based on your data. This is where Taibles really starts to feel like having a smart assistant who knows your business rules!

Next up: You'll learn how to process collections of items (like all the items in an order) with Sub-Taibles!


Previous: 4.2 Required vs OptionalNext: 5.1 Understanding Collections

Built with VitePress