Bicep version
N/a, using AzureResourceManagerTemplateDeployment@3 in Azure DevOps Server 25H2 (on-premise)
Resource and API version
Microsoft.Graph/servicePrincipals@v1.0 combined with Microsoft.Graph/applications@v1.0
Auth flow
Automated. Service connection authenticates with/via app registration using a certificate towards Azure.
Deployment details
Correlation id: e48512ff-cb2c-4d2b-8fe8-5bd8f673b61f
Start time: 18-8-2026, 14:48:50
Describe the bug
When deploying, both defined in a seperate file/module, an app registration and service principal referencing the app registration's appId, it fails with: The language expression property 'appId' doesn't exist, available properties are 'displayName, uniqueName, identifierUris, api, appRoles, owners'.
When they are defined in a directly deployed bicep, all goes well.
To Reproduce
deploy.bicep:
// Left params out since not relevant.
module appRegistration './app-registration.bicep' = {
name: 'appRegistrationDeployment-${depName}'
params: {
name: appRegistrationName
}
}
app-registration.bicep:
// Left params out since not relevant.
resource appRegistration 'Microsoft.Graph/applications@v1.0' = {
displayName: name
uniqueName: name
}
resource servicePrincipal 'Microsoft.Graph/servicePrincipals@v1.0' = {
appId: appRegistration.appId
}
Additional context
It seems like it has something to do with it being in a module. Using another name for the resource does not help either, tried that to be sure it was not related to that.
Bicep version
N/a, using AzureResourceManagerTemplateDeployment@3 in Azure DevOps Server 25H2 (on-premise)
Resource and API version
Microsoft.Graph/servicePrincipals@v1.0 combined with Microsoft.Graph/applications@v1.0
Auth flow
Automated. Service connection authenticates with/via app registration using a certificate towards Azure.
Deployment details
Correlation id: e48512ff-cb2c-4d2b-8fe8-5bd8f673b61f
Start time: 18-8-2026, 14:48:50
Describe the bug
When deploying, both defined in a seperate file/module, an app registration and service principal referencing the app registration's appId, it fails with: The language expression property 'appId' doesn't exist, available properties are 'displayName, uniqueName, identifierUris, api, appRoles, owners'.
When they are defined in a directly deployed bicep, all goes well.
To Reproduce
deploy.bicep:
app-registration.bicep:
Additional context
It seems like it has something to do with it being in a module. Using another name for the resource does not help either, tried that to be sure it was not related to that.