Skip to content
logic appsintegrationazurecafnaming conventions

Azure Logic App Naming Conventions: Consumption vs Standard

Naming Azure Logic Apps with CAF. Consumption workflows are resource-group scoped (1 to 43 characters); Standard logic apps are Microsoft.Web hostnames (globally unique, 2 to 60). Plus Terraform.

Tushar Verma · · 4 min read

Use the CAF prefix logic for Logic Apps, for example logic-orders-prod-eus-001. Which rules apply depends on the hosting model: a Consumption logic app is a workflow resource, 1 to 43 characters, resource-group scoped. A Standard logic app runs on Microsoft.Web (like a Function App), so its name becomes a globally unique azurewebsites.net hostname, 2 to 60 characters.

Logic App naming has a hidden fork that trips people up: there are two hosting models, and they are two completely different Azure resource types with different naming rules. Get the model right and the rules follow.

Two hosting models, two sets of rules

ConsumptionStandard
Resource typeMicrosoft.Logic/workflowsMicrosoft.Web/sites (kind: workflowapp)
CAF prefixlogiclogic
Length1 to 432 to 60
CharactersAlphanumerics, hyphens, underscores, periods, parenthesesAlphanumerics and hyphens
Scope of uniquenessResource groupGlobal (becomes a hostname)
Becomes a hostname?NoYes: <name>.azurewebsites.net

A Standard logic app is hosted on the same platform as App Service and Functions, which is why its name is a public DNS hostname and has to be globally unique. A Consumption logic app is a plain workflow resource scoped to its resource group, so its only real constraint is the tight 43-character limit.

The CAF pattern

Both models use the same prefix:

logic-{workload}-{environment}-{region}-{instance}

Examples:

ScenarioName
Order processing workflow, productionlogic-orders-prod-eus-001
Invoice sync, devlogic-invoicesync-dev-eus-001
Onboarding automation, productionlogic-onboarding-prod-eus-001

Consumption logic apps

The 43-character limit is the thing to watch, it is tighter than most resources. With a 6-character logic- prefix you have 37 left, so a company prefix plus a long workload can overflow. Drop the region or company before shortening the workload:

logic-contoso-orderprocessing-prod-eus-001   ← 43 chars, at the edge
logic-orderprocessing-prod-001               ← dropped company and region

Characters are liberal (hyphens, underscores, periods, parentheses all allowed), so readability is easy. The name is resource-group scoped, so it only needs to be unique within its resource group.

Standard logic apps

A Standard logic app is a Microsoft.Web/sites resource, so it behaves exactly like a web or function app: the name becomes <name>.azurewebsites.net, must be globally unique, and is 2 to 60 characters with only alphanumerics and hyphens. Check availability before deploying, and treat the name as internet-visible. Like a Function App, it also needs a storage account and an App Service (or Workflow Standard) plan, name those with the usual st and asp prefixes. See the App Service and Function naming guide for the full hostname rules that apply here too.

A Logic App rarely stands alone. Its companions:

ResourceCAF prefixExample
Integration accountiaia-payments-prod-eus-001
API connectionconcon-servicebus-prod-eus-001
Service Bus namespacesbnssbns-payments-prod-eus-001

The triggers and actions inside a workflow are named within the app, not as Azure resources, so they follow your team’s readability preference rather than CAF.

Naming in Terraform

Consumption:

resource "azurerm_logic_app_workflow" "orders" {
  name                = "logic-orders-${var.environment}-${var.region}-001"
  resource_group_name = azurerm_resource_group.main.name
  location            = azurerm_resource_group.main.location
}

Standard (hosted like a function app, needs a plan and storage account):

resource "azurerm_logic_app_standard" "orders" {
  name                       = "logic-orders-${var.environment}-${var.region}-001"
  resource_group_name        = azurerm_resource_group.main.name
  location                   = azurerm_resource_group.main.location
  app_service_plan_id        = azurerm_service_plan.main.id
  storage_account_name       = azurerm_storage_account.logic.name
  storage_account_access_key = azurerm_storage_account.logic.primary_access_key
}

Common mistakes

Exceeding 43 characters on Consumption. It is one of the tightest limits in Azure. Design for it.

Assuming a Standard logic app name is private. It is a public hostname the moment you deploy. Check availability early.

Not distinguishing the two models. They are different resource types with different rules. Decide Consumption versus Standard before you name anything.

Summary

  • Both models use the logic prefix and the standard CAF pattern
  • Consumption: Microsoft.Logic/workflows, 1 to 43 characters, resource-group scoped, liberal characters
  • Standard: Microsoft.Web/sites, 2 to 60 characters, globally unique hostname, plus a storage account and plan
  • Watch the 43-character Consumption limit

Full rules are on the Logic App naming page. AzureNamer generates Logic App names and every companion resource. See the complete CAF guide for the pattern behind the prefix.

Try AzureNamer

Generate CAF compliant names for all 200+ Azure resource types, free, no login required.

Open the Generator →