> ## Documentation Index
> Fetch the complete documentation index at: https://help.cloudtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Call Flow Designer Guide

> Learn about the features and inbound call steps that are available in CloudTalk's user-friendly Call Flow Designer

> [!NOTE]
>
> The Call Flow Designer (CFD) feature allows you to set up different phone trees to route and manage calls efficiently.

**User Level:** Admin

***

## Before You Start

To build your first call flow, you'll need:

* An active CloudTalk number.

* Admin permissions.

* Any audio recordings you plan to use (greetings, IVR menus).

* Optional: Groups and agents already created in your account.

***

## Open the Call Flow Designer

1. From the **Dashboard**, click **Numbers**.

2. In the **My numbers** tab, find the number you want to configure.

3. Click **+ Configure** in the **Call Flow** column to open the designer.

If the number already has a flow, you'll see the flow name instead. Click it to edit.

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/47890097e180-screenshot-2026-08-14-at-15-34-29.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=a57604a061e0753ced119769df7173ad)

## The Flow Editor

The Call Flow Designer uses a **top-to-bottom canvas**. Every flow starts with a **Call comes in** node at the top and ends with a **Call ends** node at the bottom. You build the flow by adding steps between them. Click the **`+`** button between any two nodes to add a step. The panel on the right lets you browse steps by category or search by name.

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/bed9d72d1e29-screenshot-2026-08-17-at-09-23-44.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=74fe78881a72c2e62f0c58e8610f7c89)

Steps are grouped into categories:

* **Connect to agents** (Ring to, Voice Agent, Redirect, Dial by Extension)

* **Routing logic** (Day/Time Splitter, Condition Splitter, IVR Menu, Jump to)

* **Wrap up** (Voicemail, Mark Call as Resolved)

* **Automation** (Collect Input, HTTP Request)

* **Call settings** (Change number, Recording)

### Steps that need a specific plan

Some steps are only available on certain plans:

| **Step** | **Available on** |
| - | - |
| **IVR Menu** | Essential and Expert |
| **Condition Splitter** | Essential and Expert |
| **Jump to** | Expert |

> [!WARNING]
>
> During a free trial, you can add any step. If you keep a step your paid plan doesn't include, calls that reach it fail with the error *"You are trying to use an action type, which isn't supported in your plan."* Remove or replace the step, or upgrade your plan.

You can also use **Add saved flow** at the top of the library to copy a configured step from another number's flow.

## Saving your flow

The editor uses a **Save / Discard** model. Changes you make are not live until you click **Save** in the top-right corner. If you want to undo your changes, click **Discard** to revert to the last saved version.

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/152aac06f5a4-screenshot-2026-08-14-at-16-19-36.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=79c0a2482424e8ebc2214750325318cb)

***

## Call Flow Actions

The Call Flow Designer uses a **top-to-bottom canvas**. Every flow starts with a **Call comes in** node at the top and ends with a **Call ends** node at the bottom. You build the flow by adding steps between them. Click the **`+`** button between any two nodes to add a step.

### Greeting

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/3d1b06c1c1ff-screenshot-2026-08-17-at-09-28-21.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=e1db7818e349e7efae0731b7767b893b)

Play a message to the caller: a greeting, announcement, or any audio prompt. In the step config, you can:

* Click **+ Create new sound** to record, upload (mp3, max 8 MB), or generate one with text-to-speech.

* **Search for a sound** to pick from your existing sound library.

* Click **Show all** to browse all available sounds.

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/3a08f640a658-screenshot-2026-08-17-at-09-36-20.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=63f0dfb1d18811f1e6f9bcca4b43c60d)

For more on managing sounds, uploading files, and using text-to-speech, see: [Configure Sounds and Greetings](/en/articles/5412332-configure-sounds-and-greetings.md)

### Add saved flow

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/e85df6c1921f-screenshot-2026-08-17-at-09-37-11.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=2c768fdf717ebae2e70d44825216c8e8)

Copy a configured step from another number's flow. Found at the top of the step library.

***

### Connect to Agents

#### Ring to

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/280b8931b99e-screenshot-2026-08-17-at-09-38-15.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=53790f96ba1e5f3803a4151f85c99981)

Route to a group, a specific agent, or the caller's favorite agent.

When you add a **Ring to** step, you choose a **Ring target**:

* **Agent**: Route the call directly to one specific person.

* **Group**: Route the call to a ring group. The call follows the group's ring strategy (round robin, ring all, etc.).

* **Favorite agent**: Route the call to the agent listed as the caller's favorite on their contact record. If no favorite agent is set, the step is skipped.

You can also set the **Ring for** duration (how many seconds to ring before moving on).

> [!TIP]
>
> **Note:** If you chain multiple **Ring to Agent** steps sequentially, each unanswered step creates its own call record in *Call History*. To keep a single record for the entire call, use a **Ring to Group** step with a queue instead.

> [!WARNING]
>
> **Dynamic routing via variable**
>
> Instead of picking a target from the dropdown, you can click **Route dynamically via variable** to switch to a variable input mode. This lets you enter a variable (for example, `#{{request.4321.agentId}}`) that resolves to an agent ID at call time. The value is typically set by a **Collect Input** or **HTTP Request** step earlier in the flow. To switch back, click **Pick from list instead**.
>
> ![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/1ca949e4dc41-screenshot-2026-08-17-at-09-39-20.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=f12a3ab375a520692c5b0401d3d9b977)

#### Voice Agent

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/8170496ca6da-screenshot-2026-08-17-at-09-48-02.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=60eeba5a9f4322b204a880b2a36b2e20)

Let a VoiceAgent handle the call in natural language. Resolves common queries and escalates to a human when needed.

See [Getting Started with VoiceAgents](/en/articles/11053795-getting-started-with-voiceagents.md)

#### Redirect

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/4cb7e6d480b5-screenshot-2026-08-17-at-09-48-35.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=c682acc3d377f9f5d9961aa77cd935bb)

Forward the call to an external phone number or transfer to an internal CloudTalk extension. Useful for forwarding calls to a mobile phone after hours.

Set the **number to redirect to** and the **Seconds to wait on this step**. If the transferred call is not answered within the wait time, the flow continues to the next step. If there are no follow-up steps, the call drops.

A redirected call appears as a new outbound call in your data and is charged at outbound rates. These minutes are not counted toward agent call packages.

CloudTalk will attempt to pass the original caller ID, which may conflict with country restrictions or CLIR.

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/de9bdf36bede-screenshot-2026-08-17-at-09-54-40.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=5b4ed683396b5d1d702f19e046145d1d)

#### Dial by Extension

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/a81f00de5ae2-screenshot-2026-08-17-at-09-55-28.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=4de5a66c28f74aa68b5e6b56a67264e8)

Let callers dial an extension code to reach a specific agent directly. The step includes a sound picker (same as Greeting: create, upload, TTS, or search for an existing sound) so you can play a prompt telling callers which extensions are available. You can also set the **Seconds to wait on this step** before the flow moves on.

***

### Routing Logic

#### Day/Time Splitter

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/dafa1a8d1013-screenshot-2026-08-17-at-09-57-46.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=9e001d1486d26992571f8e75cfcdb8e3)

Route calls differently based on day and time. Use this for after-hours routing, holidays, or businesses with multiple locations in different time zones.

* Set a **timezone** per number or per branch, with the GMT offset or live time displayed.

* Use the **date picker** to add holidays and exceptions. Holiday calendars cover national-level holidays for 58 countries. Regional holidays are not included. See [Business Hours](/en/articles/2144270-business-hours.md) for the full list and details.

* **Branch names** are editable so you can label them (e.g., "Weekdays 9-18" or "Holiday hours").

* The failover branch covers any time not specified by other branches.

See [Time Router](/en/articles/9652337-day-time-splitter.md)

#### Condition Splitter

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/0f581bfb43ea-screenshot-2026-08-17-at-09-58-37.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=e2d76b4bac5df91aabd6e60d533625e1)

Split the flow based on a contact property, call attribute, or HTTP response value. For example, route VIP contacts to a priority line, or split calls by country.

**Plan:** Essential and Expert.

* Conditions are configured **inside the step** itself.

* Supports **AND** and **OR** operators, plus negation ("does not contain," "is not").

* You can reference values collected earlier in the flow (from Collect Input or HTTP Request steps).

See: [Caller-Based Routing with Conditions](/en/articles/5763009-caller-based-routing-with-conditions.md)

#### IVR Menu

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/994b4422d83f-screenshot-2026-08-17-at-09-59-18.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=76f8901891efaeaa6c2aea5a1ab1fa71)

Let callers choose with their keypad. Each key creates a separate branch in the flow.

**Plan:** Essential and Expert.

The step includes a sound picker for the menu prompt (the message telling callers which keys to press). You can create a new sound, upload one, use text-to-speech, or search your existing library. Set the **Seconds to wait on this step** to control how long callers have to respond.

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/ac4b02a5be6c-screenshot-2026-08-17-at-10-01-15.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=6fa340aa9478bbb0c33ce3c14a4ec0d1)

#### Jump to

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/bd75a675d517-screenshot-2026-08-17-at-10-04-43.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=ab04b161ca1e2477f6ff2213ed32fa84)

Jump to a specific step in any number's flow. Useful for shared sequences you want to reuse across multiple numbers, or for looping back to an earlier point in the same flow.

**Plan:** Expert only.

***

### Wrap Up

#### Voicemail

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/e8959df75e64-screenshot-2026-08-17-at-10-05-21.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=b9253cf2915a6151ab4c577795802483)

Take a message and get notified by email. Assign the voicemail to an agent or group mailbox.

The greeting message is configured **inside the Voicemail step** itself, so you don't need to add a separate Greeting step before it. You can create a new sound, search existing sounds, or use text-to-speech directly from the step config panel.

Voicemails assigned to a group send a notification email to the group email address when **Send voicemails** is set to **Yes**.

For more on mailbox assignment, notification settings, and accessing recordings, see [Configure Voicemail Settings](/en/articles/2480271-configure-voicemail-settings.md)

#### Mark Call as Resolved

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/afa7b3ab0fa6-screenshot-2026-08-17-at-10-09-57.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=86629ab5017ba994f1b64d3ad4ef0b25)

Close a branch so the call isn't counted as missed. Typically placed on the answered branch of a Ring to step, or at the end of any path where the caller's need was handled.

***

### Automation

#### Collect Input

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/34f26eef509b-screenshot-2026-08-17-at-10-10-35.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=22679d366162ba225a575a60154d41ae)

Ask the caller to enter digits on their keypad, like an order number, a PIN, or an account ID.

* Set the **expected input length** (replaces the old regex pattern).

* Configure a **timeout** for callers who need more time.

* The entered value can be used in downstream steps (HTTP Request or dynamic routing on a Ring to step).

See [Collect Input from Caller](/en/articles/5878950-collect-input-from-caller-step.md)

#### HTTP Request

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/ce40098864b6-screenshot-2026-08-17-at-10-30-13.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=0a18aab279a1a3040e7695066290fc1a)

Call an external API as part of the flow. Use this to fetch or send customer data from another system before routing.

* **Endpoint**: the URL to call.

* **Method**: choose GET, POST, or another HTTP method.

* **Request Headers**: add custom headers (collapsible section).

* **Request Body**: add key-value pairs or click **Add contact custom field** to insert contact data like caller number, name, or tags.

* **Parse response**: check this to make the API response available to downstream steps (Condition Splitter, dynamic routing).

* **Retain data after call**: keep the response data after the call ends.

See [Configuring HTTP Requests](/en/articles/6883940-http-request-step.md)

***

### Call Settings

#### Change of caller

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/f180e9819d44-screenshot-2026-09-02-at-10-43-55.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=3f6590303b7970d897ee038576df1f5e)

Change the caller ID on outbound calls, for example before a Redirect step so forwarded calls show your business number instead of the original caller's number.

This action results in the loss of the caller's number info.

#### Call recording

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/bd9fac26cbbf-screenshot-2026-09-02-at-10-44-49.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=83be77a7afbadb681318eba9bd78c3d7)

Record a specific branch of the call flow for training, compliance, or quality monitoring. If this step is not added, the default recording options from your account Settings apply.

***

## Editing and Deleting Steps

### Edit a step

Click the step card on the canvas to open its configuration panel on the right side.

### Delete a step

1. Click the **three-dot menu** (⋮) on the step card.

2. Select **Remove step**.

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/9c805f9461ae-screenshot-2026-08-17-at-10-38-42.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=3f555a4cc61d92dc406217df7af53bad)

For non-branching steps, the step is removed and the flow reconnects around it.

For **branching steps** (Ring to with answered branch, IVR Menu, Day/Time Splitter, Condition Splitter), you can't remove just the step itself. The confirmation dialog will ask you to type "DELETE" and click **Remove subsequent actions as well** to delete the step and everything inside its branches.

***

## Example Call Flow Designs

Now that you have a basic grasp of how the designer works, let's look at some traditional routing practices.

The main aim of the Call Flow Designer is to avoid missed calls and to ensure your customers efficiently reach the agents who can be most helpful to them. Below are some straightforward examples of how to achieve that.

### Personal Line with Voicemail Fallback

A simple flow where calls ring one agent. If the agent doesn't answer, the caller leaves a voicemail.

**Steps:** Greeting > Ring to (Agent) > *If unanswered:* Voicemail

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/d57339981bb7-screenshot-2026-08-17-at-10-47-46.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=364daa784ff2cd86065be1b2cca2746b)

How it works:

1. The caller hears a welcome message (Greeting step).

2. The call rings the assigned agent (Ring to step, target: Agent).

3. If the agent doesn't pick up, the caller is routed to Voicemail.

### Team Line with Answered Branch

Calls go to a group. Answered calls are marked as resolved. Unanswered calls fall back to voicemail.

**Steps:** Greeting > Ring to (Group) > *Answered:* Mark Call as Resolved / *If unanswered:* Voicemail

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/e369b844d484-screenshot-2026-08-17-at-10-51-31.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=8188d089f20adb21463044edb2757188)

How it works:

1. The caller hears a welcome message (Greeting step).

2. The call rings the selected group (Ring to step, target: Group).

3. If answered, the call is marked as resolved on the Answered branch.

4. If unanswered, the caller is routed to Voicemail.

### IVR Menu with Department Routing

Callers hear a welcome message, then choose a department by pressing a number. Each department has its own team and voicemail fallback.

**Steps:** Greeting > IVR Menu > *Key 1:* Ring to (Sales group) > Voicemail / *Key 2:* Ring to (Support group) > Voicemail / *Key 3:* Voicemail (Billing)

![](https://mintcdn.com/cloudtalk/6Hiy83aLw1wFZVvu/images/help-center/articles/3669429/fece83ed2965-screenshot-2026-08-17-at-11-19-15.png?fit=max\&auto=format\&n=6Hiy83aLw1wFZVvu\&q=85\&s=d4f039d4f5c9550974c4ddadbbbb0b24)

How it works:

1. The caller hears a welcome message listing the options.

2. The IVR Menu step prompts the caller to press 1, 2, or 3.

3. Each key routes to the appropriate team. If nobody answers, the caller reaches that team's voicemail.

**Tips:**

* Match the key numbers in your recorded prompt to the IVR keyboard numbers you assign to each branch.

* Always configure the **Failover for no key pressed** branch and connect it to a Hang Up step (or Voicemail, if you prefer). If this branch is not configured, calls where no key is pressed will stay open until the carrier drops them, which can take an extended period. This is especially common with bot and spam calls, which will sit in your IVR silently.

* Give callers at least 20 seconds to listen and respond.

***

*Need help or have a question?* Just reach out through our [Support portal](https://support.cloudtalk.io/hc/en-us/requests/new?ticket_form_id=26305535257884) — we're here for you.


## Related topics

- [Routing & Call Flow Design guide](/en/articles/10559796-routing-call-flow-design-guide.md)
- [Onboarding for New Users](/en/articles/8065091-onboarding-for-new-users.md)
- [How to send an automatic SMS using Call Flow Designer](/en/articles/8249875-how-to-send-an-automatic-sms-using-call-flow-designer.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.