Most Puzzel solutions are designed using the Call Flow Tool. A Puzzel customer usually has one Call flow service configuration, but some have 2 or more.

If you have more than one Call Flow configuration and not all admins with access to this page should see all, you can define and use resource filter(s). If you click on a Call Flow service configuration, the Call Flow Tool opens in a new browser window.

The different available module types are listed in the left margin. Modules can be dragged (one at a time) into the canvas. Double-click on a module to open the details window for the module, where you can see and enter details for the module. To connect two modules, click on the 'from' module's exit point (a black bullet) and drag a line to the 'to' module's enter point (top/left/right).

Access levels in Call Flow Tool

  • Read only
  • Write/save access
  • Install
  • Scripting

To get write or install access, you first need to participate in a training session and pass the certification test. Customers do not usually get access to the script module since these modules contain code.

Version handling

  • The File history menu lets you choose between Load active version, Load the latest version and View all versions.
  • The Save version menu lets you choose between Save and activate, Save draft, Save as and Activate.


Storage policy

Each night we delete 'old' CFT solution versions (Call Flows).

  • The number of versions kept will always be at least 10 (the most recent ones), independent of the age of the versions.
  • The retention period (if not blocked by the minimum 10 versions) is 10 months.
  • Active versions will never be deleted, independent of the age.


How to roll back to an earlier version

Click File history and select View all versions. In the version list, select a version and click Load to see it. Then click Activate.


Module name Description
Start The starting point. Puzzel usually defines an Initial script and/or a Finally script (under Advanced)

In a Time module, you define exits like Open, Closed, Closed-special etc, and calls will be routed to the correct exit based on the defined opening hours under Services Time.

Please see Local Time module vs Shared/Bound Time module


The Audio module plays the selected audio file for the caller.

The actual audio files (you can choose from) are maintained under Services - Audio.
Audio files can also be uploaded directly into modules Audio, Caller input and Menu in Call Flow Tool.

Menu The Menu module presents the caller with a number of choices, and routes the caller to an exit corresponding to the entered DTMF.
Caller input This module is a kind of a menu module for getting input from the caller. The input (e.g. customer number, reference number, postal code etc) is stored in a variable (defined here) to be used later in the service.
Queue In the Queue module, you must define the messages/sounds that should be played for the callers waiting in this queue, and you can define different optional queue exits like Full, Empty and Timeout. The Queue module calls to an agent (on behalf of the caller), and when the agent answers, the caller and the agent is joined.
Content Contains a new (child) call flow within (the parent) the call flow.
Callback This is similar to the Content. This module opens a new call flow where you can define the flow for the ordering of callback.
Variable With this module, you can define a variable and give it a value, and the variable can be used other places later in the service.
Script In this module Puzzel support or expert users can write xml-code for routing functionality that is not (yet) supported in other modules.
Switch This module routes the call to an exit based on the current value of a variable defined by the user or a system variable, e.g. 'The number of this service' (=access number).
CC switch This module relates to the service variables defined in the Admin Portal on page Services - Service variables. An incoming call chooses the exit that corresponds to the current value for the variable.
Web request - xml request This module is used to get data from web services. Here you can define the basics (URI, username and password), the request (parameters) and the response (response schema) for an external lookup. Formerly known as "external lookup"
Web request - rest request This module is used to define requests of type rest. Parameters for the request can be defined in several ways: as set of key-value pairs, as JSON script, as XML script, or as free format (Raw) text. Response processing can be defined either as set of key-value pairs or as an XML script.
Loop This module is used to repeat a sequence of modules for as many times you specify, or until a certain condition has been met. This is very useful for queue messages, which needs to be repeated until the caller can be connected to a free agent.
If A module that will determine if an expression is true or false, and route the call through the corresponding exits. The basic expression is the comparison of two values, either fixed or variables, using <, = or >. Experiences users, familiar with the scripting syntax, may create more complex expression in the "custom expression" field.
notes A yellow note with descriptive text you can put different places in the call flow to explain things
call The call module calls the defined number and, if answered, connects the caller to the called number.
inline This module is used to execute a different module in the Call Flow configuration, which reduces unnecessary duplication of modules, to reduce the size of the configuration and to make maintenance easier.
Messaging - SMS This module allows you to integrate your SMS service from the Call Flow
Messaging - Survey This module allows you to integrate your Customer Insight Survey service from Call Flow


Local Time module vs Shared and Bound Time module

A Time module is by default “local”, but you can convert it to be “Shared”, so that several Time modules shown in Call Flow Tool can share the same opening hours and exits. If this is done, the Shared time module is shown in Admin Portal, but not “bound” ones.

Responsibility for errors and support

If you activate a version that does not work (at all or not as intended), and you need Puzzel support to help you, please note that we might charge you for the time spent if the error is due to "poor" configuration from your side.


Last updated