> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.nimbata.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# How do add-ons, filters, and routing options work in Call Flows?

Call flows are built using a visual builder where you add modules in sequence using the + button. 
The menu that appears changes depending on where in the flow you are; before or after the Dial module. 
This article explains the three categories of modules available, how they interact, and how the builder guides you toward a valid flow.

### The three module categories

**Add-ons** enhance the call experience for the caller or agent. They do not change where a call is routed; they add behavior around the routing.
**Filters** conditionally split the call flow into separate paths based on a property of the incoming call. Filters are only available before the Dial module.
**Routing Options** determine where the call is sent. Every call flow must include at least one routing option. Dial is the default.

### What appears before and after Dial

The + button above Dial gives you access to:
* **Add-ons:** Mask Caller ID, Record, Greeting
* **Filters:** Caller ID Prefix, Keypad Entry, Day of Week, Time of Day

The + button below Dial gives you access to:
* **Add-ons:** Whisper, Call Survey
* **Routing Options:** Voicemail

This separation reflects the logic of a call: you prepare and filter before routing, and you follow up after.
To see the full menu of available modules, remove the default Dial module. 
This reveals all add-ons, filters, and routing options in one view.

### How filters work

Adding a filter creates a module that defines the condition, with a corresponding routing module attached for calls that match it. 
Calls that do not match fall through to the next module below, including the main Dial.

Use the **Split** option (via the same + button on the filter module) to carve off additional paths. 
Each split handles the calls assigned to it; everything else falls through.

Each filter type partitions calls differently:
* **Day of Week:** Splits calls by day. All 7 days are pre-selected on the first path. Add splits to assign specific days to separate paths.
* **Time of Day:** Splits calls by time window, using the same pattern as Day of Week.
* **Caller ID Prefix:** Creates a path per prefix. Calls matching a given prefix are routed down that path; all others fall through.
* **Keypad Entry:** Creates a path per digit or digit sequence pressed by the caller.

Each split path can have its own add-ons and routing options added to it independently.

| Detailed Guide: [How to add a keypad entry (IVR)](https://help.nimbata.com/en/article/how-to-add-a-keypad-entry-ivr-lld4g6/)

### Execution order

Call flows execute top to bottom, in the order modules appear in the builder. 
The + button only surfaces options that are valid at each position, so the builder steers you toward a structurally sound flow.

A typical flow might look like this:
* A **Greeting** plays to the caller
* A **Day of Week** filter checks which day it is
1. Monday-Friday > Dial to the office
2. Saturday-Sunday > Voicemail
* A **Whisper** plays to the agent when they answer
* A **Call Survey** runs after the call ends

||| Filters must be placed before Dial. Add-ons that apply to the agent (Whisper) or follow the call (Call Survey) must be placed after Dial. The builder enforces this by showing only valid options at each + button position.

### Routing options

Routing options define how and where a call is delivered:
* **Dial:** Sends the call to a single destination number.
* **Multiple:** Rings more than one destination simultaneously.
* **Sequential:** Tries destinations one at a time in order until one answers.
* **Weighted:** Distributes calls across destinations according to percentages you define.
* **Voicemail:** Sends the call to a voicemail inbox.
* **Hang Up:** Ends the call immediately. No further modules run after Hang Up.
---

Detailed Guide: [How to set up call flows](https://help.nimbata.com/en/article/how-to-set-up-call-flows-1731pv5/) 
Detailed Guide: [How to assign tracking numbers to call flows](https://help.nimbata.com/en/article/how-to-assign-tracking-numbers-to-call-flows-uxu7qb/) 
Detailed Guide: [How to add call whispers](https://help.nimbata.com/en/article/how-to-add-call-whispers-105yzuh/)
