Skip to main content
The inactivity nudge keeps a voice conversation from stalling. When the caller goes quiet after the agent speaks, the agent waits a configurable amount of time, then nudges them — “Hello, are you still there?” or a contextual prompt of your choosing. If the caller still doesn’t respond after the last nudge, the agent ends the call. The inactivity nudge runs on voice calls only — both inbound/outbound telephone and WebRTC voice. It has no effect on text or chat conversations, where silence is expected.
The inactivity nudge is always on for voice agents. There is no enable/disable toggle — instead, tune the timeout, the gap between nudges, and the nudge wording. To make an agent more patient, raise timeout_seconds.

How it works

Silence is detected from the caller’s audio: when neither the caller nor the agent has spoken for timeout_seconds, the caller is marked away and the nudge sequence begins.
Agent finishes; caller goes silent


timeout_seconds of silence  → caller marked "away"


Nudge 1 ──wait nudge_interval_seconds──▶ Nudge 2 ──▶ ... (in order)
        │                                              │
   caller responds?                          last nudge, still silent
        │                                              │
        ▼                                              ▼
 nudges cancelled, conversation resumes            hang up
The silence timer only counts while the agent is idle and waiting. A long agent reply, or a tool the agent is running in the background, does not count as caller silence — so the agent never nudges in the middle of its own turn. If the caller speaks at any point, the pending nudges are cancelled and the conversation continues normally. Nudges play in the order you list them, so you can escalate: a warm check-in first, a firmer “I’ll have to let you go” before the final hang-up.

Configuration

Configure it in the agent builder under Rules & Boundaries → Inactivity Nudge, or set inactivity_nudge on the agent config directly.
FieldTypeDefaultDescription
timeout_secondsnumber30Seconds of silence before the first nudge. Must be greater than 0.
nudge_interval_secondsnumber15Seconds between nudges, and the final grace period before hanging up. Must be greater than 0.
nudgesarraytwo-nudge defaultOrdered list of nudges, one per attempt. Must contain at least one.

Nudges

Each entry in nudges is one attempt. There are two kinds, mirroring the agent’s starting message:
TypeBehaves likeField
bot_initiates_staticExact text — spoken verbatimtext
bot_initiates_dynamicUse instructions — the LLM generates the line from your instructionsprompt
Both text and prompt support template variables, so a nudge can reference the caller’s name or other conversation data. A dynamic nudge is generated in the agent’s own voice and language; a static nudge is always the exact words you provide. The number of nudges is simply the length of the list — the agent makes that many attempts, spaced by nudge_interval_seconds, then hangs up.

Example

{
  "inactivity_nudge": {
    "timeout_seconds": 30,
    "nudge_interval_seconds": 15,
    "nudges": [
      {
        "type": "bot_initiates_dynamic",
        "prompt": "The caller has gone quiet. Warmly check if they're still there."
      },
      {
        "type": "bot_initiates_static",
        "text": "I'll let you go for now — feel free to call us back any time. Goodbye!"
      }
    ]
  }
}
This agent waits 30 seconds of silence, asks a contextual check-in, waits another 15 seconds, speaks a fixed sign-off, waits 15 more seconds, and then hangs up.

Tuning

Raise timeout_seconds so the agent waits longer before its first nudge — useful when callers commonly pause to look something up or read a document. Raising nudge_interval_seconds gives them more time to respond between nudges.
The number of attempts is the length of nudges. Add entries for more chances, or use a single nudge to hang up sooner after one unanswered check-in.
Use bot_initiates_static nudges with exact text when you want the same words every time — for example a non-English agent, or a sign-off that must match brand voice. Dynamic nudges vary with the agent’s persona and language.

Interaction with other features

  • Voicemail detection. On outbound calls, voicemail detection handles answering machines. The inactivity nudge stays out of the way while voicemail detection is deciding, so the two never talk over each other.
  • Text and chat. Silence is normal in text conversations, so the inactivity nudge never fires there.

Voicemail detection

Detect answering machines on outbound calls and leave a message.

Conversation dynamics

Tune turn-taking, interruptions, and how long the agent waits before responding.

Starting message

The greeting the agent opens with — nudges reuse the same static/dynamic options.

Abilities and actions

How call actions like hang-up are grouped into tools the model calls.