Got an idea for Call Flow Studio? A lot of what ends up on this page started as an email from someone using it. Send yours to support@callflowstudio.io, and thanks to everyone who has.

1.0.17

September 19, 2026 · Call replay, prompts you can play on the canvas, and VitalPBX Dynamic Destinations

Pick a recent call and watch the route it actually took light up on the call flow.

  • Replay a recent call. On an inbound route's call flow, pick one of the last 50 calls and the path it took lights up step by step, including which time condition branch it went through. FreePBX and VitalPBX.
  • Play prompts on the canvas. Announcements and recordings get a play button on the node itself, with one per file for chained FreePBX recordings. VitalPBX announcements now show on the canvas too.
  • VitalPBX: Dynamic Destinations are drawn, with each response as its own branch. Disabled responses are dimmed.
  • FreePBX: paste time group entries. The time group editor takes pasted entries, one per line, and can open them in the Time Group Checker.
  • Time conditions show their real state. Overrides are shown on the canvas, Use System Timezone is checked in the right zone, VitalPBX time conditions use the tenant's zone, and reversed ranges are flagged again.
  • The detail panel opens from the info button. Clicking a node now just highlights its branch.
  • Password reset takes a username or an email address.
  • Fixes. New nodes stay where they first land, the cfs command survives FreePBX updates, the Default label shows in top to bottom layout, and the raw dial plan view is admin only with PINs masked.

1.0.16

September 9, 2026 · Follow-Me on FreePBX extensions, and update logging

Follow-Me on a FreePBX extension now reads as one picture, with the right ring times.

  • FreePBX: Follow-Me reads as one picture. The ring list and the no-answer destination are separate branches, and the detail panel lists one number per row.
  • Follow-Me shows the right ring times. The list row now shows Ring Time. It used to show Initial Ring Time, which now gets its own row when set.
  • Failed update downloads are logged as failures. They were logged as successful.
  • New installs draw connectors behind nodes. Upgrades keep their current setting.

1.0.15

September 3, 2026 · A better top to bottom layout, one place to search, and ports with no destination

Top to bottom is now a first class layout, and finding anything in a call flow happens in one panel.

  • Top to bottom works properly. New menu options can be wired straight away, connectors leaving the same point carry the option they belong to, ring times sit on the node, and sticky notes keep a position for each direction.
  • Search the whole call flow from one panel. Find also matches renamed menu options, sticky notes and connector notes. Enter and Shift+Enter step through the matches.
  • Ports with no destination are marked with a red dot. Wiring one clears it.
  • VitalPBX: unrouted DIDs are visible. A DID assigned to a tenant with no inbound route of its own now appears under the Any DID call flow, and searching for it finds it.
  • Fixes. A new connection no longer disappears after deleting a hidden branch's connector, a shared destination can't be rewired by accident, and resetting a setting reports the value it actually reset to.

1.0.14

August 19, 2026 · Large VitalPBX call flows, branch hiding, Back and Forward, and clearer exports

Large VitalPBX call flows now draw completely, and every VitalPBX call flow loads faster.

  • VitalPBX: large call flows draw completely, and load much faster. Flows where two paths reached the same queue or menu could load slowly and leave branches out. They now draw in full.
  • Hide every branch on a node at once, and bring them back the same way.
  • Back and Forward follow where you have been, in order. On VitalPBX, going back also switches you to that call flow's tenant.
  • Clearer exported images. Long names no longer overlap in PNGs, a diagram that couldn't draw in full says so on the image, and hidden branches stay marked as hidden.

1.0.13

July 22, 2026 · All-tenants call flow search, registration status, and inbound route fixes

On VitalPBX you no longer need to remember which tenant a call flow lives in. Search now spans every tenant you have access to.

  • VitalPBX: search across every tenant at once. When you know a call flow exists but not which tenant it is in, the search box can now look through all of them and take you straight there, instead of you opening tenants one at a time until you find it.
  • Registration dots are accurate again on FreePBX. An extension with no phone registered to it could show green. Custom and DAHDI extensions, which have no registration to check at all, reported “Registration: Yes”; they now show a neutral grey, as does any extension whose live status cannot be read from your PBX. Amber (registered, but not answering keep-alive checks) could not appear on FreePBX at all, and now does.
  • Inbound routes with pattern DIDs, or a comma in the caller ID, can be saved again. Call Flow Studio was stricter than FreePBX itself, so a route FreePBX would accept could be refused here, and an existing route of that shape could not be re-saved. It now follows the same rules FreePBX does. Missing name checks on Time Conditions and Conferences have been added.

1.0.12

July 14, 2026 · Ring group members, password recovery, and security hardening

Ring groups now show every member, including external numbers. Plus password recovery on the sign-in page.

  • Ring group external numbers now appear on the diagram. An external number in a ring group was read from your PBX but never drawn, and the member count was wrong for the same reason.
  • Forgot your password? There is now a recovery link on the sign-in page. Enter your email, and a one-time code is sent to you. An email address is now required when creating a user, so that recovery works when it is needed.
  • Additional security hardening. Recommended for all installs.

1.0.11

July 10, 2026 · Fixes to 1.0.9

Two rough edges in 1.0.9, smoothed. Includes everything from 1.0.10.

  • Hiding a branch now hides all of it when several IVR selections share one destination. Those selections appear as a single row, and hiding that row used to remove only one of them. Expanding the row now shows every selection marked as hidden, and revealing any one brings the whole branch back. The same applies to Dynamic Routes and Virtual Queues. The hide control also no longer appears on a port with nothing wired to it.
  • Per-user starting points now work. The Destinations button in the Users panel could not save its settings.

1.0.9

July 9, 2026 · VitalPBX module configuration, hidden branches, and per-user starting points

Most of this release is about seeing less of what you don’t need and more of what you do. Large call flows can now be pruned down to the path you care about, and on VitalPBX every module shows its own configuration without leaving the diagram.

  • VitalPBX: the Details panel now shows a module’s configuration. Select a node and its settings appear alongside the call flow, using the same field names and grouping you see in the VitalPBX interface, so what you read here matches what you would read there.
  • Hide any branch of a call flow. Collapse everything downstream of a node from the node itself. A hidden branch is remembered by what it points at, so it stays hidden in every call flow that reaches it, not only the one you were looking at when you hid it.
  • Per-user starting points. Administrators can choose which kinds of starting points each user is allowed to open. A user can be given inbound routes without being given extensions. Anything further down the flow still renders normally. Users with no restriction set keep full access, which remains the default.
  • Clearer device status. An extension that is registered but not answering keep-alive checks is now shown differently from one that is not registered at all.
  • Ring time now displays correctly for ring groups and extensions. Where no timer was shown before, the configured ring time now appears.
  • Fixes automatic updates silently failing on some systems. The scheduled update check could exit without doing anything and without reporting an error.
  • Increased security. This release includes security improvements.

1.0.8

June 29, 2026 · More reliable live device status

This release makes live device status more dependable, especially on busy and multi-tenant systems. Nothing changes about how you install or license. Existing installs simply get more reliable.

  • Dedicated connection for live status. Call Flow Studio now sets up and uses its own connection to Asterisk for reading live device status, instead of reusing an existing manager account. The connection is created automatically during install and removed on uninstall. There’s nothing for you to configure.
  • Fixes “everything shows offline” on systems with several manager accounts. On boxes that have more than one Asterisk manager (AMI) account, common on busy or multi-tenant systems, Call Flow Studio could previously latch onto the wrong account and show every device as offline. It now always uses its own account, so registration and device status read correctly.

1.0.7

June 29, 2026 · VitalPBX custom contexts, more accurate device status, and a built-in connection check

This release adds support for another VitalPBX routing building block, makes live device status read correctly on more systems, and adds a one-key diagnostic for when live status can’t be reached. Installing and licensing are unchanged.

  • VitalPBX custom contexts are now drawn. A call flow that routes into a VitalPBX custom context now renders as a proper destination node, showing its target context and where the call continues, instead of an “unsupported module” placeholder.
  • More accurate device status. Phones that are registered but not actively polled for reachability no longer show as offline. Registration is now read from the device’s actual connection, with a distinct state for “registered, reachability unconfirmed” alongside online and offline.
  • Reliable live status on systems with several manager users. On boxes that have more than one Asterisk manager (AMI) account, common on busy or carrier systems, Call Flow Studio now selects an account that can actually read live status, instead of whichever was listed first.
  • Built-in connection check. Press Shift+D to open a diagnostic that explains, in plain language, why live status can’t be read when a diagram shows none. For example, a manager connection that’s refused, unreachable, or rejected, along with what to check.

1.0.6

June 26, 2026 · VitalPBX rendering detail and a multi-tenant user shortcut

This release improves how Call Flow Studio reads VitalPBX systems and adds a shortcut for setting up users on multi-tenant boxes. Installing and licensing are unchanged.

  • VitalPBX auto-attendants show more detail. Phone-menu (IVR) nodes now show both the Welcome and Instructions greetings when they are set, and the menu options appear in numeric order (0–9, then ∗ and #).
  • Ring-group ring time is shown. On VitalPBX, a ring group’s “No Answer” path now shows how long it rings before the call moves on, such as “No Answer (20s)”.
  • Copy tenant access when creating a user. On a multi-tenant VitalPBX system, you can copy another user’s tenant assignments instead of selecting each one by hand.
  • IVR retry settings are read as configured. If an IVR’s invalid or timeout retry counts, or its timeout, were set to zero or left blank, Call Flow Studio now shows those values instead of substituting a default.
  • Destination list fixes. The destination picker uses a consistent group order on VitalPBX, and the highlight no longer moves as you hover down the list.

1.0.5

June 25, 2026 · VitalPBX 3.2 support, multi-word search, and canvas clarity

A reliability and refinement release: full VitalPBX 3.2 multi-tenant support, destination search that matches multiple words, and clearer rendering of shared destinations and long labels. Nothing changes about how you install or license. Existing installs simply get sharper.

  • VitalPBX 3.2 multi-tenant support. Call Flow Studio now reads VitalPBX 3.2 multi-tenant systems with the same per-tenant accuracy it brings to VitalPBX 4: tenant-correct extensions, registration status, and routing across every tenant on the box.
  • Search destinations by multiple words. The destination search now matches several terms at once, so a couple of words narrows to exactly the destination you mean instead of one.
  • Full label on hover. When a menu option or dynamic-route label is too long to fit and gets shortened with an ellipsis, hovering it now reveals the complete text. Exports are unchanged.
  • Shared destinations read as one. When several IVR options, routes, or queue branches all point to the same destination, the grouped set now stands out as a single unit with a clear accent rail, so it’s obvious they travel together.
  • Activity log limited to admins and technicians. The account activity log is now shown only to administrator and technician roles; read-only users no longer see it.
  • Clearer password resets. When you reset a user’s password, the temporary-password panel now shows the username it belongs to, so there’s no ambiguity about which account you just reset.

1.0.4

June 17, 2026 · VitalPBX multi-tenant accuracy and large-flow reliability

A reliability and fidelity release centered on VitalPBX multi-tenant systems: correct live status when extension numbers are shared across tenants, faster loading on busy boxes, and a guarantee that even an enormous or self-referential dial plan renders what it can instead of stalling. Nothing changes about how you install or license. Existing installs simply get sharper.

  • Correct device status across tenants. On VitalPBX systems where the same extension number exists in more than one tenant, registration status and the device’s user-agent now resolve to the right tenant’s device, so extension 101 in one tenant no longer borrows the status of 101 in another.
  • Faster loading on busy multi-tenant boxes. Live status (registrations, do-not-disturb, and call-forward state) is now gathered only for the tenant whose call flow you’re viewing, rather than scanning every extension on the whole system. Large, carrier-style deployments load noticeably quicker.
  • Big or looping dial plans never hang. An unusually large dial plan, or one that routes back on itself, now renders as much as it safely can and shows a clear notice that the diagram is partial, instead of spinning until the page times out.
  • Idle sessions sign out as intended. A session left unattended now times out on schedule even while a diagram sits open on a box with a pending reload, where background status checks could previously keep it awake.
  • Clearer save guidance. When more than one newly placed node still needs a connection, the save bar now tells you exactly how many remain.
  • Sharper exports and tidier schedules. Time groups line up correctly in SVG exports and queues are sized more compactly; a time condition with a long schedule now scrolls neatly within its node; and the time-group editor is a touch lighter and easier to read.

1.0.3

June 16, 2026 · Loop-back warnings, connector display options, and export polish

A focused refinement release: a new at-a-glance warning for call flows that double back on themselves, a display option for how connection lines are drawn, and a set of export and rendering fixes. Nothing changes about how you install or license. Existing installs simply get sharper.

  • Spot a loop at a glance. When a destination’s timeout or invalid path leads straight back to the same node, a call that would loop on itself instead of moving forward, that node now shows a small amber warning marker, so a likely misconfiguration stands out without tracing every connection by hand.
  • Draw connectors behind nodes. A new display setting routes connection lines behind the nodes instead of over them, which reads more cleanly on dense diagrams. Off by default; your diagrams are unchanged until you turn it on.
  • Sharper SVG exports. Nodes with long, scrollable bodies (a packed IVR or a busy time condition) now align correctly in true-vector (SVG) exports.
  • Tidier time conditions. A time condition with a long schedule now scrolls neatly within its node instead of overflowing it, and the time-group editor lists calendar entries in order.
  • Steadier clicks near connections. Clicking close to a connection line no longer mis-selects the line or swallows a click meant for what’s behind it.
  • Better sticky notes. Blank lines you add inside a note (pressing Enter a few times to separate sections) now stay put instead of collapsing when you click away, and a note holding more text than fits now scrolls with the mouse wheel and a scrollbar while you edit it.

1.0.2

June 10, 2026 · Two-click wiring, smarter rewiring, and trial recovery

A quality-of-life release focused on how connections are drawn and changed on the canvas, plus a recovery path for trials that didn’t start cleanly at install.

  • Connect with two clicks. Click a source port once and the connection line follows your cursor. No holding a drag across the canvas. Click a destination port to land it, or cancel with Escape, a click on empty canvas, or a second click on the same port. Drag-to-connect still works exactly as before.
  • Smarter rewiring. Wiring an already-connected port to a new destination now clears the old line immediately; discarding a pending rewire puts the original connection back instead of leaving the port unwired; and dropping a connection back on its existing destination no longer asks you to save a change that changes nothing.
  • Start your trial from the License tab. If trial setup couldn’t complete when you installed (a network hiccup at the wrong moment) a Start free 30-day trial button now appears in Account & Admin → License, and any problem is reported with a clear, specific message.
  • Path highlighting on every queue and ring group row. The No Answer, IVR Break Out, and After Agent Hangup rows now highlight and pin their downstream path on hover and click, matching the numbered rows.
  • VitalPBX fidelity. Personal-assistant and diversion destinations that previously rendered as an unknown destination now resolve to the right node.
  • Live Asterisk status in About. The About panel now shows whether Call Flow Studio’s live connection to Asterisk is up, the one that powers registrations, DND/forward state, and queue membership.
  • Password-manager polish. Autofill no longer pops up on fields that aren’t logins (like adding a user), and signing in now saves your username and password together correctly.

1.0.1

June 9, 2026 · Fidelity, polish, and hardening

The first update after 1.0: a batch of fidelity fixes, editing polish, and security hardening drawn from real-world use across the FreePBX family and VitalPBX. Nothing changes about how you install or license; existing installs simply get sharper.

  • IVR menus now handle * and # selections. Star and pound options can be created, edited, and are shown alongside numeric selections in their natural order.
  • New nodes stay where you put them. A node you create and place on the diagram now keeps its position through a save and reload, and re-adding an extension that’s already on the canvas snaps to the one you placed instead of drawing a duplicate.
  • Scrub through recordings. The voicemail-greeting and recording player now supports seeking, so you can jump to any point instead of listening from the start.
  • Follow a branch at a glance. Hovering or clicking a row on a multi-option node (an IVR, ring group, or queue) highlights and pins the path it leads to, included free on VitalPBX.
  • Protection against losing unsaved work. Actions that would reload the diagram now check for unsaved edits first, so an accidental click can’t discard changes you haven’t saved.
  • Cleaner number and status display. Inbound numbers delivered as a plain 11-digit US number now format correctly, and a time condition’s current day / night mode shows accurately the first time it loads.
  • Additional security hardening throughout the app, continuing to read and write only through your PBX’s own functions and to require a login for every action.

1.0.0

June 4, 2026 · Call Flow Studio 1.0, out of beta

Call Flow Studio 1.0 is here: the first general-availability release, graduating from more than thirty beta builds. Call Flow Studio is the commercial successor to the free dpviz module: a visual editor for your FreePBX-family dial plan, and a live read-only visualizer for VitalPBX, that shows what’s configured and what’s actually working right now. The engine has been hardened across the entire beta line. This is the same tool, out of beta and standing on its own.

  • See the whole call flow. Trace any DID from inbound to voicemail as one diagram, with live registration, queue-agent, and Do-Not-Disturb / call-forward status on every node. Simulate any date and time to see which path a call would take.
  • Edit right on the diagram. Repoint a route or edit an IVR, ring group, or queue in place, written through your PBX’s own functions, so changes are indistinguishable from edits made in the PBX admin. Full undo / redo and a per-edit activity log, even after an Apply Config.
  • Export for the handoff. Branded PNG and true-vector SVG diagrams, with optional one-click redaction of names and numbers for documents that travel beyond the PBX owner.
  • Built for teams. Its own login system with admin / technician / user roles, separate from your PBX admin. Hand a read-only view to a teammate or customer without giving up any PBX access.
  • Free to start. Installs free and runs the full product for 30 days; afterward it settles to a free read-only visualizer on the FreePBX family (your first two tenants on VitalPBX), and a one-time, per-PBX license keeps the full experience.
  • Also in this release: the License panel now clearly distinguishes a trial from a purchased license: a Trial badge with the days remaining during your trial, switching to Active once you activate a license, so the panel and the trial countdown always agree.

Call Flow Studio reads and edits your dial plan through your PBX's own functions, and requires a login for every action. As a general practice, a PBX management interface shouldn't be exposed directly to the public internet. Keep it behind a VPN or an IP allow-list.