Call Flow Studio
Features Demo Pricing Screenshots FAQ Docs
Install free →
Docs

Installing Call Flow Studio

Runs on the PBX itself · about 2 minutes

Documentation
  • Installing CFS
  • Licensing & activation
  • Moving a license
  • Command-line (cfs)

Questions? support@callflowstudio.io

Requirements

  • An Asterisk-based PBX — FreePBX 14, 15, 16, 17, a FreePBX-derived fork, or VitalPBX. The installer auto-detects.
  • Root / sudo on the PBX server.
  • Outbound HTTPS to callflowstudio.io — for trial registration and update checks.
  • ~25 MB free on the web tree.

Not supported: FreePBX older than 14. The installer detects this and stops with an explanation rather than installing something that won’t work.

Install

SSH to your PBX as root and run two commands. The bootstrap fetches the current release, verifies its SHA-256, extracts, and hands off to the in-tree installer — there’s nothing to download or unpack by hand:

wget https://callflowstudio.io/install.sh
sudo bash install.sh

To read the script before running it as root, view it with less install.sh after the download — it’s a plain shell script, and q quits the viewer:

wget https://callflowstudio.io/install.sh
less install.sh
sudo bash install.sh

What the installer does

  • Auto-detects your PBX (FreePBX, VitalPBX, or a fork).
  • Creates the cfstudio database alongside your existing asterisk DB, so its own tables live separately from your PBX’s. When you edit a dial plan, Call Flow Studio doesn’t write SQL into the asterisk database itself — it calls FreePBX’s own module functions, the same code the FreePBX admin screens use to save that IVR, queue, or ring group.
  • Sets up /etc/cfstudio/ with restricted permissions for the admin credential and license key.
  • On FreePBX: drops an Apache config snippet for /cfstudio/, gated by apache2ctl configtest — it rolls back if that doesn’t pass. VitalPBX uses its existing vhost; no web-server changes.
  • Prints a one-time setup URL for the welcome flow.

It stays in its own lane: it does not change your call routing or your PBX software. It installs alongside them and reads your existing configuration to draw it. Nothing leaves your PBX without your explicit consent.

The compatibility checks

The installer checks your environment before it changes anything. If something is a genuine blocker — PHP < 5.6, no MariaDB/MySQL, no Asterisk, an unsupported platform, or no network to fetch the licensing component — it stops at that first problem, tells you exactly what failed and why, and nothing has been installed or altered. If it spots something merely unfamiliar rather than blocking (a newer database version it hasn’t been tested against, say), it flags it and continues.

When a check stops the install it also writes a plain-text diagnostic to /tmp/cfstudio-install-error-<time>.log. That file contains only versions, your detected PBX type, and the failing step — no credentials, no personal data, nothing sent anywhere automatically. You can read it before emailing it to support@callflowstudio.io.

Re-running & scripted rollouts

The installer is idempotent — safe to re-run. If a download is interrupted or your SSH session drops, just run it again; existing admin credentials, license keys, and your call-flow data are preserved. That also makes it safe to drive from a configuration-management run across a fleet.

Finishing in the browser

Open the URL the installer prints (it ends in ?setup_token=<random> — the token is long, so copy the whole line). The welcome flow asks for a username, email, password, and EULA acceptance. Submit, and your 30-day trial registers automatically. Call Flow Studio is then served from /cfstudio/ on the PBX.

If the welcome page won’t load, re-check the printed URL. If trial registration doesn’t go through, your admin account still exists — log in normally and retry from Settings → License. Next: Licensing & activation.

What’s collected at registration

From the welcome form: business email, name, optional company. From the PBX itself:

  • Machine fingerprint — a one-way identifier derived from this server’s hardware and OS, used only to bind your license to one PBX. It can’t be reversed back into the underlying details.
  • Hostname, PBX brand + version, OS distribution, CFS version, PHP version.
  • Public IP at registration, geolocated to country / region / city.

What is not collected: phone numbers, DIDs, caller IDs, call recordings, voicemail content, dial-plan content, queue or extension lists, any caller PII. Your dial plan stays on your PBX. Full inventory and handling: Privacy Policy. License terms: Terms of Service.

Uninstalling

FreePBX:

sudo bash /var/www/html/cfstudio/uninstall.sh

VitalPBX:

sudo bash /usr/share/vitalpbx/www/cfstudio/uninstall.sh

Removes the install tree, /etc/cfstudio/, the cfstudio database, and the Apache snippet on FreePBX. It does not touch your asterisk database, your web server, or Asterisk itself.

If you have an active license and want to move it to another PBX, run cfs release-license before uninstalling to free the binding. See moving a license.

Call Flow Studio

A visual editor for Asterisk-based PBXes. Self-hosted. Free 30-day trial, then a free tier you keep for good, with an optional one-time license. Built by PBX admins for PBX admins.

Product
Features Screenshots Pricing Get Call Flow Studio
Resources
Documentation Installation guide FAQ DPviz vs Call Flow Studio VitalPBX call flow visualizer
Contact
hello@callflowstudio.io support@callflowstudio.io PBX not on the list? Tell us
© 2026 Call Flow Studio · Not affiliated with Sangoma, FreePBX, the Asterisk project, or VitalPBX.
Privacy Terms Refunds
FreePBX® and Asterisk® are registered trademarks of Sangoma Technologies Corporation. VitalPBX® is a registered trademark of VitalPBX LLC. All other product names, logos, and brands are property of their respective owners and are used for nominative reference only.