What is the Filter Block?
The Filter block in Phonely allows you to split your call flow based on conditions. Think of it as a decision-making point that checks if certain criteria are met, like whether the caller’s name matches a specific value, or if a collected variable exists, and then routes the call accordingly. This helps you create personalized, dynamic, and logic-based flows where outcomes depend on user input, call data, or system variables.
Key Use Cases
Here are common scenarios where the Filter block is useful:- Routing Based on Caller Type: Direct callers to different paths depending on who they are. For example, If caller_type = existing_customer, route to Account Manager; otherwise, to Sales Intake.
- Time-Based Call Handling: Handle calls differently based on time or day For example, If current_time is after 6 PM, route to After-Hours Voicemail; else continue to Live Agent.
- Service Level Routing: Serve customers according to their plan or service tier. For example, If plan_type = Premium, send to Priority Support; if not, route to Standard Support.
- Geographic Routing: Route calls based on caller location or language preference. For example, If caller_country = USA, connect to US Team; if caller_country = South Africa, route to Cape Town Team.
- Priority-Based Escalation: Automatically escalate high-priority or urgent cases. For example, If ticket_urgency = High and customer_status = VIP, route to Escalation Queue.
Understanding How It Works
When the Filter block is added to your flow:- It evaluates one or more conditions using variables and comparison rules.
- Each condition returns either True or False.
- Based on the outcome:
- True path > Executes the next connected block when all/any conditions are met.
- False path > Executes the next block when conditions fail.

How to Set Up a Filter Block
Let’s walk through every part of the setup shown in your screenshots.1
Add the Filter Block
- In your flow, click the “+” icon after any existing block.
- Under Flow Actions, choose Filter.
- The Filter block will appear with two output paths — True and False.
2
Define Your Conditions
Each condition is a rule that tells Phonely what to check.
- Click the Filter block to open its configuration panel.
- Under Conditions, click into Condition 1.
- You’ll see three main fields:
| Field | Description |
|---|---|
| Define Field | The variable or data point you want to evaluate (e.g., caller_phone, customer_name, response). |
| Comparison Operator | Defines how the field is compared — options include: • exists • is equal to • is not equal to • is an array containing |
| Value Type & Comparison Value | Select data type (String, Number, or Boolean) and specify the value to compare against. |
3
Choose Available Variables
Click inside Define Field, this opens the Available Variables panel.Here you’ll find:
- Call Variables – System-generated details like caller ID, phone number, or call metadata.
- Custom Variables – Variables you’ve defined manually.
- Auto-Gather Variables (Beta) – Prompts the caller at the moment a block needs a value (name, email, date, etc.)—no extra Talk block required.
- Collect Caller Details – Inputs from Collect or Ask Exactly blocks (e.g.,
caller_name,caller_phone).
4
Select the Comparison Operator
Click the dropdown that says “is equal to” to see other options:
- exists > Checks if a variable exists or is defined.
- is equal to > Compares for equality.
- is not equal to > Checks inequality.
- is an array containing > Used when working with list-type variables.
5
Select the Data Type
Under the comparison dropdown, click the small menuand choose the correct type:
Then enter your comparison value.
| Data Type | When to Use |
|---|---|
| String | For text values like names or words. |
| Number | For numeric comparisons like age, amount, or count. |
| Boolean | For true/false logic (e.g., is_verified = true). |
6
Add Multiple Cases and Conditions
You can branch your flow based on cases, where each case represents a possible path or scenario. Each case can contain one or more conditions, which define the logic that must be met for that path to trigger.
Use ➕ Add Case to create a new case with its own set of conditions.

Cases
A case represents a distinct route your flow can take. For example, Case 1 might handle verified callers, while Case 2 handles unverified callers.Use ➕ Add Case to create a new case with its own set of conditions.
Conditions
Within each case, you can define one or more conditions to check specific rules or data values.- Click ➕ Add Condition to add another rule within the same case.
- Each condition can evaluate a different variable, such as caller name, phone number, or appointment type.
Logic Operators
When you have multiple conditions in a case, choose how they interact using a Logic Operator:| Logic Option | Description |
|---|---|
| And | All conditions must be true for the case to match. |
| Or | Only one condition needs to be true for the case to match. |
Example
- And →
caller_name = Johnandcaller_phone = 123456 - Or →
caller_name = Johnorcaller_name = Jane
7
Configure Advanced Settings
Scroll down to Advanced Settings.Here’s what you can adjust:
Interim Message
Enable this if you want to play a message to the caller while Phonely checks the conditions.- Post Interim Message Delay: Adds a short delay before continuing.
- Interim Message Prompt: You can write or auto-generate a 3–7 word message such as “Please hold while I check” or “Verifying your input.”
Call Outcome Tagging
Optionally, add a keyword tag to label this flow’s result (e.g.,validated, invalid_number). This helps track call outcomes later in reports or analytics.8
Save the Filter
Click Done to confirm and exit.Once done:
- The block shows True and False outputs.
- Connect the True path to actions to perform if all conditions pass.
- Connect the False path to fallback or error handling actions.
Example: Using Variables in Filter Logic
Let’s say your Collect block gathered two inputs from the caller:caller_phonecaller_zip_code
- Condition 1:
caller_phonestarts with “+1-312” (Chicago area code) - Condition 2:
caller_zip_codeis equal to “60601” (Downtown Chicago ZIP code)
“Sorry, we couldn’t find a nearby store based on your location. Please check your ZIP code and try again.”

