Acho que você pode usar uma biblioteca de cron. No npm tem várias.
Observação: não é o cron do linux, mas uma biblioteca javascript que funciona como que fosse o cron do linux, mas está só em memória.
A lógica seria: o cara mandou a mensagem, você cadastra o cron para executar daqui a x minutos. Quando executar, você verifica se houve contato. Se não tiver, joga pra espera.