Для автоматического завершения диалога во время активного разговора можно использовать таймер или таймаут. Например, можно установить таймер на определенное время (например, 15 минут) после последнего сообщения от пользователя или менеджера. Если в течение этого времени не поступает новое сообщение, то диалог можно завершить автоматически.
Для создания механизма автоматического возвращения диалога в общую очередь, если менеджер не отвечает в течение 1-2 часов, можно использовать API методы для управления диалогами и очередями. Например, можно создать метод, который проверяет время последнего сообщения от менеджера и, если прошло более 1-2 часов без ответа, возвращает диалог в общую очередь.
Для реализации данной задачи можно использовать API методы для работы с сообщениями (например, sendMessage), очередями (например, addToQueue), управлением диалогами (например, closeDialog) и работой с таймерами или таймаутами.
В зависимости от используемой платформы или программного обеспечения, возможно потребуется изучить документацию на соответствующие API методы и возможности для реализации автоматического возвращения диалога в общую очередь при отсутствии ответа от менеджера.