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

IdentifierTypeDefaultSummary
project_attributes_setting_conversation_session_timeout_finished_chatNumber60Inactivity timeout (seconds) to end a finished chat session
project_attributes_setting_conversation_session_timeout_finished_voiceNumber60Inactivity timeout (seconds) to end a finished voice session
project_attributes_setting_conversation_session_timeout_unfinished_chatNumber580Inactivity timeout (seconds) to end an unfinished chat session
project_attributes_setting_conversation_session_timeout_unfinished_voiceNumber300Inactivity timeout (seconds) to end an unfinished voice session
project_attributes_setting_follow_up_timer_chat_interval_baseNumber120Base follow-up delay (seconds) after Agent sends a chat reply
project_attributes_setting_follow_up_timer_voice_interval_agent_speech_endedNumber20Voice follow-up delay (seconds) after Agent finishes speaking
project_attributes_setting_follow_up_timer_voice_interval_agent_speech_startedNumber70Voice follow-up delay (seconds) from when Agent begins speaking
project_attributes_setting_follow_up_timer_voice_interval_conversation_started_inboundNumber12Initial follow-up delay (seconds) at inbound call start
project_attributes_setting_follow_up_timer_voice_interval_conversation_started_outboundNumber12Initial follow-up delay (seconds) at outbound call start
project_attributes_setting_follow_up_timer_voice_interval_user_speech_endedNumber20Voice follow-up delay (seconds) after user finishes speaking
project_attributes_setting_follow_up_timer_voice_interval_user_speech_startedNumber70Voice follow-up delay (seconds) from when user begins speaking
project_attributes_setting_waiting_mode_timeoutNumber60Seconds waiting mode stays active before fallback is triggered
project_attributes_setting_waiting_mode_fallback_instructionString(see below)Instruction used when waiting mode times out
project_attributes_setting_initial_thoughtsString(see below)Internal context seeded at the start of each new session
project_attributes_setting_number_of_past_interactions_to_observeNumber3How many past interaction entries to include as memory context
project_attributes_setting_additional_global_conversation_instructionString(empty)High-priority global instruction that can override conversation behavior
project_attributes_setting_timezone_reasoning_enabledBooleanFalseEnables extra timezone-conversion correction pass during conversations
project_attributes_setting_define_conversation_is_during_working_hours_enabledBooleanTrueWhether Agent uses working-hours status in live conversation logic
project_attributes_setting_connect_with_the_manager_in_case_of_unhandled_issuesBooleanTrueWhether Agent suggests manager escalation when no availability is found
project_attributes_setting_evaluate_ongoing_conversation_qualityBooleanFalseWhether Agent monitors conversation quality and applies recovery guidance
project_attributes_setting_external_reply_typeEnumdefaultControls whether the built-in or a custom external reply handler is used
project_attributes_setting_session_ended_reset_persona_attributesBooleanFalseControls 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.
  • 0 or 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.
  • 0 or 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.
  • 0 or 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.
  • 0 or 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.
  • 0 or 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.
  • 0 or 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.
  • 0 or 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 60 seconds.

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:

  1. Attempt call transfer if transfer is enabled and working-hours logic allows it.
  2. If transfer is not available, suggest callback or manager relay (if manager-relay mode is enabled).
  3. 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.