# How the PBX works

> Build your call flow by placing objects on the canvas, connecting them, and applying the configuration.

- URL: https://kb.voipcloud.online/pbx/basics/pbx-overview/
- Section: PBX › PBX basics
- Type: overview
- Applies to: All countries
- Portal page: /pbx
- Last reviewed: 2026-11-09

The **PBX** tab is where you decide what happens to every call. You build a **call flow** by dragging objects onto a canvas and connecting them: for example, a phone number that rings your team, then goes to voicemail if nobody answers.

![The PBX tab with the object palette on the left and a call flow on the canvas](https://kb.voipcloud.online/images/pbx/basics/pbx-canvas.webp)

## The parts of the PBX tab

| Area | What it does |
| --- | --- |
| Object palette (left) | Every object you can add, grouped by what it does. Use **Search** at the top of the palette to find one quickly. |
| Canvas (centre) | Your call flow. Drag objects here and connect them. |
| Tabs (above the canvas) | Split a large call flow into several canvases, for example one per office or department. Click the **+** button to add a tab and the pencil button to change their order. |
| **Search** | Find an object on the canvas by name, number or setting. |
| **Devices** | All phones and apps that can make and receive calls. See [Devices](https://kb.voipcloud.online/pbx/settings/devices/). |
| **Phonebooks** | Shared and personal contact lists for the Webphone and desk phones. See [Phonebooks](https://kb.voipcloud.online/pbx/settings/phonebooks/). |
| **Settings** | PBX-wide settings: **General**, **Call flow**, **Dial plans**, **Music on hold**, **Pickup groups** and **Global blocklist**. |
| **Apply configuration** | Makes your changes live. Nothing you change on the canvas affects real calls until you apply it. Every object must be fully configured before you can apply. |
| Zoom controls (bottom) | Zoom in and out, **Default zoom**, **Full call flow** (fit everything on screen) and **Selection mode** (select several objects at once). |

## Object groups

The palette groups objects by what they do. Each object has its own page in this knowledge base.

| Group | Objects |
| --- | --- |
| Receive calls | [Inbound number](https://kb.voipcloud.online/pbx/receive-calls/inbound-number/), [Website widget](https://kb.voipcloud.online/pbx/receive-calls/website-widget/), [Internal number](https://kb.voipcloud.online/pbx/receive-calls/internal-number/) |
| Accept, make and divert calls | [User](https://kb.voipcloud.online/pbx/accept-make-divert/user/), [SIP trunk](https://kb.voipcloud.online/pbx/accept-make-divert/sip-trunk/), [Voicemail](https://kb.voipcloud.online/pbx/accept-make-divert/voicemail/), [Call diversion](https://kb.voipcloud.online/pbx/accept-make-divert/call-diversion/), [Dial tone access](https://kb.voipcloud.online/pbx/accept-make-divert/dial-tone-access/) |
| Handling mass incoming calls | [Queue](https://kb.voipcloud.online/pbx/mass-incoming-calls/queue/), [Queue priority](https://kb.voipcloud.online/pbx/mass-incoming-calls/queue-priority/), [Queue callback](https://kb.voipcloud.online/pbx/mass-incoming-calls/queue-callback/), [Call parking](https://kb.voipcloud.online/pbx/mass-incoming-calls/call-parking/), [Ring group](https://kb.voipcloud.online/pbx/mass-incoming-calls/ring-group/) |
| Monitoring | [Queue wallboard](https://kb.voipcloud.online/pbx/monitoring/queue-wallboard/), [Call parking wallboard](https://kb.voipcloud.online/pbx/monitoring/call-parking-wallboard/) |
| Conditions | [Voice menu](https://kb.voipcloud.online/pbx/conditions/voice-menu/), [Time conditions](https://kb.voipcloud.online/pbx/conditions/time-conditions/), [GEO routing](https://kb.voipcloud.online/pbx/conditions/geo-routing/), [Contact match](https://kb.voipcloud.online/pbx/conditions/contact-match/), [Call flow control](https://kb.voipcloud.online/pbx/conditions/call-flow-control/) |
| Audio | [Announcement](https://kb.voipcloud.online/pbx/audio/announcement/), [Call recording](https://kb.voipcloud.online/pbx/audio/call-recording/), [Stop call recording](https://kb.voipcloud.online/pbx/audio/stop-call-recording/) |
| Identifiers | [Caller ID prefix](https://kb.voipcloud.online/pbx/identifiers/caller-id-prefix/), [DTMF prefix](https://kb.voipcloud.online/pbx/identifiers/dtmf-prefix/) |
| Protection | [Blocklist](https://kb.voipcloud.online/pbx/protection/blocklist/), [PIN code](https://kb.voipcloud.online/pbx/protection/pin-code/) |
| Advanced | [API request](https://kb.voipcloud.online/pbx/advanced/api-request/), [Webhook](https://kb.voipcloud.online/pbx/advanced/webhook/) |
| Different | [Fax to email](https://kb.voipcloud.online/pbx/different/fax-to-email/), [Notification](https://kb.voipcloud.online/pbx/different/notification/), [Conference](https://kb.voipcloud.online/pbx/different/conference/), [Set caller ID](https://kb.voipcloud.online/pbx/different/set-caller-id/) |

## Add and configure an object

1. Drag the object from the palette onto the canvas. A new object has a red outline and says **You need to configure this component** until you set it up.
2. Click the gear icon on the object to open its settings.
3. Fill in the settings and click **Save**.
4. Click **Apply configuration** in the top-right corner.

To delete an object, click its delete icon and confirm.

**Important:** **Apply configuration** can only be clicked when you have unapplied changes. Changes only reach real calls after you click it.

## Connect objects

Each object has a connection point on its left (where calls come in) and one or more on its right (where calls go next). Drag from a connection point on the right of one object to the left of another to connect them.

Many objects have more than one way out. Each connecting line gets a coloured label, such as:

| Label | When the call takes this path |
| --- | --- |
| **No answer** | Nobody answered in time (Ring group, Call diversion, SIP trunk). For a User, it also covers rejected calls and Do Not Disturb, but only for calls that reach the user directly. |
| **Maximum waiting time exceeded** | The caller waited in a Queue for longer than the limit. |
| **All users offline or on DND mode** | Every user in a Queue is offline, turned off or on Do Not Disturb. |
| **Matches** / **Doesn't match** | The call did or didn't meet the conditions in Time conditions, GEO routing or Contact match. |
| **Correct** / **Incorrect** | The caller entered the right or wrong PIN code. |
| **Active** / **Passive** | The current state of a Call flow control object. |
| **1**–**9**, **0**, **\***, **#**, **Timeout**, **Invalid** | The key the caller pressed in a Voice menu, or what happened if they didn't press a valid key. |

If a path isn't connected, the call usually ends at that point. Connect every path you expect callers to take.

## Undo, export and import

Open **Settings** › **Call flow** to:

- **Export a call flow** to a file, as a backup or to copy it to another account.
- **Import a call flow** from a file.
- **Roll back to the last applied configuration** to discard changes you haven't applied yet.

Export and import cover every tab, not only the one you're viewing. See [Call flow settings](https://kb.voipcloud.online/pbx/settings/call-flow-settings/).

## Related

- [Set up your phone system](https://kb.voipcloud.online/getting-started/set-up-your-phone-system/)
- [Devices](https://kb.voipcloud.online/pbx/settings/devices/)
