Skip to content

AI Agents

AI agents are the core of SpeakNode. Each agent is a configurable voice assistant that can hold real-time conversations with users.

Agent Configuration

Basic Settings

  • Title — agent name (up to 50 characters)
  • System Prompt — instructions that define agent behavior, personality, and knowledge. Supports dynamic variables with {{ variable_name }} syntax
  • Temperature — controls randomness of LLM responses (0 = deterministic, 1 = creative)
  • Token Limit — maximum token usage per conversation

Language & Localization

Each agent supports multiple languages. Per language you configure:

  • First Message — greeting the agent says when the conversation starts
  • TTS Voice — text-to-speech voice and provider
  • Speech Speed — playback speed multiplier
  • Background Sound — ambient sound during conversation (silence, office, coffee shop, etc.)

The agent can automatically detect the user's language and switch to the appropriate locale.

LLM Model

Select the large language model that powers the agent's reasoning:

  • Provider and model version (OpenAI, OpenRouter, etc.)
  • Temperature and additional model-specific properties

Speech-to-Text (STT)

Configure how the agent transcribes user speech:

  • STT model and provider (Azure Speech, etc.)
  • Model-specific properties

Voice Activity Detection (VAD)

Controls how the agent detects when the user is speaking:

  • VAD model selection
  • Sensitivity and timing parameters
  • Option to disable interruptions during the first message

Voice (TTS)

Configure the agent's speaking voice per language:

  • TTS provider (ElevenLabs, Azure Speech, Minimax, etc.)
  • Voice selection and voice-specific settings
  • Speed adjustment
  • Background sound type and volume

Dynamic Variables

Agents support dynamic variables in system prompts and first messages. Variables are defined using OpenAPI schema and substituted at dispatch time.

Example system prompt:

You are a customer support agent for {{ company_name }}. 
The customer's name is {{ customer_name }} and their order ID is {{ order_id }}.

Variables can be passed via:

  • API dispatch call
  • URL parameters (for widget)
  • Campaign item data (for outbound calls)

Each variable has:

  • Name
  • Type (string, number, boolean, integer)
  • Description
  • Default/fallback value
  • Nullable flag

Agent Tools

Agents can call external APIs during a conversation. See Tools & Integrations for details.

Publishing

Agents can be published to make them accessible:

  • Published agent — accessible via public URL for testing
  • Widget — embeddable on any website
  • Phone number — linked to inbound/outbound telephony
  • API — dispatched programmatically

Agent Duplication

Any agent can be duplicated to create a copy with all settings preserved. Useful for creating variations or templates.