If

1. Description

It is a conditional component designed to test conditions. It allows you to compare a value and what you expect logically.

This component is present in flow types like:

  • Voice;

  • Chat;

  • Forms;

  • Service.

The block (Fig.1(1)) is used in space to build the Flow. The settings panel for this component opens (Fig.1(2)) when you click on the block.

Fig.1. If component

1.1. If block

The block consists of the following elements:

  1. The name of the component;

  2. In branch — receiving (connecting with the previous block) branch;

  3. Then branch — execution of the Flow scheme on this branch occurs when the condition specified in the Expression field is met;

  4. Else branch — execution of the Flow scheme on this branch occurs when the condition specified in the Expression field is not met;

  5. Out branch — the execution of the Flow scheme on this branch occurs after the execution of the scheme on the Then or Else branches. Outgoing (connecting to the next block) branch. 

When hovering over the Out, Else, or Then field, a switch appears. The switch allows this component to be connected to a component that already has a connection.

The presence of an icon indicates that the switch is on, and this component can be connected to a component that already has a connection.

Changing the switch position removes the outgoing branch of this component.

The  button deletes the block from the Flow Schema.

1.2. If settings panel

It consists of the following elements:

  1. Expression;

  2. Break;

  3. Limit;

  4. Add description.

1.2.1. Expression

The test condition is entered here.

All variables in Webitel are marked like this — ${ }. The variable name is enclosed in curly braces. The next step is to specify the condition.

For example, it is necessary to check whether the variable out_w is more significant than zero. The field entry will look like this:

${out_w}>0 

If the condition is met, the Then branch is used.

The Else branch is used when the condition is not satisfied.

Time-of-day routing allows calls to be executed in different applications based on the time and day of the week. 
You can use it in the different conditional statements.

 

&minute_of_day (minutes)

Arguments:

  • minutes (string) – Minute of the day, (1-1440) (midnight = 1, 1am = 60, noon = 720, etc.).

Returns:

  • true, false, or the minute of the day if there are no parameters

&time_of_day (08:00-17:00)

Arguments:

  • time (string) – Time range formatted: hh:mm[:ss]-hh:mm[:ss] (seconds optional).

Returns:

  • true, false, or the time of the day if there are no parameters

&minute (minutes)

Arguments:

  • minutes (string) – Minute (of the hour), 0-59.

Returns:

  • true, false, or the minutes of the hour if there are no parameters

&hour (hours)

Arguments:

  • houres (string) – Hour, 0-23.

Returns:

  • true, false, or the hour of the day if there are no parameters

&wday (wdays)

Arguments:

  • wdays (string) – Day of the week, 1-7 (Sun = 1, Mon = 2, etc.) or “sun”, “mon”, “tue”, etc.

Returns:

  • true, false, or the day of the week if there are no parameters

&mweek (mweeks)

Arguments:

  • mweeks (string) – Week of the month, 1-6.

Returns:

  • true, false, or the week of the month if there are no parameters

&week (weeks)

Arguments:

  • weeks (string) – Week of the year, 1-53.

Returns:

  • true, false, or the week of the year if there are no parameters

&mday (mdays)

Arguments:

  • mdays (string) – Day of the month, 1-31.

Returns:

  • true, false, or the day of the month if there are no parameters

&mon (m)

Arguments:

  • m (string) – Month, 1-12 (Jan = 1, etc.).

Returns:

  • true, false, or the month if there are no parameters

&yday (d)

Arguments:

  • d (string) – Day of the year, 1-366.

Returns:

  • true, false, or the day of the year if there are no parameters

&year (y)

Arguments:

  • y (string) – Calendar year, 0-9999.

Returns:

  • true, false, or the year if there are no parameters

Example code:
{ "if": { "expression": "&hour(18-20) && &wday(2-6)", "then": [ { "setVar": "time_now=&time_of_day()" } ] } }

 

1.2.2. Break

1.2.3. Limit

Fig. 2. Setting a limit

1.2.4. Add description

Fig. 3. Add description