Handling User Silence
This guide outlines a conversational flow for a chatbot that provides information about its capabilities and uses reminders to handle user inactivity.
How to Handle Unresponsive Users with Reminders
Your assistant may need to handle situations where users don't respond to prompts. This guide shows you how to use reminders to re-prompt users after periods of inactivity.
action_set_reminder
Implement the reminder logic using - Create two custom actions named
action_set_reminder
andaction_forget_reminders
as shown below - Customize the
minutes
parameter to determine the desired delay for the reminder.- As an option, you may hardcode the delay to use as a global setting or use a slot value to set a flow-specific delay
- You are required to import the
ReminderScheduled
class with the following parameters:"EXTERNAL_reminder"
: This is the required identifier for the reminder type.trigger_date_time
: The scheduled time for the notification (set to the calculateddate
)."reminder"
: The name of the reminder (can be customized).kill_on_user_message=True
: This ensures the reminder is reset when the user utters a message.
pattern_collect_information
flow
Update the Overwrite the default pattern_collect_information
pattern.
This will enable the reminder logic for any collect.
Best Practices
- Customize reminder messages and timeouts based on your use case and user experience goals.
- Consider using different reminder messages for subsequent reminders to avoid repetition.
- Implement a maximum number of retries to prevent excessive interruptions.
- Inspect and test your implementation thoroughly to ensure it behaves as expected.
Conclusion
By following these steps and incorporating best practices, you can effectively handle user inactivity and improve the
overall user experience of your assistant. The reminder system, implemented within the action_set_reminder
and the
pattern_collect_information
flow, plays a crucial role. It nudges unresponsive users without being overly intrusive.
This feature allows the assistant to be informative and helpful while respecting the user's time and attention.