Trigger an action after a specific period of time

Hello, I am trying to trigger an action after a long user’s inactivity. More specifically, my chatbot starts a conversation with a response and then waits for the user’s input. If the user does not reply within a predefined period of time (let’s say 10 seconds), I would like to have my chatbot reply a message (let’s say “hey are you there?”). Is it possible? I tried to do it with reminders but it seems not to work.

I was going to suggest Reminders and then I read about the last part!

But can you explain more about what you did with Reminders and how they’re not working?

I have followed a strategy based on what I read in docs, but it is more than possible I am missing something. To begin with, I have implemented a simple story where the bot says its name (action_say_name) and then triggers the custom action action_schedule_reminder.

Screenshot_2

The action is given below and I am not sure If I have implemented properly:

Then I have a rule for EXTERNAL_reminder, to call the action react_to_reminder

Screenshot_3

Screenshot_5

And finally I have defined EXTERNAL_intent as an intent:

Screenshot_4

I run it in rasa shell, but nothing happens after 5 seconds and the bot keeps waiting for user’s input:

Screenshot_7

1 Like

What I did is actually correct. Only problem is that reminders do not work on rasa shell. I had to run rasa x to see them function!

1 Like

Sorry for the late reply, I somehow missed it.

I’m glad you found the solution! You can mark your last reply as solution for future readers :slight_smile: