On this page |
\uD83D\uDCCB What’s about
In this group, you find the boxes useful to design the call flow according to:
The interaction between the customer and the application
The query results
The arithmetic calculation results
Other
🟦 Goto
This block lets you divert the call to another object like
Another IVR application
A queue rule
A fixed extension
A specific Asterisk context
Label: a brief description of the box
Context: here you can put a context name (check Asterisk documentation for the “Context” definition).
If you use Cally Square combined with XCALLY this should be:
A rule name
An agent
A DID
Extension: in many cases it may be “s”, however you can place the extensions according to your dialplan needs (explore more information here)
Priority: priority of the application in the dialplan
The goto block will interrupt the IVR execution and route the call toward another extension. Still, before that, it will execute any final block with all its other following blocks, if there is any.
⬛ Gotoif
This block executes a conditional jump according to a comparison result
Label: brief description
Condition: define the comparison condition. It could be:
=
<
>
!=
<=
>=
|| for “OR” and “&&” for “AND”
== equal to
=== equal value and equal type
!= not equal
!== not equal value or not equal type
A Condition example:
'{CHANNEL(language)}' == 'en' || '{CHANNEL(language)}' == 'fr'
The above condition is TRUE when the channel language is English or French
Exit Arrows
For this box you must create two exit arrows using the following values:
true: routes to the path in the IVR tree for the condition verified as true
false: routes to the path in the IVR tree for the condition verified as false
Consider this information if you use GoToIf block
An error can occur if a variable contains an apostrophe (e.g. a phrase in a transcription anlysis like “… I'm John…”).
To resolve this, all instances of “gotoif” should be updated to use backticks instead of apostrophes as delimiters for the variable.
Here the example:
❌
'{{message.body}}'==='Good' || '{{message.body}}`==='Great'
Will be understood in a confused way as
'Hello, I'm John'==='Good' || 'Hello, I'm John'==='Great'
✅ (using ` and not ' )
`{{message.body}}`==='Good' || `{{message.body}}`==='Great'
it will be correctly interpreted as:
`Hello, I'm John`==='Good' || `Hello, I'm John`==='Great'
🟦 GotoifTime
This box lets you make decisions based on the time intervals.
Label: a brief description of the box
Time interval: select the time interval pre-defined in the time intervals sections
Exit Arrows
For this box, you must create two exit arrows using the following values:
true: routes to the path in the IVR tree for the time interval condition verified as true
false: routes to the path in the IVR tree for the time interval condition verified as false
🟦 Switch
This block is very similar to the menu block, unlike the fact that the path the call will take depends on a variable.
Indeed you can set a variable to be read and choose a branch depending on its value.
Label: brief description
Variable: here you can choose a variable from a pick up list
Exit Arrows
The block lets you draw many exit arrows depending on how many values the variable can assume.
In addition, there is a branch in case none of the branches values matches the value of the variable
Adding multiple choices for each output branch is possible: just use the comma-separated characters.