Skip to main content

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. Filter Block Phonely Gi

Key Use Cases

Here are common scenarios where the Filter block is useful:
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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. 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.
Updated Filters Phonely Pn So, you can visually branch your automation into multiple directions depending on call or data logic.

How to Set Up a Filter Block

Let’s walk through every part of the setup shown in your screenshots.

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.

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:
FieldDescription
Define FieldThe variable or data point you want to evaluate (e.g., caller_phone, customer_name, response).
Comparison OperatorDefines how the field is compared — options include:
exists
doesn’t exist
is equal to
is not equal to
is an array containing
matches condition (AI)
does not match condition (AI)
Value Type & Comparison ValueSelect the data type (String, Number, or Boolean) and specify the value to compare against. AI-based operators do not require a value type — they evaluate natural-language intent statements.

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).

Select the Comparison Operator

Click the dropdown that says “is equal to” to see other options:
  1. exists: Checks whether the variable has any value. Useful for verifying that earlier blocks captured caller input.
  2. doesn’t exist: True when the variable is empty, null, or was never set.
  3. is equal to: Compares the field to a specific value.
  4. is not equal to : True when the field does not match the provided value.
  5. is an array containing: Used when the variable is a list and you need to check if it contains a specific item.
  6. matches condition (AI)
    Uses AI to evaluate whether the caller’s message or extracted intent semantically matches a natural-language condition you define.
    Examples:
  • “caller wants to book an appointment”
  • “caller is asking for refund”
  • “caller needs technical support”
  1. does not match condition (AI)
    The inverse of the above. True when the caller’s message or intent does not match your natural-language condition.
    Examples:
  • “caller is not asking about appointments”
  • “caller is not requesting order status”.
These AI-powered options are ideal when you want logic based on intent, not exact words, enabling more natural decision-making without manually collecting variables.Choose one that fits your logic. Under the comparison dropdown, click the small menu and choose the correct type:
Data TypeWhen to Use
StringFor text values like names or words.
NumberFor numeric comparisons like age, amount, or count.
BooleanFor true/false logic (e.g., is_verified = true).
Then enter your comparison value.

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. Cases And Conditions Filter Gi

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 OptionDescription
AndAll conditions must be true for the case to match.
OrOnly one condition needs to be true for the case to match.

Example

  • Andcaller_name = John and caller_phone = 123456
  • Orcaller_name = John or caller_name = Jane

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.

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_phone
  • caller_zip_code
You can then use a Filter block to determine which store location the caller should be routed to based on these values. Example conditions:
  • Condition 1: caller_phone starts with “+1-312” (Chicago area code)
  • Condition 2: caller_zip_code is equal to “60601” (Downtown Chicago ZIP code)
Set Logic to And. > If both conditions are true, the flow continues through the True branch, for example, routing the caller to the Chicago Downtown Store or triggering an API Request to fetch store details in that ZIP code area. > If not, the flow follows the False branch, for example, playing a message such as:
“Sorry, we couldn’t find a nearby store based on your location. Please check your ZIP code and try again.”