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.
  • 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.
Filter Block 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.
1

Add the Filter Block

  1. In your flow, click the “+” icon after any existing block.
  2. Under Flow Actions, choose Filter.
  3. 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.
  1. Click the Filter block to open its configuration panel.
  2. Under Conditions, click into Condition 1.
  3. 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
is equal to
is not equal to
is an array containing
Value Type & Comparison ValueSelect 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.
Choose one that fits your logic.
For example:
  • Use exists to ensure a phone number is collected.
  • Use is equal to to match a user’s choice.
5

Select the Data Type

Under the comparison dropdown, click the small menuand 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.
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.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
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_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.”