FLOW script elements

Action cells

An action cell performs the particular function indicated by its type. For example, Start, Play Media, and Route to Contact.

A script has one Start action cell, which is the entry point into the script and any number of action cells. The Start action cell (green circle) has a single outgoing link (an exit point) whilst all other action cells have a single incoming link and support for one or more exit points. Each action cell in a script is given a unique ID and you can give each cell its own unique name. You can colour action cells to make complex scripts easier to read.

The image below shows a Menu action cell with four configured exit points (supports up to 12).Selecting an action cell (blue highlighted) displays its properties, which you must configure and save.

Properties and exit routes are unique to an action cell and are described in this manual.

In the script shown above, the Menu action cell plays an introduction prompt to the caller prompting them for a DTMF keypress and then exits along the route indicated by the caller's keypress. The prompt and keypress timeouts are configured in the action cell properties. Script execution ends when the communication is routed to a contact (options 1 to 3) or an outbound call is made (option 4).

Variables

A variable is a programming element used by a FLOW script to store a value that may change each time the script is run. For example, a script that takes a CLI and uses it to look up the caller’s name would use a variable for the CLI, since its value will change with each incoming call. Variables can also be used to provide a constant value (defined by you) within a FLOW script.

A variable has one of following scopes:

Variable scope

Description

Populated by

Local variables

Set up at script level, and available only to the script in which they were created. The values that they store can be passed as input parameters to other scripts and applications.

You

Global variables

Set up centrally to hold values used by all scripts that reference them. Examples include currency conversion rates and activation/deactivation flags.

Your storm support representative

System variables

Set up centrally to hold values commonly used by scripts. For example, calling and called numbers.

storm

CDR variables

These reference 'misc' fields in the contact data record which can be used to store information that is intended for use in historical reporting.

You

 

The value of a local or system variable persists while the system handles a particular call or service. It is then overwritten for the next call or service. If you provide an initial value to a local variable, that value applies each time the script begins execution.

A variable must be of one of the following types depending on the type of data it is to store:

Variable type

Description

Integer

A whole number.

String

A sequence of characters - text, numbers, or both.

Boolean

A flag that is used to indicate either true or false.

Float

A floating point value or decimal fraction. That is, a number with a decimal point, such as '123.45'.

Date

A structure of elements used to hold a date/time as YYYY.MM.DD. HH.MM.SS (year, month, day, hour, minute, second).

 

 

1 Local variables (organised by type)

2 System variable (local). Displayed in light grey under String, Call Data, Call Record, SMS Record, Email Record, Web Record, IM Record, Contact Fields ('Dial' scripts only), Twitter Record, and Facebook Record. The @CallRecord system variable (under Call Data) is a structured system variable meaning that it is made up of individual elements.

3 Defined local variable. Displayed in black.

4 Event counters (see below)

5 Global variables (organised by type)

6 CDR variables (misc 1 to 20). Each is limited to 1024 characters.

Event Counters

An event counter is an entity that is placed on an exit route and which increments every time FLOW execution passes it. Event counters are made available as live data sources in storm VIEW, helping analysts to monitor usage and performance of parts of a script. For example, the number of callers who choose a particular IVR option, or the number of callers who are using mobiles or landlines can be reported. See the VIEW User Guide for information on how to display counter events sent from FLOW.

The following types of event counters are available.

Type

Description

Snapshot Summation

Increments a counter by ‘1’ or another specified value every time a route is executed and then decrements when script execution ends.

Vote Count Accumulation

Increments a counter by ‘1’ or another specified value every time a route is executed.

This can be used to increment a variable holding a value such as a transaction amount, for example.

Numeric Stream

Sends a numeric value to VIEW, which remains at the current value until the next update replaces it. This can be used to send the value of the latest donation received during a fund-raising campaign, for example.

Data Stream

Sends a string of characters to VIEW. This can be used to send, the last number dialled during a campaign, for example.