Introduction to Call Flow Platform

Introduction

The Call Flow Platform is designed to let you create and design customizable interactive call flows by using a set of predetermined actions. Actions contain a set of attributes, sub-actions and tags that can be modified with content provided by the user and used in multiple different orders and flows. Flows can be set up for a particular set of days, within specific time periods, which can be used for dictating open and closed hours.

For specific examples and potential use cases for the platform, go to the examples page.

Setup

The overarching call flow is created using an XML file, with an explicit set of actions that can be used (detailed below). Each call flow requires a set of 'Flow' tags that can contain multiple sets of actions, including Dial for setting up a call, or IVR for setting up interactive call options. Each of these actions have relevant sub-actions and attributes that are used to determine how the call flow will work.

The XML file needs the relevant XML identifier at the start of the file, such as <?xml version="1.0" encoding="utf-16"?>.

C# Library

The call flow platform can also be accessed via a C# client library that uses all of the same actions, attributes, sub-actions and tags of the XML version. This can be downloaded as a library from the Nuget Package Manager.

Flow

All call flows need defining by an opening and closing 'Flow' tag. The actions that you want the call flow to perform must be nested in the sequential order you want them to perform in, i.e. Every action or tag inside an action will be performed after the initial action. 

Multiple actions can be nested within another action.

Example

This example shows how a new call flow is set up using the XML layout.

<?xml version="1.0" encoding="utf-16"?>
<Flow xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<Actions>
		<!-- Add actions here e.g. ToD -->
	</Actions>
</Flow>

Actions

Below are a list of each of the available actions that can be used for creating a call flow. Each of the pages contains more information about the actions and their relative sub-actions and attributes.

ActionDescriptionAttributesSub-action(s)
AnnouncementThe Announcement Action is for setting up an announcement that can be made as part of a route.AnnouncementFile, DirectionN/A

Time of Day

Time of Day settings are used to create Time of Day Profiles to determine what constitutes "In Hours" and "Out of Hours". These indicate when actions should be performed, also allowing for Cultural Holiday information to be included.TimeZone, ClosedOnHolidays, HolidayCultureInHours, OutHours, ToDProfile

Dial

The Dial action is used for settings determining Inbound and Outbound calls, such as numbers to call, redirection and enabling the recording of a call.RecordingFormat, EnableCallRecording, CallerIDRecordingEmailTo
IVRThe IVR Action is used for creating a flow for an IVR, allowing a user to select a number option and be taken through different routes dependent on their selection. TimeoutAnnouncementFile, IVROptions
VoicemailThe voicemail action is used for creating a voicemail and determining the recipient.N/AVoicemailTo, Greeting

Tags

Below is a list of the available tags that can be used within multiple actions within a call flow.

NameDescriptionVariables
EmailToThe email address to send to, from within an action.Email
Destinations"Destinations" are set up to receive calls from a particular routing action.TelephoneNumber, Timeout, Limit, Route