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.
| Customer | Type | Message | Action Taken | Response Time |
|---|---|---|---|---|
| Sarah Chen | VIP | Need help with enterprise plan | Immediate Response Sent | 30 seconds |
| John Smith | Regular | Question about pricing | Added to Queue | Pending |
| Emily Park | VIP | Technical support needed | Immediate Response Sent | 45 seconds |
| Mike Johnson | Regular | General inquiry | Added to Queue | Pending |
The "Immediate Response" column has this condition:
β Only runs for VIP customers, others skip this column
How It Works β
- Customer Type Column: Each customer is marked as "VIP" or "Regular"
- Immediate Response Column: Has a condition:
customer_type equals "VIP" - 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.
| Customer | Message | Sentiment | Ticket Created? |
|---|---|---|---|
| Alex Turner | This is ridiculous! I want a refund NOW! | Negative | Yes - Ticket #1847 |
| Maria Garcia | Thanks for the quick help today! | Positive | No ticket needed |
| David Lee | Worst customer service ever! Not happy at all. | Negative | Yes - Ticket #1848 |
| Sophie Brown | Just checking my order status | Neutral | No ticket needed |
The "Create Support Ticket" column has this condition:
β Only creates tickets when customers are unhappy
How It Works β
- Sentiment Column: AI analyzes each message (Positive, Negative, or Neutral)
- Create Ticket Column: Has a condition:
sentiment equals "Negative" - 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
Checks if values are exactly the same
Example:
status equals "active"not equals
Checks if values are different
Example:
email not equals nullgreater than
Checks if number is larger
Example:
order_total greater than 100less than
Checks if number is smaller
Example:
lead_score less than 50contains
Checks if text includes a word/phrase
Example:
message contains "urgent"is one of
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 18List 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
Step 1: Choose the Column
Select which column you want to check
Example:
Building the condition: 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 trueThat'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:
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 30Both 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 60Pattern 2: Smart Cost Control β
Only enrich: lead_score greater than 50
Reason: Don't waste API calls on low-quality leadsPattern 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 truePattern 4: Time-Based Actions β
Send reminder: days_since_signup greater than 7 AND has_completed_profile equals falsePattern 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:
- Single condition:
customer_type equals "VIP" - Two conditions:
customer_type equals "VIP" AND status equals "active" - 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