Skip to Content
TechnicalConfiguration map

Configuration map

This section explains where SCL configuration lives, which component owns it, and how a configuration problem affects the learner journey. It is a map of the current system, not a secret-management runbook.

Never store client secrets, bearer tokens, APIM keys, connection strings, or personal data in this portal. Use the approved Azure, Azure DevOps, Key Vault, and platform access controls for those values.

Configuration at a glance

ComponentEnvironment-specific configurationOwnerMain dependenciesEffect of an incorrect configuration
SCL frontendStatic Web App URL, Role Play Evaluation API URL, APIM subscription key, build variablesSCL frontend teamAzure Static Web Apps, Evaluation API, host platformThe application cannot load role-play data, evaluate a session, or complete the deployment
Azure Static Web AppsAuthentication provider, AAD client setting names, routes, CSP, deployment tokenPlatform/infrastructure teamMicrosoft Entra ID, Azure DevOpsUsers cannot sign in or the portal is not protected as intended
Role Play Evaluation APITableStorage, IntegrationCredentials, AiFactory, LearningPlatformIntegration, and Analytics sectionsBackend teamAzure Storage, Integration Credentials, AI Factory, LPI, AnalyticsCatalog, voice, evaluation, completion, or telemetry paths fail
API ManagementAPI hostname, product/subscription policy, route prefix, CORS and edge securityPlatform/infrastructure teamEvaluation API App Service, certificates, firewall/private networkingRequests are rejected, routed to the wrong service, or bypass the approved edge
ScaiAgents tableAgent IDs, SCAI and AI Factory URLs, environment, DNIS, active stateRole Play/backend operationsSCAI, Integration CredentialsThe associated Role Play is unavailable or voice/evaluation cannot start
RolePlays tableRole Play identity, agent link, blob names, session JSON, optional completion/analytics IDs, active stateRole Play/backend operationsScaiAgents, Blob Storage, Evaluation APIThe briefing, voice practice, evaluation, completion, or analytics behaviour is incorrect
Blob containershelpinfo, evaluationcriteria, and roleplayinfo content filesRole Play/content ownersAzure Blob Storage, Role Plays tableMissing or invalid content produces incomplete briefing/help or weak evaluation behaviour
SCAISpecialized Role Play agent, default macro-prompt disabled, character behaviour, browser voice channel, DNIS, language, ElevenLabs voice, active stateSCAI teamApproved design handoff, voice provider, browser WebRTC/WebSocket pathThe AI may act as a customer-service representative instead of the customer, or the learner cannot establish the voice conversation
Integration CredentialsEnvironment mappings and protected integration credentialsIntegration platform teamSCAI, AI Factory, AnalyticsTechnical-token acquisition fails for the affected integration
AI FactoryBackend endpoint and model/evaluation integrationAI/evaluation platform teamEvaluation criteria, Integration CredentialsFeedback generation fails or returns an invalid evaluation
Learning Platform IntegrationTarget platform registration and completion delivery configurationLearning platform teamRole Play target platform, learner upn and cmid claimsFeedback can succeed while completion is skipped or delivered asynchronously later
SCL AnalyticsTenant, source, schema, queue and delivery configurationAnalytics/platform teamRole Play analytics tenant, Integration CredentialsThe learner flow continues but analytics sessions/events are missing

Frontend configuration

The browser application uses these non-secret configuration names:

NamePurpose
VITE_ROLEPLAY_EVALUATION_API_BASE_URLBase URL for catalog, evaluation, analytics-proxy, and unload requests
VITE_ROLEPLAY_EVALUATION_API_SUBSCRIPTION_KEYAPIM subscription control for the Evaluation API; it is visible in a static browser bundle and is not an authorization boundary
VITE_INTEGRATION_CREDENTIALS_API_BASE_URLBase URL used to obtain SCAI application tokens
VITE_INTEGRATION_CREDENTIALS_SUBSCRIPTION_KEYAPIM subscription control for Integration Credentials
VITE_DEBUG_CONNECTIONDevelopment-only connection logging switch

The host platform remains responsible for the learner bearer token, iframe launch, token refresh, and microphone permission. See Embed SCL.

Backend configuration sections

The Evaluation API validates critical settings at startup. The names below describe the configuration contract without exposing values:

  • TableStorage: table names, partition keys, blob container names, queue names, and the protected storage connection string.
  • IntegrationCredentials: base URL, token path templates, timeout, and protected subscription key.
  • AiFactory: evaluation request timeout; the endpoint is resolved from the active SCAI agent record.
  • LearningPlatformIntegration: base URL, audience, timeout, source product/environment, and protected subscription key.
  • Analytics: base URL, tenant fallback, source ID, schema version, timeout, and protected subscription key.

Configuration is supplied per environment through Azure App Service settings, infrastructure parameters, Azure DevOps variable groups, and managed identities. The repository must contain only safe defaults, examples, and parameter names.

Storage relationships

The catalog is a joined configuration rather than one isolated table row:

SCAI agent in SCAI ScaiAgents row ── ScaiAgentId ──► RolePlays row ├──► helpinfo blob ├──► evaluationcriteria blob └──► roleplayinfo blob

The runtime requires both the Role Play and its associated SCAI agent to exist and be active. A Role Play row whose referenced blobs or agent are missing is not a complete publication.

Environment checklist

  • The frontend points to the APIM hostname for the intended environment.
  • The API, storage account, queues, and blob containers belong to the same environment.
  • The ScaiAgents.Environment value matches the Integration Credentials route configuration.
  • The SCAI team created a specialized Role Play agent, disabled the default customer-service macro-prompt, and configured its DNIS and ElevenLabs voice.
  • SCAI, AI Factory, LPI, and Analytics endpoints are the approved environment endpoints.
  • Azure Static Web Apps authentication settings refer to the approved Entra ID registration.
  • Secrets are injected through the approved secret store or deployment variable group and are not committed to source control.
  • The public portal and API edge use HTTPS and the approved domain/certificate configuration.

For the manual Role Play publication flow, see Create and provision a role-play. For runtime behaviour, see Architecture and Identity and token hand-off.