Every feature is built for one job: understanding and modifying production call routing without breaking it.
IVRs, queues, ring groups, time conditions, call flow controls, announcements, dynamic routes, extensions, voicemail — all laid out by ELK. Click to edit in place.
Simulate any date and time. The graph dims paths that wouldn't fire and highlights the one that would. "What happens during the company event next Tuesday afternoon?" — pick the time and the graph shows you, instead of tracing it by hand.
Pick any destination — a Time Condition, an IVR, a queue. CFS walks every module's destination columns backwards and renders every node that points at it as a dashed reference card in its source-type color. Phantom references stop being phantoms.
Paste context directly on the canvas. Markdown-style checklists, URLs, inline comments on edges. Your future self will thank you. So will the next engineer.
PNG with a destination + timestamp stamp. Full quality, or sanitized — black boxes over PII for diagrams that travel beyond the PBX owner (a public doc, a vendor ticket, a training deck). One button from canvas to attachment.
Flip Call Flow Controls from the graph itself. Reads and writes Asterisk's astdb directly. No more "who switched the phones?"
Drop the inbound, drop the next node, wire it, save. The first forward-building dial-plan editor for the FreePBX family — no more starting at the queue and walking backward through dropdowns to make destinations exist before the routes that point at them.
It is in Call Flow Studio. Ctrl-Z reverts the last destination change; Ctrl-Y redoes. The Activity Log tab tracks every edit across every dial plan with one-click revert. Apply Config surfaces automatically — your fix goes live the second you're ready. Yes — even after an Apply Config. Destination edits today; full coverage in v1.1.
Extension nodes paint a registration dot in real time — green for registered, red for offline, amber for DND, purple for call forward. Queue and ring-group rows show the same dots per member, plus a P:N penalty chip. Pulled from the Asterisk Manager Interface on every graph load.
Self-hosted. No cloud. No telemetry. No outbound API calls. Installs on the FreePBX family or VitalPBX — auto-detected at install time. Your routing data never leaves your server.
CFS runs its own user system, separate from your PBX admin auth. Three roles: admins manage everything, technicians change dial plans, and users can pan, zoom, search, and reload the graph but never edit. Create a read-only login for a junior tech, a teammate, or a customer who can reach it, point them at https://<PBX_URL>/cfstudio, and troubleshoot together over the phone — they reload the graph as you make changes, no PBX admin UI required. And no one, whatever their role, can touch SIP trunks, system settings, or delete extensions — the blast radius of any CFS user is dial plans only.
CFS ships with a fully localized UI in 12 languages: English, Chinese (Simplified), Dutch (Netherlands), French, German, Italian, Japanese, Polish, Portuguese (Brazil), Portuguese (Portugal), Russian, and Spanish (Spain). Pick your language at install or per user.