Skip to main content

Configure application variables

Set application variables to pass configuration to your app's build and running HTTP process. Each new version captures the values saved when it is created. Saving alone does not change a running version.

Prerequisites​

  • An existing Builder app and preview access.
  • Permission to update the app; retrieving variable values requires permission for the separate listVariables action.
  • An authenticated ARM client if you use the ARM tab. See the ARM API deployment guide for management authentication.
  • An installed and signed-in Builder CLI if you use the CLI tab.

All components receive these values during build. Static builds can embed them in public assets; review the secret-handling boundaries before adding credentials.

Set variables​

  1. Open the app's Variables page.
  2. Choose Add variables and enter names and values. Editing one existing variable can intentionally replace its value with an empty string.
  3. Choose Save only to persist the desired list, or Save and deploy to save and request a new build.
  4. If you requested deployment, follow it in Deployments. If saving succeeds but deployment cannot start, your values remain saved. Retry deployment instead of re-entering the values.

Verify the change​

Wait for deployment success and confirm that the active version is the version you just built. Check the intended behavior in the running app without displaying credentials or environment dumps. Ordinary app reads show variable names, not values, so a refreshed name list alone does not prove that the running version changed.

Understand build and runtime values​

All components receive the same values during build, and HTTP processes receive them at runtime. There is no per-component list or runtime-only secret setting. Static files have no runtime environment; frontend builds may embed values into browser-readable output. Treat any value used by a client-side build as potentially public.

Saving values does not mutate running compute or existing versions. Retained-version activation uses that version's historical values, not the newly saved desired list. Use Save and deploy or a new build when current values must be captured.

Secrets and sensitive values​

Treat every variable value as sensitive, including ordinary configuration such as LOG_LEVEL. An authorized POST .../listVariables request returns all current desired values, not one selected value or a historical version snapshot. Restrict access to that action and avoid recording its response, credentials, or environment dumps in logs. Write-only on ordinary reads does not prevent authorized retrieval or protect a value embedded into static assets.

Built-in secretValue and keyVaultReference fields are not supported. Access to a separate secret store must be implemented in your application. Your app can read Key Vault with its managed identity; Builder does not automatically resolve Key Vault references. See connecting to services and security guidance.

Variable limits​

Names follow [A-Za-z_][A-Za-z0-9_]*, are at most 256 characters, and must be unique ignoring case. PORT and names beginning with EMBR_ are reserved ignoring case. The list allows 100 entries, a value allows 32,768 UTF-8 bytes, and all names plus values allow 65,536 UTF-8 bytes.

Deployments explains version capture and activation. Managed identity explains credential-free Azure access, including the AZURE_CLIENT_ID variable.