Available template variables
Use
${'${variableName}'} in any prompt. They are substituted at call time.
${'${avatarName}'}
${'${gender}'}
${'${country}'}
${'${profession}'}
${'${professionMetadata}'}
${'${avatarPrompt}'}
${'${userName}'}
${'${cefrLevel}'}
${'${timezone}'}
${'${timeOfDay}'}
${'${todayDate}'}
${'${userLatestMemoryContext}'}
System prompt (Gemini path)
Used by the Gemini-default flow. Mirrors
formatSystemContentForIceBreaker in prod.System prompt (AWS Bedrock path)
Used when LLM provider = Bedrock. Mirrors
buildAwsAiReplySystemPrompt in prod and enforces a JSON output schema.User first-turn prompt
Injected as the first user message so the AI knows to start the conversation. Mirrors
formatUserContentForIceBreaker.Memory wrapper
Wraps the user's stored memory into a system message. Only used when the memory toggle is on.
First-message variants (intro turn shortcut)
Used by
POST /chatWithAI/getAIReply when isIntro=true. The active variant comes from Settings.Transcription-only prompt
Used by the Gemini-audio STT path when the main reply call doesn't return a transcript.