PBX Studio: Build and Test Call Flows

PBX Studio is a visual builder for inbound call routing. Instead of configuring queues, auto attendants and voicemail on separate screens and mentally piecing together how a call travels between them, you draw the whole journey on one canvas: a caller dials your number, and you decide — visually — what happens next.

Each flow is a diagram. Nodes are the steps a call passes through, and the lines between them are the routes it can take.

Table of Contents

  1. Access PBX Studio
  2. The Call Flows Table
  3. Create a Call Flow
  4. Node Types
  5. Connecting Nodes
  6. Editing Nodes
  7. Canvas Tools
  8. Keyboard Shortcuts
  9. Save and Activate a Flow
  10. Test a Flow with a Live Call
  11. PBX Studio FAQ

Access PBX Studio

Log in to the PBX.IM Dashboard, go to Call Routing, and select PBX Studio from the dropdown menu.

PBX Studio requires write access to call flows. If you do not see the menu item, ask an Admin to review your role permissions.

[!NOTE] PBX Studio is enabled per account. If the menu item is missing and your permissions are correct, contact support to have it turned on for your account.


The Call Flows Table

The main page lists every call flow on your account.

ColumnDescription
Call Flow NameThe name you gave the flow. Click it to open the editor.
OriginThe trigger that starts the flow — the phone number or extension callers reach.
Last Edited ByThe user who most recently saved changes to the flow.

Click Add Call Flow in the top right to start a new flow on an empty canvas.


Create a Call Flow

A new flow opens on an empty canvas showing Flow start and the prompt Add flow trigger to get started.

Every flow begins with a trigger — the thing a caller reaches. Until you add one, the palette offers only the two trigger types:

  • Phone Number — an inbound number on your account.
  • Extension — an internal extension.

Once a trigger is on the canvas, the two trigger types disappear from the palette and the remaining node types become available. A flow has exactly one trigger.

There are three ways to add a node:

  1. Drag it from the palette on the right onto the canvas.
  2. Click empty canvas to open the node picker, then choose a node.
  3. Drag from a node's handle and release on empty canvas. The picker opens and the new node is connected automatically.

Give the flow a name in the header — the field starts as Untitled Flow. Press Enter to commit the name, or Escape to revert it.


Node Types

Once a trigger exists, the palette offers these nodes:

NodeWhat it does
UserRings a specific user.
ExtensionRoutes to an internal extension.
QueuePlaces the caller in a call queue.
Ring GroupRings a ring group.
Call ForwardingForwards the call to an external number.
AnnouncementPlays an announcement.
Auto AttendantPlays a menu and routes on the caller's keypress.
Business HoursSplits the call by whether you are open or closed.
VoicemailSends the caller to voicemail.
ConferenceDrops the caller into a conference room.
EndpointRoutes to a registered endpoint.
Terminate CallEnds the call in a specific way.

Node Outputs

Most nodes have a single output, but some branch. Each output is a separate connection point, so you can send each outcome somewhere different:

NodeOutputs
Auto AttendantDefault, plus Key 0–Key 9, Key *, Key #
QueueDefault, plus Key 0–Key 9, Key *, Key #
UserDefault, DND, Busy, No Answer, Endpoint not Available
Business HoursOpen Hours, Closed Hours

Voicemail, Conference, Terminate Call and Endpoint are end points — the call stops there, so they have no outputs.

On a branching node, use the Add output dropdown to add a branch. The dropdown only lists outputs you have not used yet.

Terminate Call Methods

The Terminate Call node ends the call using one of these methods:

MethodResult
HangupEnds the call normally.
BusyReturns a busy signal.
CongestionReturns a congestion (network busy) signal.
Put Caller on Hold ForeverHolds the caller indefinitely.
Play ringtones to caller until they hangupRings until the caller gives up.

Connecting Nodes

Drag from a node's output handle on its right side to the input handle on the left side of the next node. A branching node shows one handle per output, so you can route each outcome separately.

Every node must trace back to the trigger. A node left floating on the canvas is a disconnected node, and the flow will not save until you connect or remove it.


Editing Nodes

Click a node — or open its ⋮ menu and choose Edit — to open its configuration form. The right sidebar swaps from the node palette to that node's settings, and swaps back when you are done.

The ⋮ menu also offers Duplicate and Delete, with two exceptions worth knowing:

  • Phone Number, Extension, User and Endpoint nodes cannot be duplicated.
  • Trigger nodes cannot be deleted once the flow has been saved. To change the trigger, edit it rather than replacing it.

[!NOTE] A node can be shared by several flows. When you save a change to a shared node, PBX.IM warns you with Node Used In Multiple Flows — "It's used in multiple flows, so the changes will affect all of them." Confirm only if you intend the change to apply everywhere.


Canvas Tools

ToolWhat it does
Auto-Arrange FlowLays the diagram out automatically and fits it to the screen. Useful after a flow grows messy.
Show Inputs From Other FlowsAdds read-only nodes showing what else routes into the nodes in this flow, so you can see a shared queue's other callers. These nodes cannot be edited.
Select / Move / FrameBottom toolbar. Switch between selecting nodes, panning the canvas, and fitting the flow to the screen.
Undo / RedoSteps back and forward through canvas changes.

The sidebar can be resized by dragging its left edge, and collapsed with the toggle icon.


Keyboard Shortcuts

ShortcutAction
Cmd/Ctrl + ZUndo
Cmd/Ctrl + Shift + ZRedo
Cmd/Ctrl + CCopy selected nodes
Cmd/Ctrl + VPaste nodes
Delete / BackspaceDelete selected nodes and connections
VSelect mode
MPan/Move mode
FFit the flow to the screen
EscapeClose the node picker, or revert a flow-name edit
EnterCommit a flow-name edit

Shortcuts are ignored while you are typing in a field.

[!NOTE] Undo and redo cover the canvas only — the nodes, their connections, and layout. They do not undo a save, a flow rename, or a change to the flow's Active status. History holds the last 50 steps and is cleared when you leave the editor.


Save and Activate a Flow

Click Save in the header. A flow only routes real calls when its Active switch (in the sidebar) is on — the header pill shows Active or Inactive. There is no separate publish step: activate the flow and save it.

Saving is blocked until the flow is valid. If something is wrong, PBX.IM shows the reason and highlights the first node at fault:

MessageHow to fix it
Missing flow nameEnter a name for the flow before saving.
Flow name too longFlow names are limited to 255 characters.
Missing triggerAdd a Phone Number or Extension to start the flow.
Disconnected nodesOne or more nodes do not trace back to the trigger. Connect or delete them.
Validation ErrorA node has an incomplete configuration. Open the highlighted node and complete it.

A successful save confirms with Flow saved successfully.


Test a Flow with a Live Call

Test Flow places a real call from your webphone into the flow you are editing and lights up each node as the call reaches it. You watch the call travel through the diagram in real time, which means you can confirm routing works before pointing live traffic at it — no need to publish a number and read call logs afterwards.

Before you start

The Test Flow button is disabled until all of these are true:

  1. The flow has at least one node.
  2. The flow is saved, with no unsaved changes.
  3. The flow's status is Active.
  4. Your webphone is connected and not already on a call.
  5. No test call is running on another flow.

When the button is disabled, hover it — the tooltip names the exact reason, for example Save flow to make a test call. or Connect the webphone to make a test call.

Run the test

  1. Click Test Flow.
  2. Your webphone rings. The button changes to Cancel while it is ringing.
  3. Answer. You are now the caller. The button changes to End Test.
  4. Watch the canvas as the call moves through the flow.
  5. Hang up, let the flow finish, or click End Test.

What you see on the canvas

  • The node the call is currently at pulses with a green glow.
  • The connection the call travelled along animates in green — and stays animated. The trail accumulates, so by the end you can see the complete path the call took through the flow, not just where it is now.

While a test is running the canvas is read-only: you cannot move, edit, connect or delete nodes, the palette empties, and Save, the Active switch, Auto-Arrange Flow, undo and redo are all disabled. End the test to make changes. Cancel / End Test is never disabled, so you can always stop the call.

When a test ends

A test finishes when you hang up, when the flow terminates the call, or when you click End Test. If the session sits idle too long it expires on its own and shows Test call timed out. If the call cannot be placed, Test call failed appears with the reason.

The highlight trail lives only in your browser for the duration of the test. There is no test history, and closing the tab discards it.

[!NOTE] Leaving PBX Studio does not end a running test. The call continues until you hang up or click End Test.

Limitations

  • One test at a time. You cannot test two flows at once, and PBX.IM does not show you when a colleague is testing the same flow.
  • Flows that route back to you. If the flow routes to the same extension your webphone is registered to, you are both the caller and the destination. Hanging up ends the whole test, so the Busy and No Answer branches never play out. Test these flows from a different phone than the destination extension.
  • Branch highlighting is partial. When several outputs of one node lead to the same destination, only Auto Attendant keypresses and Queue exit keys light the specific branch taken. Business Hours (Open/Closed) and User (Busy, DND, No Answer, Endpoint not Available) branches light up together rather than individually.
  • Draft and inactive flows cannot be tested. Activate and save the flow first.

PBX Studio FAQ

Do I have to publish a flow?

No. There is no publish step. Turn the Active switch on and save — the flow starts routing calls that reach its trigger.

Why can't I delete the Phone Number node?

Triggers cannot be deleted from a saved flow, because the flow would have no entry point. Edit the trigger to point at a different number, or delete the whole flow.

I changed a queue in one flow and it changed in another. Why?

Nodes can be shared between flows. When you save a change to a shared node, PBX.IM warns you with Node Used In Multiple Flows before applying it everywhere. Use Show Inputs From Other Flows to see what else routes into a node before editing it.

Why won't my flow save?

The most common reasons are a missing name, a missing trigger, or a node that is not connected back to the trigger. The error message names the problem and the first node at fault is highlighted.

Does a test call cost money?

A test call is a real call and is billed like any other call through the flow.

Why doesn't the Busy branch light up when I test?

If the flow routes back to your own extension, your single webphone is both ends of the call, so the failure branches cannot run. Test from a different phone. Note also that Business Hours and User branches currently highlight together rather than individually.

Can I undo a save?

No. Undo and redo apply to the canvas only. A save is permanent — to revert, change the flow back and save again.