Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Distributor List

Distribution List

Phonon Users

Introduction

Flows are basically total design and step by step process of the IVR system like how the IVR will work once the customer gets connected. So for different kinds of functionalities like Inbound Calls, Outbound Calls etc, Phonon Central provides different types of flows. To add any new flow, click on Main → Flows → Add new Flow. The type of flows are as below -

Types Of Flows

When you click on Main → Flow → Add Flow, you will be able to see all types of flows supported by central. Click on the '+' icon of any type to add that flow.

Inbound IVR and Call Distributor

Inbound means the customer calls on the given DID and according to the design of the flow the IVR will be played.

Click on ‘Add flow’, select ‘Inbound IVR and call distributor’ and you will be able to create your own inbound IVR flow with customized configurations

You will be able to view two tabs which are -

1. Details

  1. Flow ID: Unique ID for every flow, automatically given by the system

  2. Flow Name: Customized name for your flow (Only alphanumeric characters and underscore are allowed in name)

  3. Assign DID: Assign DID to the flow. If no DID is available, visit setup → DID section to buy DID.

  4. Webhook for Account is: To configure any webhook for the account user can click on the “Configure Webhook” link

  5. Enable Webhook for Flow: Switch ON the option to enable webhook for the particular flow

  6. Enable Call Recording: You can enable call recording of the entire flow using this option

  7. Time Zone: Select the time zone basis the Caller zone or Custom zone

  8. Accepted formats for Date/Time: Select the accepted Date and Time format. The format selected will be applied in the entire flow.

  9. Accepted formats for date : Select the accepted Date format. The format selected will be applied in the entire flow.

  10. Accepted formats for time : Select the accepted Time format. The format selected will be applied in the entire flow.

2. Designer

  • Widgets that are visible on the left corner of the screen can be used in the Designer Section using pick and drop to configure your customized flow.

  • Start:  Flow’s execution begins from Start

  • On Remote Hangup: Widgets designed here will be executed when the customer hangups the call remotely

  • On Flow Complete: This will executed when the flow is completed

  • As this is an inbound flow, the first widget after the ‘Start’ should be compulsorily ‘Answer Call’, otherwise the flow will not be executed as per require.

  • To know more about the widgets, click here.

  • Once you have created the flow, you can click on the ‘save' and then further click on ‘commit to production’ to make it live.

  • If you just ‘save’ the flow, then the flow will be in testing state and you will be able to test the flow using whitelisted numbers.

  • To view some inbound flow templates, you can click here.

Outbound Multicast

Outbound flow means the calls are performed or broadcast to the customers by the system.

Once you have committed the flow to production, you just need to trigger the flow and the flow will be executed automatically.

Click on ‘Add flow’, select ‘Outbound Multicast’ and you will be able to create your own Outbound flow with customized configurations.

You will be able to see

1. Details

  1. Flow ID: Unique ID for every flow, given by the system

  2. Flow Name: Customized name for the flow(Only alphanumeric characters and underscore are allowed in name)

  3. DID allocation type: Assign DID to the flow using common pool (any random DID will be selected from the DIDs available for the account to perform outbound calls) or exclusive DIDs (you can attach DIDs, from which you want to perform outbound calls).

  4. Assign DID: Assign exclusive DID to the flow. If no DID is available, use this link to purchase a DID

  5. Webhook for Account is: To configure any webhook for the account, you can click on the “Configure Webhook” link

  6. Enable Webhook for Flow: Switch ON the option to enable webhook for the particular flow

  7. Enable Call Recording: You can enable call recording of the entire flow using this option and then the recordings will be available in the reports section.

  8. Enable International Calling: You can enable international calling for the flow using this option (if allowed for account, if not allowed send a mail on help@phonon.io for the same)

2. Configurator

  1. Flow Type: Select the type of flow from Transactional or Marketing. Please note, once type of flow is selected and saved, it cannot be changed later.

    1. Transactional - This type of flow can be used for important conversation calls like payment transaction, account information etc. For this type of flow, NDNC scrubbing will be performed. For some changes in the flow you need to submit the flow for support approval (for some checks) and once our support team approves it, you can commit the flow for production (make it live).

    2. Marketing - This type of flow can be used to broadcast marketing calls. For this type of flow, NDNC scrubbing will not be performed.

  2. Connect to DNC Numbers: Basis the type of flow, this field will be updated automatically

  3. Flow Status: Show the status of the flow i.e whether it is In Production or In Testing

    1. In Production : The flow is committed to production and is live.

    2. In Testing : The flow is either submitted for approval, or in testing state and not committed to production yet.

  4. Accepted formats for Date/Time: Select the accepted Date and Time format for the flow

  5. Accepted formats for Date: Select the accepted Date format for the flow

  6. Accepted formats for Time: Select the accepted Time format for the flow

  7. Configure the flow variable validations, if required

  8. There are two options to trigger outbound broadcast: Email Upload and Web Service. Click here to know how to use this details.

Flow Variable Validation

You can add flow variables in the flow, and then assign value in .csv file or API request when you trigger the outbound flow.

The flow variables can be of any type and in any form, But while uploading, it may happen that the data or values of flow variable are entered wrong by mistake and so it is not as per needed or does not contain the data of our concern, so that creates problems at run time and the customer encounters a bad experience. 

To overcome this problem, a section of ‘flow variable validation' is present in the outbound flows.

In the ‘flow variable validation’ section, you can add and configure validation to put on the flow variables. So after uploading data if the flow variable suffices that conditions then only the system will proceed otherwise the record will be rejected with status ‘FLOW_VARIABLE_VALIDATION_FAILED’. 

The flow variables added will be bound to specific flow only. That is, same flow variables can be used in different forms with different validations in other flows.

To add validation, click on ‘add flow variable’

  • You can give a name to the flow variable, select the type of input that the flow variable contains like - Text, Email, URL and can set the variable as mandatory or not.

  • If the you have selected type as ‘Text’, then you will have option to select on which parameter you want to put ‘validation on’

  1. Value: The validation will be put on the content of the variable

  2. Length: The validation will be put on the length of the input of the variable

  • If you select, validation on ‘value’, then you will have further ability to select the criterias like

  1. None: No validation, if mandatory is enable then an input is required

  2. Contains: The user can specify any value and the input should contain that value

  3. Does not contain: The user can specify any value and the input should not contain that value 

  4. From list of items: The user can specify list of items separating it with comma and the input must be one of the items

  5. Regex: The user can provide regex expression and the input will be validated with the regex expression.

  • If you select, validation on ‘length’ then you need to specify minimum and maximum length of the input which will be considered as valid.

  • Note:

  1. For value: The input will be case insensitive. 

  2. For Length: Minimum and Maximum values are inclusive.

  • If the input does not follow the criteria specified by the user then that entry will be rejected with error reason “FLOW_VARIABLE_VALIDATION_FAILED”

  • Mandatory: You can set a flow variable as mandatory. If mandatory is enabled, value in that flow variable is required. If mandatory is disabled, value is not required and is optional but if provided, must satisfy the provided validation criterias.

  • For type as Email and URL, basic validations will be executed.

3. Business Hours

  1. Call Dialing Business Hours: Select the business hours for the outbound calls.

  2. Time Zone: Select the time zone basis the Caller zone or Custom zone

  3. Working Days: If the Call Dialing Business Hours is Custom then user can configure Business Hours customized for every day of the week

  4. If the Call is past Business Hours: Can be used to define the action to be taken when call is past business hours

  5. Call Failing Conditions: You can define the condition of call failing

    1. Reschedule the call in next dialing time

    2. Reject the call

  6. If calling fails: The reattempt logic is defined here

    1. Number of Reattempts(Minimum 0 and maximum 50 times is valid)

    2. Duration between Attempts(Minimum 0 and maximum 1440 mins valid)

4. Designer

  • Widgets that are visible on the left corner of the screen can be used in the Designer Section using pick and drop to configure your customized flow.

  • Start: Flow’s execution begins from Start

  • On Remote Hangup: Widgets designed here will be executed when the customer hangups the call remotely

  • On Flow Complete: This will executed when the flow is completed

  • As this is outbound flow, the first widget after the ‘start’ widget, must be ‘make call’ otherwise the call will not be dialed.

  • To know more about widgets, you can click here.

Emergency Notification

This type of flow is specially designed to send notifications via voice, SMSs and Email in any emergency situation. The emergency situation can be delay of flight, fligh crash, sudden thunderstorm etc.

To create emergency notification flow, first you need to create an outbound flow as shown in the template so that whenever you want to send notification, that outbound flow will get triggered.

Click on ‘Add flow’, select ‘Emergency Notification’ and you will be able to create your own notification flow with customized configurations.

1. Details

  1. Flow ID: Unique ID for every flow, automatically given by the system

  2. Flow Name: Customized name for your flow(Only alphanumeric characters and underscore are allowed in name)

2. Param Configuration

Parameters are the fields that will only change in the script, while sending notification. Parameter can be time, date, flight no., Location etc.

You can select the parameters that are required to be sent in the notification message via the channel selected by the user. The parameters selected here will be mandatory while sending the notification.

You can add parameters, by clicking on ‘add Parameter’ and the list of parameters will get appear. You can multi-select the parameters and later you need to add this variable in the script as and when required.

While sending the notification, the users will have to mandatorily enter the values for these parameters at the time of sending notification.

3. Script Configuration

The script configuration tab is used to configure the scripts that will be sent via the channels selected by the user to send the notification. Here you can draft the scripts that will used while sending the emergency notification for this scenario.

Here you can write different scripts for different channels. You can use the flow variables of the parameter in the script, so that when the user enters the parameter value in send notification, the flow variable will be replaced with the parameter value in the script.

4. OutboundFlow Configuration

You needs to select the outbound flow using which the notifications will be sent.

Select an outbound flow to be used for sending the notification and click on ‘save’ and thus your notification flow is ready. You can trigger this flow by using ‘send notification’ page.

Outbound Dialer

Generally, all outbound flows are based on ‘customer first’ logic. That is whenever any outbound call is performed first the customer is connected and then the call is transferred to the queue (based on flow) and the agent is fetched from logged in agents to allocate the call. Sometimes the agents are not available and the customers have to wait for a longer time in the queue and the time of customers gets wasted.

But outbound dialer flows, are specially designed based on logic of ‘Agent First’. In agent first logic, before even the outbound call is performed to customer, the agent will be acquired from the queue. Once the agent gets connected then and then only the customer will be dialled.

Click on ‘Add flow’, select ‘Outbound Dialer’ and you will be able to create your own Dialer flow with customized configurations.

1. Details

  1. Flow ID: Unique ID for every flow, given by the system

  2. Flow Name: Customized name for the flow(Only alphanumeric characters and underscore are allowed in name)

  3. DID allocation type: Assign DID to the flow using common pool (any random DID will be selected from the DIDs available for the account to perform outbound calls) or exclusive DIDs (you can attach DIDs, from which you want to perform outbound calls).

  4. Assign DID: Assign exclusive DID to the flow. If no DID is available, use this link to purchase a DID

  5. Webhook for Account is: To configure any webhook for the account user can click on the “Configure Webhook” link

  6. Enable Webhook for Flow: Switch ON the option to enable webhook for the particular flow

  7. Enable Call Recording: User can enable call recording of the entire flow using this option

  8. Enable International Calling: You can enable international calling for the flow using this option (if allowed for account, if not allowed send a mail on help@phonon.io for the same)

2. Configurator

  1. Flow Type: Select the type of flow from Transactional or Marketing. Please note, once type of flow is selected and saved, it cannot be changed later.

    1. Transactional - This type of flow can be used for important conversation calls like payment transaction, account information etc. For this type of flow, NDNC scrubbing will be performed. For some changes in the flow you need to submit the flow for support approval (for some checks) and once our support team approves it, you can commit the flow for production (make it live).

    2. Marketing - This type of flow can be used to broadcast marketing calls. For this type of flow, NDNC scrubbing will not be performed.

  2. Connect to DNC Numbers: Basis the type of flow, this field will be updated automatically

  3. Flow Status: Show the status of the flow i.e whether it is In Production or In Testing

    1. In Production : The flow is committed to production and is live.

    2. In Testing : The flow is either submitted for approval, or in testing state and yet not committed to production.

  4. Flow Type (Dialer Type) - The types can be

    1. Manual Dialer : The agents will have to go on ‘manual break’ and dial the number of customer. Once the call is placed, first the agent will get the call and once the agent gets connected the customer will be called.

    2. Automatic Dialer : You need to trigger this dialer flow, just like outbound flow (through Email upload, direct upload or API ) and automatically first the agent from the queue will get acquired and once the agent gets connected, the customer will be called.

  5. Accepted formats for Date/Time: Select the accepted Date and Time format for the flow

  6. Accepted formats for Date: Select the accepted Date format for the flow

  7. Accepted formats for Time: Select the accepted Time format for the flow

  8. There are two options to trigger outbound broadcast: Email Upload and Web Service. Click here to know how to use this details.

3. Business Hours

  1. Call Dialing Business Hours: Select the business hours for the outbound calls.

  2. Time Zone: Select the time zone basis the Caller zone or Custom zone

  3. Working Days: If the Call Dialing Business Hours is Custom then user can configure Business Hours customized for every day of the week

  4. If the Call is past Business Hours: Can be used to define the action to be taken when call is past business hours

  5. Call Failing Conditions: User can define the condition of call failing

    1. Reschedule the call in next dialing time

    2. Reject the call

Call falling condition

As a user, you would always want to limit the number of times a customer is attempted, as well as the duration between them. Getting calls every 1 hour 5 times in a day is not good customer experience. In Customer First products, it's no issue. Set the attempts and the duration between them and flow will be rescheduled if the customer is not connected N times M duration apart.

But in Agent First, unless the agents gets connected, customer will not be attempted! This puts the user in a peculiar position, where you would want to still limit the number of times to attempt the customer, but keep some liberty in attempting agents.

You can now configure the Agent Attempts and Customer Attempts Configurations separately in Outbound Dialer Flow.

4. Designer

  • Widgets that are visible on the left corner of the screen can be used in the Designer Section using pick and drop to configure your customized flow.

  • Start: Flow’s execution begins from Start

  • On Remote Hangup: Widgets designed here will be executed when the customer hangups the call remotely

  • On Flow Complete: This will executed when the flow is completed

  • A simple dialer flow in which an agent is approached first can be as follows and to know more about widget, you can click here -

Masking Number

Masking any number is basically hiding the original number and displaying some other number. You can mask numbers by using the API for maksing or remove masking. To know more about masking number, you can click here.

Click on ‘Add flow’, select ‘masking number’ and you will be able to create your own flow with customized configurations.

1. Details

  1. Flow ID: Unique ID for every flow, given by the system

  2. Flow Name: Customized name for the flow(Only alphanumeric characters and underscore are allowed in name)

  3. Security ID : Unique ID which will be used in the API to post the request.

  4. Accepted formats for Date/Time: Select the accepted Date and Time format

  5. Accepted formats for Date: Select the accepted Date format

  6. Accepted formats for Time: Select the accepted Time format

  7. Enabling call recording : You can enable it if you want to enable the call recording for the flow.

  8. For making, you can use given API format and webservice end point

  9. For unmasking, you can use given API format and webservice end point

2. Prompts

You can play different prompts at different situations, as defined below -

  1. Welcome - You can play any prompt as a welcome prompt. To add prompt, you can select ‘yes’ and based on play type, you can play prompt

  2. Enter Pin - You can play any prompt when the user enters the pin. To add prompt, you can select ‘yes’ and based on play type, you can play prompt

  3. Incorrect pin entered - You can play any prompt when the user enters incorrect pin. To add prompt, you can select ‘yes’ and based on play type, you can play prompt

Widgets In Central

Phonon Central provides a wide range of widgets, using which you can design your IVR flows.

How to use widgets in the design area ?

→ To add any widget in the design area, you just need to left click on the widget and drag that widget to the design area (while the left click is pressed).

→ To connect any two widgets, you just need to left click on the end of the widget and a arrow will get appear, now connect the arrow to the widget whenever you want to connect that widget.

→ When you have added widgets in the design area, and you hover over that widget then you will be able to see title of that widget(if configured in the widget) and main configurations of that widget.

→ If you want to delete any portion, then just select the portion (by left clicking and dragging over the area) and once you see a border getting highlighted, click on the ‘delete icon’.

Common configuration in widgets

The common features in all the widgets are

  1. Widget Title : You can give widget a friendly title according to its use in the flow.

  2. Milestone Widget : You can enable this if you want to show the details of this widget in the milestone report.

1. Answer Call

This widget is only for ‘Inbound Flow’. After start widget, immediately this widget will come, as this widget states the call is incoming and the system will answer it to execute the flow.

You don’t need to configure anything in this widget.

2. Agent Connect

This widget is specially for outbound dialer flows. The main moto of this widget is to acquire the agents from the queue, before calling to the customer.

You need to configure following parameters for this widget.

Target - Target is the place from where the agents will be acquired. Currently they can only be acquired from queues.

Queue - You will be able to see all the queues assigned to this flow. To assign queue, you first need to configure queue. You can select any one queue from which you want to acquire agents for the customers.

Queue Type - This field will be auto-filled based on the queue selected by you. The queue type can be

  1. Dynamic Queue : All the agents of that queue are having agent login interface.

  2. Direct Dial Queue : All the agents of that queue are having direct dial numbers.

Preferred Agent - This field will only come if the ring strategy is selected as ‘provided’ in queue. In this field you can either provide the flow variable in which the preferred agents are stored or you can provide agent keys of the preferred agents separating it with comma.

Preferred Agents means the agents that will only be approached from the queue for dialing the customer. You can define a flow variable here for preferred and then upload that variable’s value (in terms of agent keys of agent) at the time of triggering dialer flow.

You can add multiple preferred agents separating it with comma.

Agent Connect - If the agent gets successfully connected, then the flow will move forward to line '0'.

Agent not connected - You can select the action you want to perform when the agent is not connected.

  1. Reschedule : The call will get rescheduled and according to the configurations made in the business hours tab, the call will be placed again.

  2. Continue : The flow will move forward to the next widget.

3. Counter

The counter widget is used to keep track of the number of times a flow passes through a certain path; the value of the counter changes accordingly. 

Counter Function - You can select the function of the counter. The function can be

  1. Create New Counter - A new counter will be created in the flow

    1. Counter Variable Name : Give a flow variable name to the counter so that everytime the value of the counter will get stored in that variable. The variable can be of type ‘$flow.counter.<keyname>’.

    2. Counter Initialization value : You can initialize the value of the counter so that the increment of the counter will get start from that number.

  2. Modify existing counter - If you already have any counter in the flow and you want to use that counter and perform some action on it, then you can select this function.

    1. Change value of count : You will be able to see all the counters present in the flow and you can select the counter which you want to modify.

    2. Change Value : You can change the value of selected counter, each time the call passes through this widget like

      1. Reset to 0

      2. Increment by 1

      3. Decrement by 1

4. Decision

The decision box is used to make certain choices that influence the direction of flow, depending on the DTMF/Voice input by the user or/and other flow variables.

Number of Breaks - The number of breaks are the number of conditions to be added. The flow goes into the respective break number once a condition is met. The number of breaks can vary from a minimum of 1 to a maximum of 7.

Condition Name - The condition names get added once their rules are specified and they are assigned a break number. The default condition on break 0 holds true once all of the other conditions are checked and none of them are met.

Condition Details - The condition which you need to check can be added in this section. You can click on '+' button to add condition. For any condition following things are to be configured

  1. Variable Type : The type of variable. It can be integer, string, boolean, datetime etc.

  2. If variable : Enter the variable which you need to check. The variable can be flow variable (defined in flow) or any system variable (fixed variable defined by system for a purpose)

  3. Operator : You can select the operator which you want to put on variable. The operators can be equal to, not equal to, less than, greater than etc.

  4. Value Type : The type of value through which the variable is compared. It can be static or variable

  5. Value : The value through which the variable is to be compared. You can either enter static value or variable.

Add Rule/Add Group - You can add any rule or whole group as a condition to check along with the your condition using ‘OR’/'ADD' operator.

Breaks - Breaks are the number of condition in which it will go if the condition is satisfied. Break number will depend on the number of breaks selected by you.

5. Delay

This widget is used to pause the flow for the time configured (in order to have some delay).

Delay Timer - Enter the delay to be applied in seconds(User can add a delay of minimum 1 sec and maximum 50 seconds to the flow)

6. Email

This widget is used to send real time Emails to the customers. You can compose whole email in this widget and according to the configuration when the flow is reached on this widget, an email will be send.

Emails can be sent only through validated email IDs and using a cloud account enabled for sending emails.

From - Select the email sender ID. If no email sender ID is configured, please follow the steps mentioned here to complete the configuration

To/CC/BCC - Enter the static/variable recipients list for the email

Subject - Enter the Subject line for the email

Email body - Email content to be entered here

7. Hang Up

This widget is used to disconnect the call at any point of time in the flow. That is when flow reaches to this widget, it will disconnect the call without any configurations.

Any other widget branching out of it is not played on the call anymore. Although the flow is still maintained, off-call.

8. Make Call

Make call widget is specially used in outbound multicast flows only. The main function of this widget is to make a call to the uploaded phone number of the customer.

With the same widget, you can send verified calls to the customers (if configured in the cloud section).

This widget is must in outbound multicast flow, after the start widget in order to make a call.

Ring Timeout - Set the time in seconds,for which the customer will be ring before hanging up the call.

Consider voicemail as Failed call - Enable if you want to consider voicemail of customer as a failed call.

Enable Verified Calls - You can enable this if you want to send verified calls for this particular outbound flow.

Cloud Account - If you have enabled ‘verified calls’, then further you need to select the Google cloud account in which the ‘verified Call service' is available and you want to use for sending verified calls.

Call Reason - After selecting the cloud account, you need to enter the call reason, i.e for what purpose you are calling the customer (maximum 70 characters allowed). Make sure to provide call reasons from the already configured call reasons for the google cloud account, otherwise unverified calls will be send.

Make Call for Dialer

We have some modifications in make call widget for outbound dialer flow as in outbound dialer, the agent is connected first. The purpose of ‘make call’ widget in dialer is same as outbound multicast - to make a call to customer.

Customer Ring Timeout - Set the time in seconds,for which the customer will be ring before hanging up the call.

Customer Announcement - You can enable this if you want to play any announcement as soon as the customer gets connected. If you have enabled this, then you can play announcement with the help of either prompt or TTS.

On Customer Connect Failure - If the customer does not get connected, then you can select an action you want to perform. That is

  1. Reschedule : If the customer does not get connected, the call will be rescheduled.

  2. Continue : If the customer does not get connected, the execution will move to the next widget after the make call.

Customer and agent conversation ended - When the customer has picked up the call and the agent and customer have started the conversation. When either of them hangs up the call then the flow will move towards line 0 of this widget.

Customer not connected - When the customer is not connected, then the flow will move forward to line 1 of this widget.

Enable Verified Calls - You can enable this if you want to send verified calls for this particular outbound Dialer flow.

Cloud Account - If you have enabled ‘verified calls’, then further you need to select the Google cloud account in which the ‘verified Call service' is available and you want to use for sending verified calls.

Call Reason - After selecting the cloud account, you need to enter the call reason, i.e for what purpose you are calling the agents/customers (maximum 70 characters allowed). Make sure to provide call reasons from the already configured call reasons for the google cloud account, otherwise unverified calls will be send.

9. Menu

As the name of the widget suggest, this widget is used to give the menu in the IVR to the customer for the different DTMFs. IF you want to play a defined speech for different DTMFs as IVR then you can use this widget.

For example - If you have an IVR as

  1. ‘Please press 1 for English’.

  2. ‘Please press 2 for Hindi ’.

  3. ‘Please press 3 for Gujarati ’.

  4. ‘Please press 4 for Tamil ’ and so on then you can use this widget for executing the IVR in more holistic way.

1. Menu

1st tab is ‘menu’ in which you need to configure the menu for the IVR that you want to play. For that the following configurations are to be made.

Play Type - You can select the play type, that is through which you want to play the IVR. It can be

From File : You first need to select the language for playing the IVR and then further you can select the prompts or variables or DTMFs that you want to play in IVR.

TTS : You first need to select the cloud account, language, voice and format and then further you can enter the text that you want to play as IVR.

Play Type - from file

Prompt ‘N' - This the option in the menu that you want to play in IVR. You can add upto 12 prompts as there are 12 options for DTMF that can be pressed. You can define one prompt for one DTMF value. By clicking on ‘Add new prompt’ or 'Remove prompt’ you will be able to add or remove any prompt respectively. All the prompts will be played sequentially.

Part ‘1-5' - There are 5 parts in each prompt. You can add different parts to play one sentence as a prompt. → If the play type is ‘from file’ then you will get options as ‘Static’, ‘Variable’ and ‘DTMF’ to play as a part and then further you can select value according to the type. → If the play type is ‘TTS’ then you will get options as ‘Text’ and 'DTMF’ to play as a part and then further you can enter the value according to the type.

Label - You can set the prompt as label and give it a name so that you can use further this prompt in the flow. You can set label as ‘Text’ and give it a name or you can select label as ‘webhook’ and store in the webhook in any flow variable.

Test Play - You can click on ‘test play’ and listen to your whole prompt.

For the above example, if a prompt is “Please press 1 for English”, then you can select the parts as shown in the below figure.

2. Details

The second tab is of ‘details’ in which you will be able to configure some additional parameters as follows-

  1. Max. attempts: This is the maximum attempts at invalid inputs that the user can try for. Post exceeding this value, the prompt from “Maximum Attempts” is played.

  2. Wait for DTMF: This is the time (in seconds) that the flow waits for, for a DTMF input from the user. The minimum wait time is 5 seconds and the maximum wait time is 60 seconds.

  3. Repeat prompt if no input: Once the “wait for DTMF” time has passed and no input has been received, the user can configure the prompt to be repeated.

  4. Repeat prompt if invalid DTMF sequence: In case the DTMF exceeds the “Length of DTMF”, the user can configure the prompt to be repeated.

  5. Store DTMF in: The DTMF entered can be stored in $call.lastdtmfreceived, default value or it can be stored in a custom variable by you.

  6. Invalid Input: You can enable this if you want to play any speech on invalid input. The speech can be played using any static file, custom value file or using text to speech functionality.

  7. No input: You can enable this if you want to play any speech on no input. The speech can be played using any static file, custom value file or using text to speech functionality.

  8. Maximum Attempts: You can enable this if you want to play any speech on maximum attempts. The speech can be played using any static file, custom value file or using text to speech functionality.

10. Multi-play

This widget can be used to configure multiple play tracks in one go. You can configure a combination Text To Speech, Recorded prompts, using grammar i.e. Date/Time and Digit/Number.

1. Configure

This is the first tab, in which you can configure following things -

  1. Skip if Interrupted: If enabled, it will skip the prompt if it has been interrupted

  2. Play 'Beep' after Prompt: Enable to play a beep sound when the prompt ends

  3. Enable Text to Speech: Select to enable text to speech for the prompt

    1. Cloud Account: Select the cloud account for text to speech

    2. Language: Select the language for text to speech

    3. Voice: Select the language for text to speech

2. Details

This is the second tab, in which you will be able to configure the tracks that you wish to play.

Preview - Once you add the tracks, you will be able to see the preview of all the tracks that will be played consolidated. You can also ‘Test play track’ to check how the IVR will be played.

New Track -

Select play track : You can select the type of track that you want to play. The type can be

  1. From file

  2. Text to Speech

  3. Date/Time

  4. Digit/Number

Further according to the type selected, you can add some more details that you wish to play and then click on 'save track ' to add.

After adding track, you can play, edit or delete the track.

3. Stop By

This the third tab in which you will be able to configure some additional actions that you want to perform. They are

Enable User Input - You can enable this if you are expecting any input through user. If you enable then further more configurations will get appear.

Take user input in - You have two options to take user’s input. You can take user input through

  1. DTMF : The number (0-9, *, # , ) from the mobile device

  2. Voice : Through voice of user

If you select ‘DTMF’ then,

  1. Terminate DTMF - The default, non-configurable DTMF to stop any prompt is “#”. Once pressed, flow will move forward and stop any further input for that DTMF.

  2. Length of DTMF - Allows a dynamic length of DTMF upto the length entered. If length exceeds the maximum length, prompt from “Invalid Input” is played.(The minimum length of DTMF that can be entered is 1 and the maximum is 20.)

  3. Wait for DTMF - This is the time (in seconds) that the flow waits for, for a DTMF input from the user.(The minimum wait time is 5 seconds and the maximum wait time is 60 seconds.)

  4. Max. attempts - This is the maximum attempts at invalid inputs that the user can try for. Post exceeding this value, the prompt from “Maximum Attempts” is played.

  5. Repeat prompt if no input - Once the “wait for DTMF” time has passed and no input has been received, the user can configure the prompt to be repeated.

  6. Repeat prompt if invalid DTMF sequence - In case the DTMF exceeds the “Length of DTMF”, the user can configure the prompt to be repeated.

  7. Enable DTMF validation - Once enabled, the DTMF can be validated for regular expressions, numbers or for an Aadhaar number. In case the DTMF is not validated against any of these, the prompt from “Invalid input” is played.

  8. Store DTMF in - The DTMF entered can be stored in $call.lastdtmfreceived, default value or it can be stored in a custom variable by you.

  9. Announcements - You can play any speech for below listed scenarios

    1. Invalid Input: You can enable this if you want to play any speech on invalid input. The speech can be played using any static file, custom value file or using text to speech functionality.

    2. No input: You can enable this if you want to play any speech on no input. The speech can be played using any static file, custom value file or using text to speech functionality.

    3. Maximum Attempts: You can enable this if you want to play any speech on maximum attempts. The speech can be played using any static file, custom value file or using text to speech functionality.

If you select voice then,

  1. Speech Adaption - You can use this section if you want to enhance the recognition of the voice input of user. To know more about speech adaption, click here.

  2. Language of speech - There are a lot of language options for speech to text functionality. You can select the language in which you are expecting user’s input.

  3. Duration of silence - You can set the duration of silence (in seconds), so that when this limit is reached, it will end taking input (At max you can set upto 15 seconds ).

  4. Maximum Time for speech - You can set the time you want to give to the user for the speech(input). At max you can set 15 seconds.

  5. Maximum re-attempts - This is the maximum number of attempts, a user will be given to provide input.

  6. Repeat prompt if no input - Once the “duration of silence” time has passed and no input has been received, the user can configure the prompt to be repeated.

  7. Allow barge in - Enable if you want the user to barge in the IVR.

  8. Confidence - Confidence is basically the surety that the word detected is correct. You can set the confidence value to detect the speech.

  9. Cloud subscription key - Select the Google cloud account for speech to text functionality usage. IF you don’t have account, configure in cloud section.

  10. Store input in - The voice input of the user can be stored in $call.voiceinputreceived, default value or it can be stored in a custom variable by you.

  11. Announcements - You can play any speech for below listed scenarios

    1. Invalid Input: You can enable this if you want to play any speech on invalid input. The speech can be played using any static file, custom value file or using text to speech functionality.

    2. No input: You can enable this if you want to play any speech on no input. The speech can be played using any static file, custom value file or using text to speech functionality.

    3. Maximum Attempts: You can enable this if you want to play any speech on maximum attempts. The speech can be played using any static file, custom value file or using text to speech functionality.

12. Operation

This widget can be used to perform different types of manipulations of strings, date and time or arithmetic manipulations of numbers and many more.

You can click on ‘Add operation’ to add any operation. In single widget, you can add multiple numbers of operations and the added operation can also be seen as soon as you open the widget.

Alias - The name which you want to give to an operation. It can be of maximum 10 characters with no special characters.

Operation Type - The type of manipulation you want to perform. It can be

  1. General Operation

  2. String Manipulation

  3. Number Manipulation

  4. Date and Time Manipulation

Operation - After selecting the type of operation, you will be able to see the supported operations of that type.

Store In - The flow variable in which you can to store the value of manipulation as a result.

Persist - Enabling 'persist' will help to continue the flow forward if any value is not found.

General Operations

General Operation has only one operation which is 'assignment'.

‌Assignment operations helps to assign a value to a variable. The value can be anything- a name, string, number, email address, URL etc.

String Manipulation

For string manipulation, you have following operations -

1. Calculate Length Of String

‌By using this manipulation, you will be able to calculate the length of the string. For that you can provide either the input as a flow variable (which contains string whose value is to be find) or can enter the string and further can enter the flow variable in which you want to save the length of the string.

‌2. Concatenate Strings

‌This operation helps to join multiple strings. You can add as many number of strings you want to concatenate by clicking on 'add input'. You can enter input as variable or can directly enter the string.

‌You can also see the preview of the concatenated string as shown.

‌3. Convert String To Lowercase

‌This operation type will help to convert a string to lowercase. You can provide input string either by variable or by actual string.

4. Convert String To Uppercase

‌This operation type will help to convert a string to uppercase. You can provide input string either by variable or by actual string.

5. Extract String

‌This operation will help you to extract any part of the string using regex expression.

‌Position will help the system to extract that position's group if multiple groups are found.

Number Manipulation

Number manipulation will help to perform certain arithmetic operations as follows -

  1. Addition - You can enter input as flow variables or numbers, perform addition of them and save the result in any variable. You can Add any number of inputs by clicking on 'add input'.

  2. Subtraction - You can enter input as flow variable or numbers, perform addition of them and save the result in any variable. You can Add any number of inputs by clicking on 'add input'.

  3. Multiplication - You can enter input as flow variable or numbers, perform addition of them and save the result in any variable. You can Add any number of inputs by clicking on 'add input'.

  4. Division - You can enter input as flow variable or numbers, perform addition of them and save the result in any variable. You can Add any number of inputs by clicking on 'add input'.

  5. Modulus - You can get remainder value of any division by using this operation.

Note - The numbers can only be floating numbers. That is integers or numbers with decimal point.

Date and Time Manipulation

Using 'Date and Time' manipulation, you can perform different operations on date, time or date and time. The operations are

‌1. Find Duration

‌By using this operation, you can find duration between any two date, time or date and time. For that you have to provide

  1. Input : can be variable or value

  2. Format : The format in which the date and time will be present

  3. Unit of duration : The unit in which output will be stored, eg - hours, days, minutes etc.

  4. Store in : The variable in which you want to store the result.

2. Add Duration

‌By using this operation, you can add any kind of duration to the date,time or date and time. For that you have to provide

  1. Input : can be variable or value

  2. Format : The format in which the date and time will be present

  3. Duration : The duration which you want to add.

  4. Store in : The variable in which you want to store the result.

3. Subtract Duration

‌By using this operation, you can subtract any kind of duration to the date,time or date and time. For that you have to provide

  1. Input : can be variable or value

  2. Format : The format in which the date and time will be present

  3. Duration : The duration which you want to subtract.

  4. Store in : The variable in which you want to store the result.

‌4. Extract/Change Format

‌By using this operation, you can either extract particular part of the date,time or date and time or change the format of date, time or date and time. For that you will have to provide -

  1. Input : can be variable or value

  2. Format 1 : The format in which the date and time will be present

  3. Format 2 : The second format in which you want to change or extract.

  4. Store in : The variable in which you want to store the result.

Supported Format for input in operations

The formats that are supported for date and time manipulation are as follows. To know about format, you can visit here.

Symbol  Meaning                      Presentation  Examples
------  -------                      ------------  -------
 G       era                          text          AD
 C       century of era (>=0)         number        20
 Y       year of era (>=0)            year          1996

 x       weekyear                     year          1996
 w       week of weekyear             number        27
 e       day of week                  number        2
 E       day of week                  text          Tuesday; Tue

 y       year                         year          1996
 D       day of year                  number        189
 M       month of year                month         July; Jul; 07
 d       day of month                 number        10

 a       halfday of day               text          PM
 K       hour of halfday (0~11)       number        0
 h       clockhour of halfday (1~12)  number        12

 H       hour of day (0~23)           number        0
 k       clockhour of day (1~24)      number        24
 m       minute of hour               number        30
 s       second of minute             number        55
 S       fraction of second           number        978

 z       time zone                    text          Pacific Standard Time; PST
 Z       time zone offset/id          zone          -0800; -08:00; America/Los_Angeles

 '       escape for text              delimiter
 ''      single quote                 literal       '

13. Play

As the name suggest, this widget is used to play the configured speech to the user. You can play the speech using prompts, from file, text to speech, using grammar etc. The following configurations are to be made -

1. Play Type

Play Type - It helps in configuring what should play when the user picks the call, or any action is taken by the user. There are multiple play types which can be chosen. It can be via a File, Digit/Numbers, Date/Time, Text to Speech, Digit/Number. On selection of this option the next configuration tab will appear as per the selection.

Reset DTMF / Speech Buffer - Select ‘yes’ if you do not want that the previous input of user (DTMF/Voice) affect this play widget. Select ‘No’ if Play is broken by previous DTMF / Speech and you want to skip this widget.

Play Beep After prompt - Enable to play a beep sound after the prompt gets played.

2. Details

This tab will appear according to the play type selected.

Play Type - From File

You have two options, you can play

  1. Static file : Select this option if you want to play any prompt

  2. Based on value : Select this option if have any prompt stored in the flow variable. The prompt stored in the variable must be approved !

Play Type - Digit/Number

You can use this play type when you want to play exclusively any digits or numbers based on language.

  1. Language - Select the language in which you want to spell the digits or numbers (configured in Grammar)

  2. Play - You have two options to play from

    1. Static Value : You need to enter the value which you want to spell

    2. From flow key value pair : You can select this if you have any flow variable in which the value is stored.

  3. Play as - You can select the option which you want to play the value as

    1. Digit : The value will be spelled as individual digits.

    2. Number : The value will be spelled as a whole number.

Play Type - Date/Time

You can use this play type when you want to play exclusively any date, time or date and time based on language.

  1. Language - Select the language in which you want to spell the date and time, configured in Grammar.

  2. Play - You have two options to play from

    1. Static Value : You need to enter the value which you want to spell

    2. From flow key value pair : You can select this if you have any flow variable in which the value is stored.

  3. Date and Time Value - The value that you want to play

  4. Date and Time format - The format in which the date and time is present.

Play Type - Text to Speech

You can very easily use the power of Text-to-speech in your IVR to play automated voices to the customer without needing a Voice Artist. Whatever you write as text will be played as speech ! For TTS, you need to configure following things -

  1. Cloud Account - The google cloud account you want to use for TTS service. Make sure to configure cloud account in order to use TTS.

  2. Language - We provide all the languages provided by google for TTS, so you can select any language in which you want to play your speech.

  3. Voice - For each language, different voices are available and you can select any voice according to your preference.

  4. Speed - Set the speed at which you want to play the speech. Default speed is '1'.

  5. Pitch - Pitch is the relative highness or lowness of a tone as perceived by the ear, which depends on the number of vibrations per second produced by the vocal cords. You can set the pitch value, default value is '0'.

  6. Format - The text can be entered as

    1. Plain text - Normal text

    2. SSML - An XML-based markup language for speech synthesis applications. You can get more information by clicking on ‘SSML Help’ on the page

  7. Text to Play - The text area where you can write the text for speech to play. After entering text, you must click on ‘test play’ to hear the speech which will get played.

3. Stop By

This the third tab in which you will be able to configure some additional actions that you want to perform. They are

Enable User Input - You can enable this if you are expecting any input through user. If you enable then further more configurations will get appear.

Take user input in - You have two options to take user’s input. You can take user input through

  1. DTMF : The number (0-9, *, # , ) from the mobile device

  2. Voice : Through voice of user

If you select ‘DTMF’ then,

  1. Terminate DTMF - The default, non-configurable DTMF to stop any prompt is “#”. Once pressed, flow will move forward and stop any further input for that DTMF.

  2. Length of DTMF - Allows a dynamic length of DTMF upto the length entered. If length exceeds the maximum length, prompt from “Invalid Input” is played.(The minimum length of DTMF that can be entered is 1 and the maximum is 20.)

  3. Wait for DTMF - This is the time (in seconds) that the flow waits for, for a DTMF input from the user.(The minimum wait time is 5 seconds and the maximum wait time is 60 seconds.)

  4. Max. attempts - This is the maximum attempts at invalid inputs that the user can try for. Post exceeding this value, the prompt from “Maximum Attempts” is played.

  5. Repeat prompt if no input - Once the “wait for DTMF” time has passed and no input has been received, the user can configure the prompt to be repeated.

  6. Repeat prompt if invalid DTMF sequence - In case the DTMF exceeds the “Length of DTMF”, the user can configure the prompt to be repeated.

  7. Enable DTMF validation - Once enabled, the DTMF can be validated for regular expressions, numbers or for an Aadhaar number. In case the DTMF is not validated against any of these, the prompt from “Invalid input” is played.

  8. Store DTMF in - The DTMF entered can be stored in $call.lastdtmfreceived, default value or it can be stored in a custom variable by you.

  9. Announcements - You can play any speech for below listed scenarios

    1. Invalid Input: You can enable this if you want to play any speech on invalid input. The speech can be played using any static file, custom value file or using text to speech functionality.

    2. No input: You can enable this if you want to play any speech on no input. The speech can be played using any static file, custom value file or using text to speech functionality.

    3. Maximum Attempts: You can enable this if you want to play any speech on maximum attempts. The speech can be played using any static file, custom value file or using text to speech functionality.

If you select voice then,

  1. Speech Adaption - You can use this section if you want to enhance the recognition of the voice input of user. To know more about speech adaption, click here.

  2. Language of speech - There are a lot of language options for speech to text functionality. You can select the language in which you are expecting user’s input.

  3. Duration of silence - You can set the duration of silence (in seconds), so that when this limit is reached, it will end taking input (At max you can set upto 15 seconds ).

  4. Maximum Time for speech - You can set the time you want to give to the user for the speech(input). At max you can set 15 seconds.

  5. Maximum re-attempts - This is the maximum number of attempts, a user will be given to provide input.

  6. Repeat prompt if no input - Once the “duration of silence” time has passed and no input has been received, the user can configure the prompt to be repeated.

  7. Allow barge in - Enable if you want the user to barge in the IVR.

  8. Confidence - Confidence is basically the surety that the word detected is correct. You can set the confidence value to detect the speech.

  9. Cloud subscription key - Select the Google cloud account for speech to text functionality usage. IF you don’t have account, configure in cloud section.

  10. Store input in - The voice input of the user can be stored in $call.voiceinputreceived, default value or it can be stored in a custom variable by you.

  11. Announcements - You can play any speech for below listed scenarios

    1. Invalid Input: You can enable this if you want to play any speech on invalid input. The speech can be played using any static file, custom value file or using text to speech functionality.

    2. No input: You can enable this if you want to play any speech on no input. The speech can be played using any static file, custom value file or using text to speech functionality.

    3. Maximum Attempts: You can enable this if you want to play any speech on maximum attempts. The speech can be played using any static file, custom value file or using text to speech functionality.

→ If the user input is enabled and the user gives a valid input, then the flow will move forward to ‘Line 0’ or else will move forward to ‘Line 1’.

14. Play and Record

This widget is specially designed to record the user’s input, after the prompt is played. You can access the recording of the user’s input from the report section.

Following configurations are required to use this widget -

1. Play Type

Please select play type - It helps in configuring what should play when the user picks the call, or any action is taken by the user. There are multiple play types which can be chosen. It can be via static file or through text to speech.

Play Beep after prompt - Select ‘yes’ if you want to play beep after the prompt gets completed.

2. Details

This tab will appear according to the play type selected.

Play Type - From File

You have two options, you can play

  1. Static file : Select this option if you want to play any prompt

  2. Based on value : Select this option if have any prompt stored in the flow variable. The prompt stored in the variable must be approved !

Play Type - Text to Speech

You can very easily use the power of Text-to-speech in your IVR to play automated voices to the customer without needing a Voice Artist. Whatever you write as text will be played as speech ! For TTS, you need to configure following things -

  1. Cloud Account - The google cloud account you want to use for TTS service. Make sure to configure cloud account in order to use TTS.

  2. Language - We provide all the languages provided by google for TTS, so you can select any language in which you want to play your speech.

  3. Voice - For each language, different voices are available and you can select any voice according to your preference.

  4. Speed - Set the speed at which you want to play the speech. Default speed is '1'.

  5. Pitch - Pitch is the relative highness or lowness of a tone as perceived by the ear, which depends on the number of vibrations per second produced by the vocal cords. You can set the pitch value, default value is '0'.

  6. Format - The text can be entered as

    1. Plain text - Normal text

    2. SSML - An XML-based markup language for speech synthesis applications. You can get more information by clicking on ‘SSML Help’ on the page

  7. Text to Play - The text area where you can write the text for speech to play. After entering text, you must click on ‘test play’ to hear the speech which will get played.

3. Record

In this tab, you will be able to perform some configurations for recording, it includes

  1. Module Name - A name to be given to the user’s input recording which will be part of recording name. Module name will help in recognizing for which prompt which input is present if there are multiple ‘play and record’ widget in the flow.

  2. Maximum record duration - Maximum duration up to which the input of the user will be recorded.

  3. End record at silence - Set the duration of silence after which the recording of user input will get stop.

  4. File format - You can save the recording in the below two formats.

    1. GSM

    2. WAV

15. Record

This widget is used to record the whole flow. All the flow along with IVRs and the user input will get recorded. It can be used only once in the flow. Once placed, the call gets recorded until disconnected i.e until the hangup widget.

Submit recording to webhook - You can select ‘yes’ if you want to submit the recordings of call to the webhook after the call gets completed.

16. SMS

As the name of the widget suggest, this widget is used to send a real time SMS to the customer.

The Sender IDs are first added under set-up and then selected from the drop-down. Messages only through validated sender ID are sent. The messages can be sent to a static phone number, a variable phone number from the flow variables or to the callee.

  1. Sender ID - An ID through which the SMS will get send. Sender ID can be configured from the setup → SMS section.

  2. Send to - You can send SMS to

    1. Static number : A static number to which the SMS will get send

    2. Variable Number : A flow variable in which the phone numbers are stored to which the SMSs are to be send

    3. Called number for this call : The number on which the call is made/from which the call is it has obtained

  3. SMS Type - The type of SMS you want to send.

    1. Normal : It is normal SMS and the SMSs will not contain any additional features.

    2. Flash : Flash SMS is a type of SMS that appears directly on the main screen without user interaction and is not automatically stored in the inbox. We have integrated with Airtel SMPP to deliver Flash SMS to your customers for an elevated experience. This opens up many use-cases like sending an intimation to the customer before calling.

  4. Template ID - The phonon’s telemarketers ID mentioned on setup → SMS page.

  5. Message - The text message that you want to send as SMS to the customer (you can add text with maximum 450 characters).

17. Speech Processing

This widget is mainly used to process the speech input received from the user. In order to process the input, with the help of this widget you can fetch intents, entity etc.

You can use dialogFlow or IBM Watson’s NLP Engine account to process the speech.

Configurations for using this widget according to the flow :

  1. Flow variable to be processed - The flow variable which is to be processed.

  2. NLP Agent - Select the NLP agent account from the NLP Engines configured for your account, that will be used for processing.

  3. ML Confidence threshold - Set the threshold limit of confidence score required for processing the speech.

  4. Enable hold music - Enable this if you want to play any hold music when the speech is being processed.

  1. Fetch Intent - Enable if you want fetch any intent (In order to fetch any intent, first you need to configure and train the intents in dialogFlow).

  2. Store intent in - If ‘fetch intent’ is enabled, then you need to provide a variable in which you want to store the intent that is fetched after processing the speech.

  3. Fetch Response - Enable if you want to fetch any response for the intent fetched (The response for the intents must be configured in dialogFlow in order to fetch the response).

  4. Store fetched response in - You can go with the default variable or can select the ‘custom variable’ and enter the variable in which you want to store the fetched response.

  5. Fetch Entity - Enable if you want fetch any entity.

  6. Entity to be processed - Enter the name of the entity (configured in dialogFlow) that you want to process further.

  7. Store Entity in - Enter the flow variable in which the output of the processed entity will get stored.

You can add multiple entities that you wish to fetch/process and store the output of those processed entity into different flow variables.

If full detection of the input speech has happened then the flow will move forward to line ‘0' and if partial or no detection has happened then the flow will move forward to line '1’.

18. Time Condition

This widget is specially used when you have to make any decision based on any time condition configured.

You can add breaks from 0 to 7. Break '0' will be the default which will be executed when no condition is matched or then is no other condition

The conditions can be set based off a weekly schedule or a specific date. If two or more conditions hold true, the one that has a higher priority in the time condition table is followed.

  1. Time Condition name - The customized name for the condition to recognize it.

  2. Match condition - By default the match condition is ‘matches’ so based on this you can configure the time condition.

  3. Based on -Select where the condition should be applied on a specific date or a weekly schedule

  4. Go to - The break number for this condition

For example - If you want that the flow should get executed if the time is from 9AM to 6PM for days monday to friday, then you can configure time condition as below and once the condition gets satisfied, the flow will move forward to its break number.

19. Transfer Call

This widget can be used when you want to transfer the call to actual agent via queue or phone number. widget the call will be transferred to the queue and based on the allocation strategy the call will get assigned to the agent.

  1. This call will get transferred to - Select the option to which you want to transfer the call

    1. Queue : The call will get transferred to the the selected queue whenever the flow will reach this widget and the call will get assigned to one agent of that queue. The agent will receive an incoming call, when the call is assigned to him/her.

    2. Phone number : The call will get transferred to the phone number, provided by you.

  2. Second Leg DID Strategy - When the call is get transferred to any agent or phone number then it is call ‘second leg'. You can choose the DID you want to use for dialing agents or phone number in case of second leg and it is called 'second leg DID strategy’. The strategy are

    1. Default : The agents will be called from the same DID from which the customer is called (in case of outbound flows).

    2. Custom : You can choose the DID from which you want to call the agents. You must have more than one DID in order to use different DID for second leg.

      1. All DIDs attached on flow : The DID for second leg will get picked up randomly from the DIDs attached on the flow.

      2. Fixed DID : you can select the DID(s) from the DIDs attached on the flow which you want to use for second leg calls.

Transfer to -Queue

  1. Select Queue - If ‘transfer to queue’ is selected, then you need to choose the queue to which the call will get transferred. You must configure queue first and assign flow in which you want to use that queue, then only you will be able to see queue options here.

Transfer to - Phone number

  1. Phone number is - The phone number can be

    1. Static : Fixed number to which call will get transferred every time.

    2. Variable : A flow variable in which the phone numbers are stored and the call will get transferred to a number from those numbers.

  2. Ring Timeout - The duration(in seconds) up to which the number will be ringed in case she/he does not pick up.

  3. Prompt required on agent connect - You can play any announcement as soon as the agent gets connected. The prompt can be played using

    1. Static file : The announcement can be played from the approved prompts

    2. Custom value file : The announcement can be played from the flow variable in which it is stored

    3. Text to speech : The announcement can be played using text to speech functionality

20. Webhook (To Verify)

 Webhooks are by default called at the end of a flow routine. So, webhook is called on the call disconnect even by default. However, there are times when the same webhook will need to be invoked mid-way for updating customer systems or key value pairs of custom data. Whenever the webhook module is invoked in a flow, an API will be invoked. All recordings, however, are sent only at the end of the flow.

So using this webhook widget, you can invoke any URL and perform the action. You can also send API requests for different methods using webhook widget.

Webhooks for account and flow both need to be enabled for webhook to be invoked.

Using webhook widget, you can also trigger outbound calls !

1. Request

This is the first tab using which you will be able to configure the request you want to send.

Webhook - You can select the webhook URL that you want to invoke from the webhoooks configured in the webhook section. You can select ‘custom’ option if you want to send request to any other URL/webservice end point that is not configured in the webhook section.

Method - You can provide/select method name which you want to enable at your end.

Query Parameter - You can select query parameters, which you want to update/store. Multiple query parameters can be selected at the same time.

Document you API -

Custom Webhook

You can select webhook as ‘custom’ to send request to any valid URL.

  1. Method - The action you want to perform on the given URL. The methods supported are GET, POST, PATCH, DELETE, PUT, OPTION, HEAD.

  2. URL - The URL on which you want to send the API request. Flow variables are also supported in the URL.

  3. Authentication Method - The authentication method that is required to perform the action on the URL. You can select ‘none’ if there is no authentication required or you can select ‘basic’ and provide username and password for authentication.

  4. Headers - Some APIs require you to send particular headers along with sending request, typically to provide additional metadata about the operation you are performing. So by clicking on ‘add headers’ and you can provide headers that are required by providing its key and value. You can add multiple headers and mark them as mandatory as well (if required).

  5. Body Type - The type of the body in which the request will be send. It can be none, JSON or XML.

  6. Body - You can provide the API request body in this area.

  7. Query parameter - Query parameters are appended at the end of the URL. They are extensions of the URL that are used to help define specific content or actions based on the data being passed. You can add multiple query parameters by clicking on ‘add query parameter’ and also mark them as mandatory by selecting the checkbox. You can provide the key and value of the query parameter in their respective text box.

2. Response

On this page, you will be able to select the type in which are getting the response. If the webhook is custom URL and after the request is sent, you are getting any response (response can be any value,status etc) then on this page you can save that response in a flow variable as described in the help text.

3. Configurations

  1. Wait for response - Enable if you want to wait for the response of your request. You can play hold music meanwhile by enabling ‘enable hold music’.

  2. Persist Response - Enable if you want to continue the flow that is, if you want to move forward in the flow if no value is found.

After the execution of this widget, You will get some error codes as mentioned in the widget.

The flow will move forward to ‘line 0' in case of success response or it will move to 'line 1’ in case of failure.

Note

  • Dynamic values(flow variables) can be used in any field of custom webhooks (Eg - in headers, URL, query parameters etc).

    • Example : If I set "Header" as => Key: "$flow.key.headerName"; Value: "Bearer oauth-$user.key.authToken" and if the actual value of $flow.key.headerName is "Authorisation" & $user.key.authToken is 1234, the final Header would be "Authorisation: Bearer 1234"

    • If at the time of execution, any error is faced like variable’s value not obtained, not set etc, then $flow.key.response_error will be boolean true and error reason will be - $flow.key.error_reason = INVALID_FLOW_VAR.

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.