Timeout Mechanisms in Moveo
Moveo uses several timeout mechanisms to manage the lifecycle of conversations. These timeouts serve different purposes and work together to ensure optimal user experience while maintaining system efficiency. This page explains the key timeout mechanisms and how they impact conversations.
Session timeout
The session timeout is the default timeout that acts as the baseline lifetime for a conversation. Its value is configured at the integration level and varies depending on the integration (e.g., WhatsApp vs. Zendesk). In the API, it is represented as session timeout (in seconds).
The default session timeout varies depending on the integration type. The following table shows the default session timeout for each integration type:
| Integration Type | Default Session Timeout (seconds) |
|---|---|
| Facebook-messenger | 604800 (7 days) |
| Instagram-messenger | 604800 (7 days) |
| 604800 (7 days) | |
| Viber | 604800 (7 days) |
| Intercom | 86400 (1 day) |
| Zendesk | 86400 (1 day) |
| Front | 86400 (1 day) |
| Web | 3600 (1 hour) |
| Sunco | 600 (10 minutes) |
| Smartlead | 1296000 (15 days) |
| Infobip-sms | 604800 (7 days) |
| Infobip-rcs | 604800 (7 days) |
| Twilio-voice | 300 (5 minutes) |
| 1296000 (15 days) |
This timeout is primarily used in two scenarios:
- Initial Conversation Timeout: When a conversation is first created, such as through a broadcast message, it uses the session timeout until the user replies and an AI or human agent is assigned.
- Human Agent Conversations: When a human agent is handling the conversation, the session timeout governs the session's maximum duration.
The session's expiration time is reset to the session timeout value each time the user sends a message during a human-handled conversation.
The session timeout is not configurable from the UI. It can only be set via the API by setting config.session_timeout propery when creating or updating an integration.
Inactivity timeout
The inactivity timeout governs the session's duration when an AI Agent is active, taking precedence over the default session timeout. When an AI Agent is assigned to a session, the inactivity timeout from the agent's configuration defines the session's maximum lifetime. The session will expire if the user does not send a message within this timeframe. This value is represented as inactivity timeout seconds in the API.
You can subscribe to event notifications to be notified when a session expires due to inactivity.
You can configure this timeout in the AI Agent settings under the Advanced tab. The session's expiration time is reset to the inactivity timeout value each time the user sends a message during an AI-handled conversation.
How to configure inactivity timeout
- Navigate to your AI Agent.
- Click on the Advanced tab.
- Choose an option in the Inactivity timeout section.
Dynamic timeout behavior
Moveo dynamically manages the session timeout based on the context of the conversation.
- If an AI Agent is assigned to the conversation, the session's lifetime is determined by the agent's inactivity timeout.
- If a human agent takes over, the timeout switches to the integration's default session timeout.
This ensures that the session's lifetime is adapted to the context, whether it's automated or handled by a human.
For example, if a conversation is started by a campaign, it will remain open until the initial session timeout expires. If the user responds and an AI Agent takes over, the session's expiration will now be dictated by the AI Agent's inactivity timeout. The session will expire if the user does not send another message within that new timeframe.
The session timeout—whether it is the session timeout or the inactivity timeout—is only reset when the user sends a message. Messages sent by an AI Agent or a human agent do not extend the session's life. The conversation is kept alive exclusively by the user's interactions.
Keep alive
The keep alive timeout specifies the number of seconds to keep a session open after it has been marked as resolved. This allows users to continue the same conversation if they have follow-up questions within a short period.
Key features:
- Grace Period: Provides a buffer after a conversation is resolved.
- Measured in Seconds: The value is configured in seconds (e.g., 300 seconds = 5 minutes).
- API Representation: Represented as
keep_alivein the API.
Use case:
Imagine a customer support scenario where an agent has resolved a user's issue and marked the conversation as complete. With a keep_alive of 5 minutes:
- The conversation remains open and accessible for 5 minutes after being resolved.
- If the user sends another message within this window, it is appended to the same conversation.
- If the user sends a message after the 5-minute period, a new conversation is created.
How to configure keep alive timeout
- Navigate to Settings.
- Select the Environment you want to modify.
- Click on the Setting tab.
- Scroll down to the Keep alive section.