# Firmware Dependency Reference

Call Flow Designer (CFD) is the visual tool for building automated call flows. It gains new components, expression functions, and behaviors over time, and each addition depends on a minimum PBX firmware version. Use this reference to confirm your system is current enough for the capability you want before you build a call flow around it. Firmware is cumulative, so a system on a later version also supports everything listed for the earlier versions. Releases are listed newest first.

:::caution
A component or expression function that is newer than your firmware will not be available, and a call flow that relies on it can fail to run or route calls incorrectly. Check that your firmware meets the minimum in the matching row before you use any capability below.
:::

:::tip
To check the firmware your system is running, open the system information in the management portal before you rely on a feature below. On firmware 84.22.0.17 or later you can also read it back from inside a call flow using the **Get System Info** component.
:::

## February 5, 2026

**Minimum firmware:** 84.22.0.17 or later

New components:

- **Get System Info**: returns details about the system itself, such as device name, product model, and firmware version.
- **Get System Capacity**: returns capacity figures, including the total and used counts of extensions and concurrent calls.
- **Get Extension Info**: returns details for an extension, including its number, name, email address, and mobile number.
- **Get Company Contact Info**: returns fields from a company contact, such as name, phone number, and email address.

Component enhancements:

- **Prompt** and **User Input**: when the prompt is text-to-speech (TTS), you can now define where the call goes if the caller does not respond in time. Enable the **TTS Response Timeout** option, then connect a component to the **TTS Response Timeout** branch to set the timeout destination.
- **Transfer**: can now transfer a call to an IVR (Interactive Voice Response menu) or a feature code (a short dial code that triggers a PBX function).
- **Email Sender**: now works on its own, without the Developer component, and accepts expressions in both the email subject and body.
- **Database Access** and **HTTP Request**: now work on their own, without the Developer component, and let you set a destination for when the component times out. (HTTP is Hypertext Transfer Protocol, the protocol used to call an external web service.)
- **Set Agent Status**: can now log an agent in to their last queue.

Expression function added:

- `FX_GET_JSON_ARRAY_ITEM`: reads one item out of a JSON (JavaScript Object Notation) array. JSON is the structured text format commonly returned by web services.

## October 13, 2025

**Minimum firmware:** 84.20.0.128 or later

- **Dynamic text-to-speech**: for the **Prompt**, **Menu**, **User Input**, **Record**, **Dial by Number**, and **Transfer** components, a text-to-speech (TTS) prompt can now be assembled from dynamic text. Combine fixed wording with placeholders that reference [variables](/pbx/call-flow-designer-guide/constants-and-variables-in-cloud-voice-cfd-expression/), and the system composes the text, converts it to speech, and plays it to the caller.
- **New variables**: TTS result variables were added so you can reference the generated speech from each supporting component:
  - `$Prompt{index}.ttsResult`
  - `$Menu{index}.ttsResult`
  - `$UserInput{index}.ttsResult`
  - `$Record{index}.ttsResult`
  - `$DialByNumber{index}.ttsResult`
  - `$Transfer{index}.ttsResult`

## August 5, 2025

**Minimum firmware:** 84.20.0.21 or later

- **Transfer**: added a **Custom** destination option, so you can send the call to a number you type in rather than to a preset destination.
- **Expression functions**: added JSON (JavaScript Object Notation) helpers for reading values out of a JSON payload:
  - `JSON_GET_STRING`
  - `JSON_GET_INTEGER`
  - `JSON_GET_OBJECT`

:::caution
A **Custom** transfer destination can dial an external or international number. If the call flow is reachable by outside callers, an unrestricted or attacker-supplied destination can expose you to toll fraud. Point Custom transfers only at numbers you control, and validate any value that comes from caller input or an outside system.
:::

## July 7, 2025

**Minimum firmware:** 84.19.0.110 or later

Initial release of Call Flow Designer.
