Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tryhamsa.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Change Agent Settings nodes override global agent settings from a specific point in the flow. Any setting you override applies from that node forward until another Change Agent Settings node overrides it again or the call ends. Key characteristic: No conversation, no user interaction. The node applies setting overrides and immediately advances to the next node.

When to Use

Use Change Agent Settings nodes to:
  • Switch voice mid-conversation (e.g., different voice for different departments)
  • Change language — switch STT model or voice for multilingual flows
  • Adjust call behavior — enable/disable interruptions for critical messages
  • Swap system prompt — different persona or instructions for different flow sections
  • Modify response timing — faster or slower responses based on context

Core Configuration

{
  type: "change_agent_settings",
  label?: string,
  description?: string,

  // Settings to override
  settingsOverrides: {
    // System Prompt
    systemInstructions?: string,

    // Voice Settings
    voiceId?: string,
    expressiveness?: number,        // 0.0–2.0
    preferredSttModel?: "Hamsa-STT-S2" | "Hamsa-STT-S3-beta" | "Hamsa-STT-English",
    voiceDictionaryIds?: string[],

    // Call Settings
    interrupt?: boolean,
    responseDelay?: number,         // 100–1500ms
    userInactivityTimeout?: number, // 5–60s
    minInterruptionDuration?: number, // 0.2–1.5s
    vadActivationThreshold?: number,  // 0.2–0.9
  },

  // Transition (automatic — cannot be modified)
  transitions: Transition[]
}
Only toggle settings you want to override. Disabled settings inherit from global defaults or upstream Change Agent Settings nodes.

Overridable Settings

The form is organized into three collapsible sections. Each section shows a badge with the number of active overrides.

System Prompt

Override the system prompt for all conversation nodes after this point.
Change Agent Settings: Switch_To_Sales_Persona
  overrides:
    systemInstructions: |
      You are a sales specialist for Acme Corp.
      Focus on understanding the customer's needs and recommending solutions.
      Be enthusiastic but not pushy.

Voice Settings

Change the voice, expressiveness, STT model, or pronunciation dictionaries.
Change Agent Settings: Switch_Voice
  overrides:
    voiceId: "arabic-female-voice-id"
    expressiveness: 1.5
    preferredSttModel: "Hamsa-STT-S2"

Call Settings

Adjust call behavior — interruption handling, response timing, and VAD sensitivity.
Change Agent Settings: Disable_Interruptions
  overrides:
    interrupt: false
    responseDelay: 200

How Overrides Work

Inheritance Chain

Settings flow through the chain: Global Settings → Change Agent Settings nodes (in flow order) If multiple Change Agent Settings nodes exist in a path, each one only overrides the specific settings it defines. All other settings continue to inherit from upstream.
Global: voice=A, interrupt=true, delay=400ms
  → Change Settings Node 1: voice=B
    (effective: voice=B, interrupt=true, delay=400ms)
  → Change Settings Node 2: interrupt=false
    (effective: voice=B, interrupt=false, delay=400ms)

Reset Button

Each section has a reset button that removes all overrides in that section, reverting those settings to their inherited values.

Use Cases & Examples

Example 1: Language Switch

Switch voice and STT model when routing to a different language.
Router Node: Language_Router
  transitions:
    - Equation: {{preferred_language}} == "ar" → Arabic_Settings
    - Always → English_Settings

Change Agent Settings: Arabic_Settings
  overrides:
    voiceId: "arabic-voice-id"
    preferredSttModel: "Hamsa-STT-S2"
  → Arabic_Conversation

Change Agent Settings: English_Settings
  overrides:
    voiceId: "english-voice-id"
    preferredSttModel: "Hamsa-STT-English"
  → English_Conversation

Example 2: Disable Interruptions for Important Messages

Change Agent Settings: No_Interrupts
  overrides:
    interrupt: false
  → Important_Announcement

Conversation Node: Important_Announcement
  message: "Please listen carefully to the following terms and conditions..."
  → Re_Enable_Interrupts

Change Agent Settings: Re_Enable_Interrupts
  overrides:
    interrupt: true
  → Continue_Flow

Example 3: Department-Specific Persona

Change Agent Settings: Sales_Mode
  overrides:
    systemInstructions: |
      You are a sales specialist. Focus on understanding needs
      and recommending the right product package.
    voiceId: "energetic-voice-id"
    expressiveness: 1.8
  → Sales_Conversation

Static Variables

Change Agent Settings nodes also support setting static variables (same as the Set Local Variables node). Use the Variables section in the form to define variables alongside setting overrides.

Transitions

Change Agent Settings nodes use an automatic transition — they apply overrides and immediately advance to the next connected node. You cannot add, remove, or edit transitions on this node type.

Flow Examples

Pattern: Voice Switch by Department

Pattern: Temporary Override


Next Steps

Set Local Variables

Set variable values without conversation

Global Settings

Configure agent-level defaults

Conversation Node

Have conversations with overridden settings

Router Node

Route before changing settings