Conversation behavior attributes
These attributes govern how your AI Employee manages conversation flow, session lifecycle, follow-up timing, working-hours logic, and context retention between sessions. They are hidden from the standard UI and only visible when you enable the Show Hidden toggle on the Attributes page.
Quick reference
| Identifier | Type | Default | Summary |
|---|---|---|---|
project_attributes_setting_conversation_session_timeout_finished_chat | Number | 60 | Inactivity timeout (seconds) to end a finished chat session |
project_attributes_setting_conversation_session_timeout_finished_voice | Number | 60 | Inactivity timeout (seconds) to end a finished voice session |
project_attributes_setting_conversation_session_timeout_unfinished_chat | Number | 580 | Inactivity timeout (seconds) to end an unfinished chat session |
project_attributes_setting_conversation_session_timeout_unfinished_voice | Number | 300 | Inactivity timeout (seconds) to end an unfinished voice session |
project_attributes_setting_follow_up_timer_chat_interval_base | Number | 120 | Base follow-up delay (seconds) after Agent sends a chat reply |
project_attributes_setting_follow_up_timer_voice_interval_agent_speech_ended | Number | 20 | Voice follow-up delay (seconds) after Agent finishes speaking |
project_attributes_setting_follow_up_timer_voice_interval_agent_speech_started | Number | 70 | Voice follow-up delay (seconds) from when Agent begins speaking |
project_attributes_setting_follow_up_timer_voice_interval_conversation_started_inbound | Number | 12 | Initial follow-up delay (seconds) at inbound call start |
project_attributes_setting_follow_up_timer_voice_interval_conversation_started_outbound | Number | 12 | Initial follow-up delay (seconds) at outbound call start |
project_attributes_setting_follow_up_timer_voice_interval_user_speech_ended | Number | 20 | Voice follow-up delay (seconds) after user finishes speaking |
project_attributes_setting_follow_up_timer_voice_interval_user_speech_started | Number | 70 | Voice follow-up delay (seconds) from when user begins speaking |
project_attributes_setting_waiting_mode_timeout | Number | 60 | Seconds waiting mode stays active before fallback is triggered |
project_attributes_setting_waiting_mode_fallback_instruction | String | (see below) | Instruction used when waiting mode times out |
project_attributes_setting_initial_thoughts | String | (see below) | Internal context seeded at the start of each new session |
project_attributes_setting_number_of_past_interactions_to_observe | Number | 3 | How many past interaction entries to include as memory context |
project_attributes_setting_additional_global_conversation_instruction | String | (empty) | High-priority global instruction that can override conversation behavior |
project_attributes_setting_timezone_reasoning_enabled | Boolean | False | Enables extra timezone-conversion correction pass during conversations |
project_attributes_setting_define_conversation_is_during_working_hours_enabled | Boolean | True | Whether Agent uses working-hours status in live conversation logic |
project_attributes_setting_connect_with_the_manager_in_case_of_unhandled_issues | Boolean | True | Whether Agent suggests manager escalation when no availability is found |
project_attributes_setting_evaluate_ongoing_conversation_quality | Boolean | False | Whether Agent monitors conversation quality and applies recovery guidance |
project_attributes_setting_external_reply_type | Enum | default | Controls whether the built-in or a custom external reply handler is used |
project_attributes_setting_session_ended_reset_persona_attributes | Boolean | False | Controls how much persona context is preserved between sessions |
Session timeouts
Session timeouts determine how long the platform waits after a period of inactivity before automatically ending a session. The timeout that applies depends on the conversation channel (chat or voice/webcall) and whether the conversation has been marked as concluded (finished) or is still active (unfinished).
When a session times out, the AI Employee loses visibility of the previous conversation history. If session-ended reporting is enabled, a report is also sent at that point.
::: ⚠️ CAUTION
Keep all session timeout values at 580 seconds or lower. Values above this threshold can cause compatibility issues with session-timeout handling.
:::
Session timeout on finished chat
Attribute: project_attributes_setting_conversation_session_timeout_finished_chat
Type: Number | Default: 60
Defines the inactivity timeout in seconds for finished chat conversations. Once the timeout elapses after a chat conversation is marked concluded, the session ends automatically.
Keep this value relatively short for chat channels to prevent stale context from carrying over when a user sends a new message after a long gap.
- Lower value: Session closes faster after conclusion.
- Higher value: Session stays open longer before auto-end.
Session timeout on finished voice
Attribute: project_attributes_setting_conversation_session_timeout_finished_voice
Type: Number | Default: 60
Defines the inactivity timeout in seconds for finished voice and webcall conversations. The session ends automatically once this interval elapses after a call is marked concluded.
Set this long enough to account for natural post-call processing delays.
- Lower value: Session closes faster after call conclusion.
- Higher value: Session remains active longer before auto-end.
Session timeout on unfinished chat
Attribute: project_attributes_setting_conversation_session_timeout_unfinished_chat
Type: Number | Default: 580
Defines the inactivity timeout in seconds for chat conversations that have not been marked as concluded. The session ends automatically after this period of inactivity, even if the conversation is still in progress.
Use a larger value than the finished-chat timeout so users have enough time to resume an active thread without losing context.
- Lower value: Unfinished chat sessions close faster during inactivity.
- Higher value: Unfinished chat sessions remain open longer before auto-end.
Session timeout on unfinished voice
Attribute: project_attributes_setting_conversation_session_timeout_unfinished_voice
Type: Number | Default: 300
Defines the inactivity timeout in seconds for voice and webcall conversations that have not been marked as concluded. The session ends automatically after this period of inactivity.
Set this high enough to cover realistic pauses in live calls.
- Lower value: Unfinished voice sessions close faster during inactivity.
- Higher value: Unfinished voice sessions remain active longer before auto-end.
Follow-up timers
Follow-up timers control how long the AI Employee waits before prompting the user again when no response has been detected. Each timer corresponds to a specific event in the conversation — such as when the user starts or stops speaking, or when the Agent finishes delivering a reply. Separate timers exist for chat and voice channels, and for inbound and outbound calls, so you can tune each scenario independently.
A value of -1 disables the specific timer path. A value of 0 or any positive number enables it; larger values produce longer delays before the follow-up prompt fires.
Chat interval base
Attribute: project_attributes_setting_follow_up_timer_chat_interval_base
Type: Number | Default: 120
Defines the base follow-up delay in seconds after the AI Employee sends a chat reply. For standard chat replies, this value also affects how much extra time is added for longer answers — higher base values increase both the fixed delay and the reply-length-based extension.
Start with 120 and tune based on how quickly your users typically respond. Set to -1 to disable attribute-driven chat follow-up scheduling entirely.
-1: Chat follow-up timer scheduling is disabled.0or positive number: Follow-up is scheduled; larger values wait longer and add more delay for longer replies.
Voice interval — agent speech ended
Attribute: project_attributes_setting_follow_up_timer_voice_interval_agent_speech_ended
Type: Number | Default: 20
Defines the voice follow-up delay in seconds after the AI Employee finishes speaking. This timer handles situations where the call goes silent after the Agent's reply.
Keep this short enough to recover stalled calls quickly, but long enough to avoid interrupting normal pauses while the user formulates a response.
-1: Disables this timer path.0or positive number: Schedules follow-up after agent speech ends.
Voice interval — agent speech started
Attribute: project_attributes_setting_follow_up_timer_voice_interval_agent_speech_started
Type: Number | Default: 70
Defines the voice follow-up delay in seconds from the moment the AI Employee begins speaking. This timer prevents premature follow-up prompts while the Agent is still actively delivering a message.
Set this longer than your typical Agent opening-phrase duration.
-1: Disables this timer path.0or positive number: Schedules follow-up from agent-speech-started timing points.
Voice interval — conversation started (inbound)
Attribute: project_attributes_setting_follow_up_timer_voice_interval_conversation_started_inbound
Type: Number | Default: 12
Defines the initial follow-up delay in seconds right after an inbound call starts. This timer is separate from the outbound equivalent so you can tune incoming-call silence handling differently.
Keep this short enough to recover quickly when the user goes silent at call start, but long enough to avoid cutting off normal opening pauses.
-1: Disables this inbound conversation-started timer path.0or positive number: Schedules follow-up from inbound conversation-start events.
Voice interval — conversation started (outbound)
Attribute: project_attributes_setting_follow_up_timer_voice_interval_conversation_started_outbound
Type: Number | Default: 12
Defines the initial follow-up delay in seconds right after an outbound call starts. This timer is separate from the inbound equivalent so proactive outreach can use a different start-of-call pacing strategy.
Keep this short for outbound flows so stalled calls recover quickly after the opening message.
-1: Disables this outbound conversation-started timer path.0or positive number: Schedules follow-up from outbound conversation-start events.
Voice interval — user speech ended
Attribute: project_attributes_setting_follow_up_timer_voice_interval_user_speech_ended
Type: Number | Default: 20
Defines the voice follow-up delay in seconds after the user finishes speaking. This is the primary voice silence baseline — shorter values make the Agent more proactive, longer values reduce the risk of interrupting the user.
-1: Disables this timer path where disable semantics are honored.0or positive number: Schedules follow-up after user-speech-ended events.
Voice interval — user speech started
Attribute: project_attributes_setting_follow_up_timer_voice_interval_user_speech_started
Type: Number | Default: 70
Defines the voice follow-up delay in seconds from the moment the user begins speaking. This timer prevents the Agent from reacting to brief noise bursts or short speech fragments during active turn-taking.
Set this long enough to avoid triggering on incomplete utterances. When this path runs, the follow-up counter resets, so repeated silence prompting starts from the initial attempt.
-1: Disables this timer path where disable semantics are honored.0or positive number: Schedules follow-up after user-speech-started events.
Waiting mode
Waiting mode suspends active conversation follow-up timers while the platform is waiting for an external result — for example, a third-party service response. These two attributes work together: the timeout sets how long the platform waits, and the fallback instruction defines what the AI Employee says if the result never arrives.
Waiting mode timeout
Attribute: project_attributes_setting_waiting_mode_timeout
Type: Number | Default: 60
Defines how many seconds waiting mode stays active before fallback behavior is triggered. Once this timer expires without an external result arriving, the platform delivers the fallback instruction to the user.
Set this slightly above your typical third-party response time so normal responses arrive before the fallback fires. If left empty, the runtime falls back to 60 seconds.
- Positive number: Runtime schedules the waiting fallback timer for the configured interval.
- Empty value: Runtime falls back to the default of
60seconds.
Waiting mode fallback instruction
Attribute: project_attributes_setting_waiting_mode_fallback_instruction
Type: String | Default: Suggest to the user that you will relay the information to the manager, and they will reach out as soon as they are available.
Defines the guidance the AI Employee uses when waiting mode times out before an external result arrives. The runtime prepends a standard apology/recovery prefix to this value before delivering the response.
Keep this instruction short, apologetic, and action-oriented so users receive a clear next step when a third-party response is delayed.
Example:
Suggest to the user that you will relay the information to the manager, and they will reach out as soon as they are available.
Context and memory
Initial thoughts
Attribute: project_attributes_setting_initial_thoughts
Type: String | Default: Just greeted the User. Next - understand inquiry and follow instructions.
Defines the internal context the AI Employee uses at the start of each new session. This value is seeded into the Agent's conversation-thought state during session initialization and can be updated as the conversation evolves.
Keep this short and operational, focused on immediate next-step guidance rather than business policy details.
Example:
Just greeted the User. Next - understand inquiry and follow instructions.
Number of past interactions to observe
Attribute: project_attributes_setting_number_of_past_interactions_to_observe
Type: Number | Default: 3
Controls how many past interaction entries are included as memory context for the AI Employee. Use a low-to-moderate value to balance continuity against prompt size.
0: Past-interaction context block is disabled; the Agent sees no prior interaction history.- Positive number: The most recent N interaction entries are included (up to available history).
A value of 3 to 5 is a reasonable starting point for most deployments.
Conversation instructions
Additional global conversation instruction
Attribute: project_attributes_setting_additional_global_conversation_instruction
Type: String | Default: (empty)
Adds a high-priority global instruction that can override normal conversation behavior. This value is appended near the response footer during runtime prompt compilation whenever it is non-empty.
::: ⚠️ CAUTION
Treat this as an emergency override only. Keep the content short (2–3 sentences), clear, and temporary. Overloading this field with long or conflicting instructions can make the Agent behave inconsistently. :::
Examples:
Always mention that quoted prices are estimates and may change.
Never ask for a full date of birth.
Working hours and scheduling
Timezone reasoning enabled
Attribute: project_attributes_setting_timezone_reasoning_enabled
Type: Boolean | Default: False
Controls whether the AI Employee performs an additional timezone-conversion correction pass when timezone questions arise during a conversation. When enabled and a mismatch is detected between the user's implied timezone and the business timezone, the Agent issues corrective guidance.
Enable this when your conversations frequently involve cross-timezone coordination and scheduling.
True: Timezone correction pass can run and issue corrective guidance when a mismatch is detected.False: The additional timezone correction pass is skipped.
Define working hours status
Attribute: project_attributes_setting_define_conversation_is_during_working_hours_enabled
Type: Boolean | Default: True
Controls whether the AI Employee uses working-hours status in live conversation decision paths. When enabled, the Agent computes and caches open/closed status and uses it for call-transfer rules, escalation logic, availability fallback guidance, and related behavior.
Keep this enabled if your transfer, escalation, or availability policies depend on business open/closed state.
True: Agent computes open/closed status and uses it to gate conversation branching.False: Conversation-time logic stops gating behavior by open/closed status and uses non-status-specific fallback behavior instead.
::: 🗒️ NOTE
End-session and reporting paths derive working-hours status independently, so disabling this attribute does not affect session-end reports. :::
Escalation and handoff
Escalate unresolved issues to the manager
Attribute: project_attributes_setting_connect_with_the_manager_in_case_of_unhandled_issues
Type: Boolean | Default: True
Controls whether the AI Employee adds manager-escalation guidance when an availability check returns no suitable slots. When enabled, the Agent may include a suggestion to connect with a manager in replies where no availability can be offered.
This is guidance logic only — it does not directly execute a call transfer or contact action.
Enable this only if your transfer and escalation policy is configured and your team expects manager handoff suggestions in no-availability situations.
True: Agent may include manager-assistance guidance in no-availability replies.False: No manager-escalation guidance is added in those replies.
Evaluate ongoing conversation quality
Attribute: project_attributes_setting_evaluate_ongoing_conversation_quality
Type: Boolean | Default: False
Controls whether the AI Employee continuously monitors conversation quality during active dialogue and applies recovery guidance when quality drops below an acceptable threshold.
Enable this for production voice channels where background noise, poor connection, or persistent misunderstanding is a common risk.
True: Agent evaluates quality and applies escalation guidance for low-quality conversations.False: No quality-based escalation guidance is triggered.
When low quality is detected, the platform follows this recovery order:
- Attempt call transfer if transfer is enabled and working-hours logic allows it.
- If transfer is not available, suggest callback or manager relay (if manager-relay mode is enabled).
- Otherwise, fall back to callback guidance.
::: 🗒️ NOTE
Low-quality escalation is suppressed after the first successful trigger in the same conversation to avoid repeated interruptions. :::
External reply handling
External reply type
Attribute: project_attributes_setting_external_reply_type
Type: Enum | Default: default
Controls whether the built-in external reply handler or a custom outbound delivery flow is used when the send_external_reply system event fires.
Possible values:
default: The built-in external reply handler stays active. The platform reads the conversation source and dispatches supported external replies (for example, ManyChat).custom: The built-in external reply handler exits immediately so your own custom outbound delivery pipeline can take over.
Keep this set to default unless you have a complete custom outbound delivery pipeline with its own monitoring in place.
Session reset behavior
Session ended — reset persona attributes
Attribute: project_attributes_setting_session_ended_reset_persona_attributes
Type: Boolean | Default: False
Controls how much user and persona context is preserved when a session ends and the next session begins.
False: The platform keeps additional persona and profile continuity between sessions, stores session memory updates for future context, and preserves return-session greeting phrases.True: The platform performs deeper persona cleanup at session end, resets extended profile fields (such as booking and contact-related data), clears stored return-session greeting phrases, and does not persist end-session memory summarization.
Use True for stricter session isolation. Keep False when continuity across sessions is important for your use case.
Updated 2 days ago
