Как сделать, чтобы чат-бот работал только в нерабочее время

Чат-бот, созданный с помощью конструктора Zabotix, принимает все обращения, поступающие в открытую линию, к которой он подключен. Но иногда может возникать необходимость в том, чтобы в рабочее время клиентам отвечали операторы, а чат бот включался только в нерабочее время.

Рассмотрим по шагам, как это можно сделать.
В конструкторе Zabotix для действий, выполняемых ботом и для триггеров есть условия, которые позволяют проверить, в какое время происходит событие и выполнить действие или триггер только в рабочее или нерабочее время.
Про условия проверки времени на рабочее вы можете почитать подробнее здесь.

Решение заключается в том, чтобы чат-бот в рабочее время сразу направил пришедшее обращение в очередь операторов и больше ничего не делал.
Для этого необходимо выполнить следующие действия:
  • настроить параметры рабочего времени открытой линии. Это делается не в боте, а в настройках открытой линии Битрикс24. Про настройку параметров открытой линии вы можете прочитать в справке Битрикс24.
  • настроить дополнительный узел в сценарии, отвечающий исключительно за перевод диалога в очередь

    в этом узле необходимо добавить 1 единственное действие, которое будет выполнять перевод диалога в очередь:

    Обратите внимание, что никаких условий мы тут не добавили, так как они тут не требуются и мы сделаем это далее.
  • в самое начало сценария (в начальный узел) мы добавляем действие перевода сценария в данный узел и вот тут уже указываем условие, что делать это необходимо только в рабочее время.
    Выбираем в меню действий бота действие "Запустить другой сценарий/узел"

    и настраиваем его соответствующим образом так, чтобы оно работало только в рабочее время

А дальше в сценарии уже можно настраивать другие действия, которые бот будет выполнять, если не выполнил перевод в очередь.
Например, можем отправить текст приветствия.



Сценарий у нас после выполнения всех указанных настроек  будет выглядеть следующим образом:



Обратите внимание, что для действия отправки сообщения мы уже не указывали условие проверки, рабочее время или нет. Это сделано потому, что если время обращения нерабочее и действие по запуску узла с переводом в очередь выполнится, то бот уже не выполнит действие отправки сообщения.

Таким образом, данный сценарий в рабочее время будет запускать узел, переводящий диалог в очередь, после чего бот ничего больше делать не будет, а в нерабочее время бот отправит приветственное сообщение и пойдет дальше по тому сценарию, который вы настроите. 

Некоторые особенности, которые стоит учесть.

Обратите внимание, что при такой реализации, в онлайн чате, например, Битрикс24 покажет строку "Чат-бот печатает сообщение", несмотря на то, что никакого сообщения чат-бот не печатает и не пришлет.


Поэтому, чтобы избежать недопониманий, вы можете перед переводом диалога на оператора отправить, например, какое-нибудь сообщение. Например, такое:


Важно! Отправку сообщения важно делать перед переводом в очередь, потому что в противном случае диалог может вернуться чат-боту обратно и не попасть к оператору.
Узел перевода в очередь у нас приобретет такой вид:


И в этом случае диалог с пользователем в онлайн чате будет выглядеть примерно так. 
,

а у оператора в бизнес-чате появится новый диалог