When setting up a chatbot, it's possible to define an idle timeout period. This period corresponds to the time the chatbot will wait for user interaction before executing a predefined action, such as ending the conversation or redirecting the flow.
This article aims to present the procedure for enabling and configuring this functionality, integrating it effectively into the conversational flow.
What is the idle timeout for?
Imagine you have a chatbot to help your customers. It asks for the person's name and email. If the customer starts the conversation but gets distracted and takes a while to respond, the chatbot can:
Remind the customer: send a friendly message asking if they still need help.
End the conversation: if the customer doesn't respond, the chatbot can politely end the interaction to prevent conversations from remaining open.
This is useful for keeping the conversation organized and ensuring that the chatbot is always ready to assist other customers.
How to configure the idle timeout
Step 1: Activating the idle function
On your chatbot creation screen, look for a Settings icon. It's usually in the bottom right corner and might look like a gear ⚙️. Click on it.
You'll find an option called Conversation inactivity. Click the button next to it to turn this function on. It should change color, indicating that it's activated.
Now, you need to tell the chatbot how long it should wait. You can choose a time between 5 minutes and 23 hours. Enter the desired number.
To finish, click Save changes.
Step 2: Telling the chatbot what to do when the time runs out
After activating the idle timeout, you need to teach the chatbot how to act when the user doesn't respond within the set time. There are two ways to do this:
Option 1: Using an "Inactivity Notice"
Imagine you're going to create a "note" for when the user takes too long to respond. To organize things better, we'll put this note in a separate location from the main conversation flow.
On the chatbot creation screen, look for Flow in the bottom left corner and click it.
Click Create new flow to add this "corner" for our notice.
Click Add block. Think of the block as a message box.
Look for a block type called Marker and choose the Inactivity option.
Now, add another block of the Text message type. In it, write the message you want the chatbot to send when the idle timeout ends. For example: "We noticed you've been inactive. If you have any more questions, feel free to ask! Thank you and see you later!".
Click Save changes.
Done! Now, if the user takes too long to respond, the conversation will automatically be directed to this inactivity "note".
Option 2: Using a "Time Condition"
In this option, you're going to tell a specific block in the conversation that if the user doesn't respond within a certain time, it should go to an "idle timeout" message.
Create a specific block for the idle timeout message (just like we did in Option 1). Give it an easy-to-remember name, like "Idle Timeout," and write the message that will be sent (for example: "We noticed you've been inactive. If you have any more questions, feel free to ask! Thank you and see you later!").
Choose which block in the conversation will "watch" if the user will respond or not. In the image example, the "Acknowledgement" block does this.
Click on the block you chose (in our example, "Acknowledgement") and look for the Destination settings. The "destination" is where the chatbot goes after this block.
Click Add destination and create a condition. Imagine you're saying: "IF the idle timeout ends (the variable input.text IS EQUAL TO inactivity_time), THEN go to the 'Idle Timeout' block."
Testing to see if it works
After setting everything up, it's important to test to make sure it's working correctly:
Start a test conversation in your chatbot.
Get to the block you configured to "watch" for inactivity (for example, the "Acknowledgement").
Don't respond for a while (wait the time you configured).
See if the chatbot sends you the inactivity message correctly.
If everything works as expected, congratulations! You've configured the idle timeout for your chatbot.