Table of Contents

Using App Configuration for Branding

Configure User Portal branding and Agent Portal themes directly in Azure App Configuration.

Overview

Branding and theme settings are plain Azure App Configuration key-values. Setting them directly is useful for deployment automation and for keeping environments consistent. The Themes page in the Management Portal reads and writes the same keys.

User Portal Branding Keys

All branding keys follow the pattern FoundationaLLM:Branding:{SettingName}. See the Branding Reference for the defaults.

Text and image settings

Key Description
FoundationaLLM:Branding:CompanyName Organization name
FoundationaLLM:Branding:PageTitle Browser tab title
FoundationaLLM:Branding:LogoText Text shown next to or instead of the logo
FoundationaLLM:Branding:LogoUrl Logo image URL or relative path
FoundationaLLM:Branding:FavIconUrl Favicon URL or relative path
FoundationaLLM:Branding:AgentIconUrl Default agent icon (URL, relative path, or base64 value)
FoundationaLLM:Branding:FooterText Footer HTML
FoundationaLLM:Branding:NoAgentsMessage HTML shown when a user has no agents
FoundationaLLM:Branding:DefaultAgentWelcomeMessage HTML shown when the selected agent has no welcome message

Color settings

Key Format
FoundationaLLM:Branding:PrimaryColor Hex or RGB
FoundationaLLM:Branding:PrimaryTextColor Hex or RGB
FoundationaLLM:Branding:SecondaryColor Hex or RGB
FoundationaLLM:Branding:SecondaryTextColor Hex or RGB
FoundationaLLM:Branding:AccentColor Hex or RGB
FoundationaLLM:Branding:AccentTextColor Hex or RGB
FoundationaLLM:Branding:BackgroundColor Hex or RGB
FoundationaLLM:Branding:PrimaryButtonBackgroundColor Hex or RGB
FoundationaLLM:Branding:PrimaryButtonTextColor Hex or RGB
FoundationaLLM:Branding:SecondaryButtonBackgroundColor Hex or RGB
FoundationaLLM:Branding:SecondaryButtonTextColor Hex or RGB

Mode settings

Key Values
FoundationaLLM:Branding:KioskMode true or false
FoundationaLLM:Branding:ManagementPortalDefaultTheme Optional. dark, light, or system. Defaults to dark.

Agent Portal Theme Keys

Key Content type Value
FoundationaLLM:AgentPortal:Themes:Manifest application/json Catalog manifest
FoundationaLLM:AgentPortal:Themes:{ThemeId} application/json One theme document per theme id (first letter of the id capitalized in the key)

When you add a theme, write the theme document first and then update the manifest so that themeIds (and, if users may choose it, allowedThemeIds) include the new id. See the Branding Reference for the validation rules.

Tip

Use Export theme on the Themes page to get a valid theme document as a starting point.

Set Values in the Azure Portal

  1. Open your Azure App Configuration resource.
  2. Select Configuration explorer.
  3. Select + Create > Key-value.
  4. Enter the key (for example FoundationaLLM:Branding:CompanyName) and the value.
  5. For Agent Portal theme keys, set Content type to application/json.
  6. Select Apply.

Set Values with the Azure CLI

# Text value
az appconfig kv set \
  --name <app-config-name> \
  --key "FoundationaLLM:Branding:CompanyName" \
  --value "Contoso"

# Color value
az appconfig kv set \
  --name <app-config-name> \
  --key "FoundationaLLM:Branding:PrimaryColor" \
  --value "#1a2b3c"

# Agent Portal theme document
az appconfig kv set \
  --name <app-config-name> \
  --key "FoundationaLLM:AgentPortal:Themes:Contoso" \
  --content-type "application/json" \
  --value @contoso-theme.json

Set Values with Bicep

resource appConfig 'Microsoft.AppConfiguration/configurationStores@2023-03-01' existing = {
  name: appConfigName
}

resource brandingCompanyName 'Microsoft.AppConfiguration/configurationStores/keyValues@2023-03-01' = {
  parent: appConfig
  name: 'FoundationaLLM:Branding:CompanyName'
  properties: {
    value: 'Contoso'
  }
}

Value Format Notes

  • Colors: #RRGGBB, #RGB, or rgb(R, G, B).
  • Rich text fields (FooterText, NoAgentsMessage, DefaultAgentWelcomeMessage): valid HTML.
  • Theme documents: valid JSON that matches the theme schema. Unknown properties are rejected.

Picking Up Changes

The portals read these values when they load configuration. Refresh the browser after changing values. Some branding values are bound by the Core API at startup, so restart the Core API if a direct App Configuration change does not appear in the User Portal.