Skip to content

Here are comprehensive examples of Azure Landing Zone naming conventions, based on Microsoft’s Cloud Adoption Framework (CAF) best practices:

General Principles

  • Length: Keep names under 24 characters when possible
  • Consistency: Use the same convention across all resources
  • Readability: Use hyphens (-) for separation (not underscores)
  • Lowercase: Most Azure resources require lowercase names
  • Avoid: Special characters, spaces, reserved words

Naming Convention Structure

text

{prefix}-{environment}-{region}-{resource type}-{instance}-{suffix}

Common Abbreviations

  • Env: dev, test, stg/staging, prod, mgmt
  • Region: eus (East US), weu (West Europe), uks (UK South)
  • Resource Types:
    • rg = Resource Group
    • vnet = Virtual Network
    • vm = Virtual Machine
    • sa = Storage Account
    • kv = Key Vault
    • nsg = Network Security Group
    • pip = Public IP
    • nic = Network Interface Card

Core Landing Zone Components Examples

  1. Management Groups

text

– contoso-root

– contoso-landingzones

– contoso-platform

– contoso-decommissioned

– contoso-sandbox

  1. Subscriptions

text

– sub-platform-hub-prod-001

– sub-platform-spoke-prod-001

– sub-landingzone-app1-prod-001

– sub-landingzone-shared-dev-001

– sub-connectivity-prod-001

– sub-management-prod-001

  1. Resource Groups

text

– rg-network-hub-prod-weu-001

– rg-identity-prod-weu-001

– rg-security-prod-weu-001

– rg-monitoring-prod-weu-001

– rg-sharedservices-prod-weu-001

– rg-app1-frontend-prod-weu-001

  1. Networking

Virtual Networks:

text

– vnet-hub-prod-weu-001

– vnet-spoke-app1-prod-weu-001

– vnet-spoke-data-prod-weu-001

Subnets:

text

– snet-hub-gateway-prod-weu-001 (10.1.0.0/27)

– snet-hub-firewall-prod-weu-001 (10.1.0.32/27)

– snet-spoke-app1-frontend-prod-weu-001 (10.2.0.0/24)

– snet-spoke-app1-backend-prod-weu-001 (10.2.1.0/24)

Network Security Groups:

text

– nsg-hub-gateway-prod-weu-001

– nsg-spoke-app1-frontend-prod-weu-001

  1. Identity & Security

Key Vaults:

text

– kv-identity-prod-weu-001

– kv-app1-prod-weu-001

– kv-shared-prod-weu-001

Azure AD Applications:

text

– app-spn-app1-prod

– app-managed-id-app1-prod

  1. Storage

Storage Accounts:

text

– stalogsprodweu001   (Note: storage accounts have stricter naming)

– stadiagnosticsprodweu001

– staterraformstateprodweu001

  1. Monitoring

Log Analytics Workspace:

text

– law-monitoring-prod-weu-001

Application Insights:

text

– appi-app1-prod-weu-001

  1. Virtual Machines

text

– vm-app1-web01-prod-weu-001

– vm-app1-sql01-prod-weu-001

– vm-bastion01-prod-weu-001

  1. Azure Kubernetes Service

text

– aks-app1-prod-weu-001

– acr-app1-prod-weu-001

  1. Database Services

text

– sql-app1-prod-weu-001

– cosmosdb-app1-prod-weu-001

Environment-Specific Examples

Development Environment:

text

– rg-app1-frontend-dev-weu-001

– vnet-spoke-app1-dev-weu-001

– kv-app1-dev-weu-001

Production Environment:

text

– rg-app1-frontend-prod-weu-001

– vnet-spoke-app1-prod-weu-001

– kv-app1-prod-weu-001

Special Considerations

Global Resources (no region suffix):

text

– contoso.onmicrosoft.com  (Azure AD tenant)

– contoso.com              (Custom domain)

– trafficmanager-prod-001  (Traffic Manager)

Policy Definitions:

text

– policy-deploy-vnet-ddos-standard

– policy-enforce-tls-ssl

– policy-allowed-vm-skus

Tags (for consistent tagging):

text

– Department: “Finance”

– CostCenter: “12345”

– DataClassification: “Confidential”

– ApplicationOwner: “team@contoso.com”

Automation Templates

When using Infrastructure as Code (Terraform/Bicep/ARM):

bison

variables:

  prefix: “contoso”

  environment: “prod”

  region: “weu”

  application: “app1”

 

resource_name: “${var.prefix}-${var.environment}-${var.region}-${resource_type}-${var.application}-001”

Key Recommendations

  1. Start with a naming standard document and get stakeholder buy-in
  2. Use Azure Policy to enforce naming conventions
  3. Consider resource naming constraints (some have unique requirements)
  4. Document exceptions to the standard
  5. Review and update conventions periodically

This structure provides clarity, enables automation, and helps with cost management and security governance across your Azure Landing Zone.

Give me examples of Azure DevOps naming conventions

Azure DevOps Naming Conventions

General Principles

  • Consistency: Use the same conventions across projects
  • Clarity: Names should be self-explanatory
  • Lowercase: Use lowercase with hyphens for most artifacts
  • Avoid: Special characters, spaces, reserved words
  1. Organizations & Projects

Organization Naming:

text

– contoso-devops

– fabrikam-engineering

– northwind-corp

– tailwindtraders-ado

Project Naming:

text

– platform-engineering

– product-ecommerce

– infrastructure-cloud

– data-analytics

– mobile-app-ios

– api-gateway

– shared-services

– security-compliance

Project Structure Examples:

text

# By Product Line

– project-retail-web

– project-retail-mobile

– project-retail-api

 

# By Team Structure

– team-blue-frontend

– team-blue-backend

– team-blue-data

 

# By Environment Focus

– project-platform-ops

– project-app-dev

– project-data-engineering

  1. Repositories

Repository Naming Patterns:

text

# Application Code

– ecommerce-webapp

– payment-service

– user-profile-api

– inventory-microservice

 

# Infrastructure as Code

– terraform-modules

– bicep-templates

– arm-templates

– kubernetes-manifests

 

# Configuration & Scripts

– azure-policies

– pipeline-templates

– monitoring-config

– security-scripts

 

# Documentation

– docs-architecture

– docs-runbooks

– docs-api-spec

Monorepo vs. Multirepo:

text

# Monorepo Example

– monorepo-platform

  ├── /src/webapp

  ├── /src/api

  ├── /src/mobile

  ├── /infra

 

# Multirepo Examples

– webapp-frontend

– api-gateway

– user-service

– product-catalog-service

– order-processing-service

  1. Pipelines

Pipeline Naming Convention:

text

{project}-{component}-{purpose}-{environment}

Examples:

text

# CI Pipelines

– ecommerce-webapp-ci

– payment-service-ci

– shared-libraries-ci

– terraform-modules-ci

 

# CD/Release Pipelines

– ecommerce-webapp-cd-prod

– payment-service-cd-staging

– api-gateway-cd-dev

 

# Environment-Specific

– infra-deploy-dev

– infra-deploy-staging 

– infra-deploy-prod

– database-migrations-prod

 

# Specialized Pipelines

– security-scan-daily

– compliance-check-weekly

– cost-optimization-monthly

– disaster-recovery-drill

YAML Pipeline File Names:

text

/azure-pipelines/

├── webapp-ci.yml

├── webapp-cd-dev.yml

├── webapp-cd-prod.yml

├── infra-deploy.yml

├── container-build.yml

└── security-scan.yml

  1. Branches

Branch Naming Strategies:

GitFlow:

text

– main/master          (production)

– develop              (integration)

– feature/user-auth    (feature branches)

– release/v1.2.0       (release branches)

– hotfix/critical-bug  (hotfix branches)

– support/legacy-v1    (support branches)

GitHub Flow (Simpler):

text

– main

– feature/add-search-functionality

– bugfix/login-error

– hotfix/security-patch

– docs/update-readme

Team Conventions:

text

# With Ticket/Work Item ID

– feature/PROJ-123-add-login

– bugfix/PROJ-456-fix-null-ref

– hotfix/PROJ-789-security-fix

 

# With Author Initials

– feature/jdoe/new-dashboard

– bugfix/asmith/fix-crash

  1. Work Items & Boards

Work Item Prefixes:

text

– US: User Story

– TASK: Task

– BUG: Bug

– EPIC: Epic

– FEAT: Feature

– SPIKE: Spike/Research

– IMPV: Improvement

Area Paths:

text

# By Component

\Product Ecommerce\WebApp

\Product Ecommerce\API

\Product Ecommerce\Database

\Product Ecommerce\Mobile

 

# By Team

\Team Alpha\Backend

\Team Alpha\Frontend

\Team Alpha\DevOps

 

# By Capability

\Platform\Infrastructure

\Platform\Security

\Platform\Monitoring

Iteration Paths:

text

# Quarterly/Sprint Structure

\Sprints\FY2024\Q1\Sprint 1

\Sprints\FY2024\Q1\Sprint 2

\Sprints\FY2024\Q2\Sprint 1

 

# Or simpler

\Iterations\Sprint 24.01

\Iterations\Sprint 24.02

\Iterations\Sprint 24.03

  1. Variable Groups & Library

Variable Group Naming:

text

# Environment-Specific

– vg-app-config-dev

– vg-app-config-staging

– vg-app-config-prod

– vg-infra-secrets-prod

 

# Purpose-Specific

– vg-database-connection

– vg-api-keys

– vg-monitoring-config

– vg-security-settings

 

# Application-Specific

– vg-ecommerce-webapp-prod

– vg-payment-service-prod

Secure Files/Library:

text

– cert-wildcard-prod

– ssh-key-deployment

– config-appsettings-prod

– script-initialization

  1. Service Connections

Service Connection Naming:

text

# Azure

– sc-azure-dev-subscription

– sc-azure-prod-subscription

– sc-azure-management-subscription

 

# Kubernetes

– sc-aks-dev-cluster

– sc-aks-prod-cluster

 

# Container Registries

– sc-acr-shared

– sc-acr-prod

 

# Other Services

– sc-github-enterprise

– sc-jfrog-artifactory

– sc-sonarqube

– sc-slack-notifications

  1. Agent Pools & Agents

Agent Pool Naming:

text

– pool-ubuntu-agents

– pool-windows-agents

– pool-azure-vms

– pool-docker-agents

– pool-kubernetes-agents

 

# Environment-Specific

– pool-dev-agents

– pool-build-agents

– pool-deploy-prod-agents

Agent Tags:

text

– linux

– windows

– docker

– kubernetes

– dotnet

– java

– nodejs

– python

  1. Test Management

Test Plans:

text

– tp-ecommerce-sprint-24

– tp-payment-service-release-2.1

– tp-security-compliance-q3

– tp-performance-baseline

Test Suites:

text

– ts-webapp-regression

– ts-api-integration

– ts-mobile-smoke

– ts-database-migration

Test Cases:

text

TC-001: User Login with Valid Credentials

TC-002: User Login with Invalid Password

TC-003: Password Reset Flow

TC-004: User Profile Update

  1. Artifacts & Packages

Artifact Feed Naming:

text

– feed-nuget-internal

– feed-npm-shared

– feed-docker-images

– feed-maven-libraries

Package Naming:

text

# NuGet

– Contoso.Utilities.Core

– Contoso.DataAccess

– Contoso.Web.Middleware

 

# npm

– @contoso/ui-components

– @contoso/auth-library

– @contoso/config-utils

 

# Docker

– contoso.azurecr.io/webapp:1.0.0

– contoso.azurecr.io/api:latest

  1. Extensions & Marketplace Items

Custom Extension Naming:

text

– contoso-build-tasks

– contoso-security-scanner

– contoso-code-reviewer

– contoso-deployment-gates

  1. Permissions & Groups

Azure DevOps Groups:

text

# Built-in with Customization

– [Project]\Project Administrators

– [Project]\Build Administrators

– [Project]\Release Administrators

 

# Custom Groups

– [Project]\Security Auditors

– [Project]\Stakeholders View Only

– [Project]\External Contractors

Example Complete Structure:

text

Organization: contoso-devops

 

Projects:

├── platform-engineering

│   ├── Repos: terraform-modules, azure-policies, pipeline-templates

│   ├── Pipelines: infra-deploy-dev, infra-deploy-prod

│   └── Variable Groups: vg-platform-secrets-prod

├── product-ecommerce

│   ├── Repos: ecommerce-webapp, payment-service, user-service

│   ├── Pipelines: webapp-ci, payment-service-cd-prod

│   ├── Area Paths: \WebApp, \API, \Database

│   └── Test Plans: tp-ecommerce-sprint-24

└── shared-services

    ├── Repos: shared-libraries, docs-architecture

    ├── Artifact Feed: feed-nuget-internal

    └── Service Connections: sc-azure-dev, sc-acr-shared

Best Practices & Tips:

  1. Document Your Standards: Create a docs/devops-standards.md in your repos
  2. Use Naming Templates: Create templates for teams to follow
  3. Enforce with Policies: Use branch policies, required reviewers
  4. Regular Cleanup: Archive old projects, delete unused service connections
  5. Tag Everything: Use tags for categorization and search
  6. Review Periodically: Update conventions as organization evolves

These conventions help maintain order, enable automation, and improve collaboration across teams in Azure DevOps.

Give me examples of Azure Entra ID naming conventions

Azure Entra ID (Azure AD) Naming Conventions

General Principles

  • Consistency: Uniform naming across all identity objects
  • Clarity: Names should indicate purpose and ownership
  • Lowercase: Use lowercase for most objects (except where noted)
  • Uniqueness: Ensure global uniqueness where required
  • Security: Avoid exposing sensitive information in names
  1. Tenants & Domains

Tenant Naming:

text

# Primary Tenant

– contoso.onmicrosoft.com

 

# Custom Domains

– corp.contoso.com          (primary corporate domain)

– mail.contoso.com          (email/exchange)

– auth.contoso.com          (authentication)

– dev.contoso.com           (development)

– legacy.contoso.com        (legacy systems)

Tenant Type Indicators:

text

– contoso-prod.onmicrosoft.com      (production)

– contoso-dev.onmicrosoft.com       (development)

– contoso-uat.onmicrosoft.com       (user acceptance testing)

– contoso-sandbox.onmicrosoft.com   (sandbox/testing)

  1. Users & Groups

User Principal Names (UPN):

text

# Employee Standard

– john.doe@corp.contoso.com

– jane.smith@corp.contoso.com

 

# Contractors/Vendors

– contractor.alex@corp.contoso.com

– vendor-bob@corp.contoso.com

 

# Service Accounts (see dedicated section below)

– svc-pipeline@corp.contoso.com

Display Names:

text

# Standard Format

– Doe, John (IT Department)

– Smith, Jane (Finance)

 

# With Location/Title

– Johnson, Mark – Senior Developer (NYC)

– Lee, Sarah – Finance Manager (LON)

 

# Service Accounts

– [SVC] Pipeline Deployment Account

– [SVC] Backup Service Account

Groups Naming Convention:

text

{type}-{scope}-{purpose}-{location}-{environment}

Security Groups:

text

# Role-Based Groups

– sg-global-admins

– sg-it-admins

– sg-finance-users

– sg-hr-managers

 

# Access Groups

– sg-app-salesforce-users

– sg-app-sap-access

– sg-sharepoint-members

 

# Location-Based

– sg-office-nyc-users

– sg-region-eu-employees

– sg-country-us-contractors

 

# Project/Team Based

– sg-project-alpha-team

– sg-team-data-science

– sg-department-marketing

Microsoft 365 Groups:

text

# Collaboration Groups

– grp-team-marketing

– grp-project-beta

– grp-department-hr

 

# With Purpose Indicator

– grp-team-sales-collab        (Teams/SharePoint)

– grp-project-gamma-comm       (Email distribution)

– grp-committee-security       (Committee)

Distribution Lists:

text

– dl-all-employees

– dl-it-department

– dl-managers-usa

– dl-alerts-critical

  1. Service Principals & Managed Identities

Service Principal Names (Applications):

text

# Application Registration Names

– app-salesforce-prod

– app-workday-integration

– app-api-gateway

– app-powerbi-embed

 

# With Environment

– app-ecommerce-api-prod

– app-ecommerce-api-dev

– app-monitoring-tool-staging

 

# By Purpose

– app-ci-cd-pipeline

– app-terraform-deploy

– app-backup-service

Managed Identities:

text

# System-Assigned

– mi-vm-webserver01-prod

– mi-aks-cluster-prod

– mi-functions-app-prod

 

# User-Assigned

– umi-shared-services-prod

– umi-pipeline-identity

– umi-monitoring-agent

Enterprise Applications:

text

– ent-salesforce-production

– ent-service-now-prod

– ent-okta-sso

– ent-cisco-anyconnect

  1. Administrative Units & Roles

Administrative Units:

text

– au-location-nyc

– au-department-finance

– au-project-phoenix

– au-region-europe

– au-division-retail

Custom Role Names:

text

# Least Privilege Roles

– role-helpdesk-admin

– role-app-owner-salesforce

– role-user-manager

 

# Scope-Specific

– role-azure-subscription-owner

– role-entra-id-reader

– role-cost-management

 

# Function-Based

– role-password-admin

– role-guest-inviter

– role-license-admin

  1. Devices & Registrations

Device Names:

text

# Corporate Devices

– device-laptop-jdoe-001

– device-mobile-jdoe-iphone

– device-vdi-session-001

 

# Azure AD Joined

– aadj-pc-nyc-1012

– aadj-laptop-dev-0456

– aadj-server-sql01

 

# Hybrid Joined

– hadj-pc-finance-7890

– hadj-laptop-sales-2345

Device Registration Policy:

text

– policy-device-registration-corporate

– policy-device-registration-byod

– policy-device-compliance-baseline

  1. Conditional Access & Policies

Conditional Access Policies:

text

# Risk-Based Policies

– cap-high-risk-block-all

– cap-medium-risk-mfa

– cap-signin-risk-remediate

 

# Location-Based

– cap-block-high-risk-countries

– cap-require-mfa-external

– cap-trusted-locations-only

 

# Application-Specific

– cap-salesforce-require-mfa

– cap-admin-portals-strict

– cap-vpn-access-requirements

 

# User-Based

– cap-contractors-restricted

– cap-executives-secure

– cap-service-accounts-audit

Named Locations:

text

– location-office-nyc

– location-office-london

– location-vpn-range

– location-partner-company

Authentication Methods Policy:

text

– policy-mfa-enforcement

– policy-fido2-registration

– policy-temporary-access

  1. B2B & External Identities

Guest Users:

text

# External Partners

– guest-alex-partner@external.com

– guest-bob-vendor@company.com

 

# With Relationship Tag

– partner-contoso-alex@external.com

– vendor-acme-bob@company.com

– contractor-delta-charlie@consulting.com

B2B Collaboration Settings:

text

– policy-b2b-invitation-partners

– policy-b2b-redemption-limited

– settings-b2b-collaboration

External Identities (B2C/Custom):

text

# B2C Tenants

– contoso-b2c.onmicrosoft.com

– contoso-retail.onmicrosoft.com

– contoso-customers.onmicrosoft.com

 

# Custom Policies

– policy-signup-signin-customers

– policy-profile-editing

– policy-password-reset

  1. Applications & API Permissions

App Registration Scopes & Permissions:

text

# API Scopes

– Data.Read

– Data.ReadWrite

– User.Profile.Read

– Files.Read.All

 

# Custom Scopes

– contoso.api/invoice.read

– contoso.api/payment.write

– contoso.api/reports.generate

Permission Grants:

text

– grant-app-salesforce-delegated

– grant-app-api-application

– grant-admin-consent-app

  1. Hybrid Identity Components

Connect Sync Rules:

text

– In from AD – User Join

– Out to AAD – User Provisioning

– Sync Filter – Exclude Service Accounts

Federation Services:

text

– adfs-farm-primary

– adfs-proxy-external

– pingfederate-cluster

  1. Service Accounts (Special Section)

Service Account Naming Pattern:

text

{prefix}-{purpose}-{environment}-{location}

Service Account Examples:

text

# Automation/CI-CD

– svc-azuredevops-prod

– svc-jenkins-build

– svc-terraform-apply

 

# Application Service Accounts

– svc-iis-apppool-website

– svc-sql-agent-backup

– svc-scheduled-task-report

 

# Monitoring & Management

– svc-monitoring-zabbix

– svc-backup-veeam

– svc-patching-wsus

 

# Security & Authentication

– svc-certificate-autoenroll

– svc-password-reset

– svc-group-policy

  1. Dynamic Groups

Dynamic Group Rules:

text

# Department-Based

– dg-department-sales

– dg-department-it

– dg-department-hr

 

# Attribute-Based

– dg-users-office-nyc

– dg-contractors-all

– dg-device-compliant

 

# Usage-Based

– dg-app-salesforce-users

– dg-licensed-m365-e5

  1. Administrative Accounts

Privileged Accounts:

text

# Break Glass/Emergency

– emg-admin-breakglass

– emg-global-admin-01

 

# Tiered Administration Model

– tier0-admin-global

– tier1-admin-server

– tier2-admin-workstation

 

# Role-Specific Admin Accounts

– admin-entra-id-global

– admin-exchange-online

– admin-sharepoint-online

– admin-security-compliance

  1. Directory Settings & Features

Company Branding:

text

– branding-corporate-default

– branding-partner-portal

– branding-employee-portal

Custom Security Attributes:

text

– attr-cost-center

– attr-employee-type

– attr-clearance-level

– attr-project-code

  1. Lifecycle Management

License Groups:

text

– lic-m365-e5-users

– lic-office-e3

– lic-windows-10-enterprise

– lic-visio-pro

Account Lifecycle States:

text

# Account Status Tags

– status-new-hire-pending

– status-active

– status-leave-of-absence

– status-terminated

 

# Provisioning/Deprovisioning

– workflow-onboarding-hr

– workflow-offboarding-it

Example Complete Structure:

text

Tenant: contoso.onmicrosoft.com

Domains: corp.contoso.com, auth.contoso.com

 

Organizational Structure:

├── Users

│   ├── Employees: john.doe@corp.contoso.com

│   ├── Contractors: contractor.bob@corp.contoso.com

│   └── Service Accounts: svc-pipeline@corp.contoso.com

├── Groups

│   ├── Security: sg-global-admins, sg-it-department

│   ├── M365: grp-project-alpha, grp-team-marketing

│   └── Dynamic: dg-department-sales

├── Applications

│   ├── Enterprise Apps: ent-salesforce-prod

│   ├── App Registrations: app-api-gateway-prod

│   └── Service Principals: sp-terraform-identity

├── Policies

│   ├── Conditional Access: cap-require-mfa-external

│   ├── Device: policy-device-compliance

│   └── Authentication: policy-mfa-enforcement

└── Administrative

    ├── Admin Units: au-department-finance

    ├── Custom Roles: role-helpdesk-admin

    └── Emergency Accounts: emg-admin-breakglass

Best Practices & Security Considerations:

  1. Use Descriptive Names: Clearly indicate purpose and scope
  2. Avoid Personal Names in Service Accounts: Use functional names
  3. Implement Naming Standards Document: Maintain consistency
  4. Regular Audits: Review and clean up unused identities quarterly
  5. Separation of Duties: Different naming for different privilege levels
  6. Monitoring & Alerts: Alert on suspicious naming patterns
  7. Document Exceptions: Track deviations from standards
  8. Automate Provisioning: Use naming templates in automation

Compliance & Governance:

  • Include compliance tags in names (e.g., -pii, -pci, -hipaa)
  • Use classification in group names for data handling
  • Implement expiration dates in dynamic group rules

These conventions ensure clarity, security, and manageability in your Entra ID environment while supporting automation and governance requirements.

This response is AI-generated, for reference only.

Give me examples of D365 naming conventions

Dynamics 365 & Power Platform Naming Conventions

General Principles

  • Consistency: Uniform across all environments
  • Clarity: Indicate purpose, type, and scope
  • CamelCase/PascalCase: For components, lowercase for URLs
  • No Special Characters: Avoid &, %, $, #, @
  • Prefixes/Suffixes: Use consistently to identify component type
  1. Environments & Instances

Environment Naming:

text

# Standard Environments

– DEV-Contoso              (Development)

– UAT-Contoso              (User Acceptance Testing)

– SIT-Contoso              (System Integration Testing)

– PROD-Contoso             (Production)

– TRAIN-Contoso            (Training)

– DEMO-Contoso             (Demonstration)

– DR-Contoso               (Disaster Recovery)

 

# By Project/Department

– DEV-SalesOps

– UAT-Finance

– PROD-CustomerService

 

# Microsoft Provided

– Default                   (Default environment)

– Trial                     (Trial environment)

Environment URLs:

text

# Production

– contoso.crm.dynamics.com

– contoso-prod.crm.dynamics.com

 

# Non-Production

– contoso-dev.crm.dynamics.com

– contoso-test.crm.dynamics.com

– contoso-uat.crm.dynamics.com

  1. Solutions

Solution Naming Pattern:

text

{Publisher}_{Product}_{Area}_{Purpose}_{Version}

Examples:

text

# Publisher Prefixes

– Contoso_

– Fabrikam_

– AdventureWorks_

 

# Core Solutions

– Contoso_SalesFoundation_1.0.0.0

– Contoso_ServiceManagement_2.1.0.0

– Contoso_MarketingAutomation_1.5.0.0

 

# Module/Component Solutions

– Contoso_Finance_InvoiceProcessing_1.0.0.0

– Contoso_Sales_OpportunityManagement_2.0.0.0

– Contoso_Service_CaseRouting_1.2.0.0

 

# Integration Solutions

– Contoso_Integration_SAP_1.0.0.0

– Contoso_Integration_SharePoint_2.0.0.0

– Contoso_Integration_PowerBI_1.5.0.0

 

# Customization Solutions

– Contoso_Custom_Fields_1.0.0.0

– Contoso_Custom_Workflows_2.0.0.0

– Contoso_Custom_WebResources_1.3.0.0

Solution Types Indicators:

text

– Contoso_Managed_Sales_1.0.0.0

– Contoso_Unmanaged_Dev_1.0.0.0

– Contoso_Patch_Update_1.0.1.0

  1. Entities (Tables)

Custom Entity Naming:

text

# Prefix All Custom Entities

– new_                         (Microsoft recommended prefix)

– contoso_                     (Company prefix)

 

# Standard Patterns

– new_application

– new_loan

– new_claim

– new_policy

– new_asset

 

# With Module Context

– new_sales_lead

– new_service_ticket

– new_marketing_campaign

– new_finance_invoice

 

# Relationship Entities (Intersect)

– new_contact_role

– new_account_relationship

– new_product_category

Display Names (User-Friendly):

text

– Application

– Loan Application

– Insurance Claim

– Service Ticket

– Marketing Campaign

Entity Set Names (Plural):

text

– applications

– loans

– claims

– servicetickets

– campaigns

  1. Fields (Columns/Attributes)

Field Naming Pattern:

text

{prefix}_{entitycontext}_{descriptivename}

Examples:

text

# Standard Fields (no prefix for OOB)

– name

– address1_city

– telephone1

 

# Custom Fields

– new_applicationdate

– new_loanamount

– new_claimstatus

 

# Lookup Fields

– new_accountid          (Lookup to Account)

– new_primarycontactid   (Lookup to Contact)

– new_parentcaseid       (Lookup to Case)

 

# Option Sets

– new_applicationtype

– new_priority

– new_statusreason

 

# Calculated/Rollup

– new_totalamount

– new_daysopen

– new_ageindays

Field Display Names:

text

– Application Date

– Loan Amount ($)

– Claim Status

– Primary Contact

– Estimated Close Date

  1. Relationships

1:N Relationship Naming:

text

# Lookup Field Names

– new_accountid

– new_relatedcaseid

– new_opportunityid

 

# Relationship Names

– new_account_applications

– new_case_activities

– new_opportunity_products

N:N Relationship Naming:

text

– new_contact_application

– new_account_service

– new_product_category

Connection Relationships:

text

– connection_contact_account

– connection_opportunity_competitor

  1. Forms & Views

Form Naming:

text

# Main Forms

– Information

– Quick View

– Card

 

# Specialized Forms

– Sales Form

– Service Form

– Mobile Form

 

# Custom Forms

– Application Main Form

– Loan Details Form

– Claim Entry Form

View Naming:

text

# System Views

– Active Accounts

– My Active Cases

– Open Opportunities

 

# Custom Views

– Applications – This Week

– High Priority Cases

– Overdue Invoices

– Recent Campaigns

 

# Advanced Find Views

– Saved Query – Expired Policies

– Saved Query – Renewals Due

  1. Business Rules & Workflows

Business Rule Naming:

text

– BR: Set Default Status

– BR: Calculate Total Amount

– BR: Validate Required Fields

– BR: Set Priority Based on SLA

Workflow Naming:

text

# Real-time Workflows

– WF: Create Follow-up Task

– WF: Update Status on Submit

– WF: Send Approval Email

 

# Background Workflows

– WF: Daily Sync to ERP

– WF: Monthly Report Generation

– WF: Cleanup Old Records

Power Automate Flows:

text

# Cloud Flows

– Flow: Create SharePoint Document

– Flow: Send Teams Notification

– Flow: Sync to External Database

 

# Solution-Aware Flows

– Contoso_Flow_CreateInvoice_1.0

– Contoso_Flow_CaseEscalation_2.0

  1. Business Process Flows

BPF Naming:

text

– Sales Process

– Lead to Opportunity

– Case Resolution

– Application Processing

– Quote to Cash

BPF Stages:

text

  1. Qualify
  2. Develop
  3. Propose
  4. Close
  5. Dashboards & Charts

Dashboard Naming:

text

# User Role Based

– Sales Executive Dashboard

– Service Manager Dashboard

– Marketing Overview

 

# Functional Dashboards

– Sales Performance

– Customer Service Metrics

– Campaign Effectiveness

 

# Custom Dashboards

– Loan Applications Overview

– Claims Processing Status

– Partner Performance

Chart Naming:

text

– Opportunities by Stage

– Cases by Priority

– Sales by Region

– Applications by Status

  1. Web Resources

JavaScript Files:

text

– /WebResources/new_/js/formScripts.js

– /WebResources/new_/js/validation.js

– /WebResources/new_/js/customLogic.js

HTML Web Resources:

text

– /WebResources/new_/html/widgetTemplate.html

– /WebResources/new_/html/customPage.html

CSS Files:

text

– /WebResources/new_/css/customStyles.css

– /WebResources/new_/css/formThemes.css

Image Files:

text

– /WebResources/new_/images/logo.png

– /WebResources/new_/icons/customIcon.svg

  1. Plugins & Custom Workflows

Plugin Naming:

text

– Contoso.Plugins.ApplicationValidation

– Contoso.Plugins.OpportunityCalculation

– Contoso.Plugins.CaseAssignment

Custom Workflow Activities:

text

– Contoso.Workflows.CalculateAge

– Contoso.Workflows.GenerateDocument

– Contoso.Workflows.ValidateAddress

Assembly Naming:

text

– Contoso.Plugins.dll

– Contoso.WorkflowActivities.dll

– Contoso.CustomCode.dll

  1. Security & Access Control

Security Roles:

text

# System Roles

– System Administrator

– System Customizer

– Salesperson

– Customer Service Representative

 

# Custom Roles

– Sales Manager

– Service Supervisor

– Marketing Specialist

– Finance User

– Read Only User

Teams:

text

– Sales Team

– Service Team

– Marketing Team

– Management Team

– Project Team Alpha

Field Security Profiles:

text

– FSP: Sensitive Data Access

– FSP: Financial Data

– FSP: Personal Information

  1. Power Apps Components

Canvas Apps Naming:

text

– App: Field Service Mobile

– App: Sales On-the-Go

– App: Inspection Checklist

– App: Inventory Management

Model-Driven Apps:

text

– Sales Hub

– Customer Service Hub

– Field Service

– Project Operations

Component Library:

text

– Contoso Component Library

– Shared Controls Library

  1. Integration & Data

Dataflow Naming:

text

– Dataflow: ERP to D365 Daily

– Dataflow: Customer Data Sync

– Dataflow: Product Catalog Update

Virtual Entity Data Sources:

text

– VE: SharePoint Documents

– VE: Azure SQL Data

– VE: Custom API Connection

  1. ALM & Deployment

Pipeline Environments:

text

# DevOps Environments

– Build

– Validation

– Staging

– Production

 

# Deployment Settings

– DeploySettings-Dev.json

– DeploySettings-Prod.json

Package Naming:

text

– Contoso_Sales_1.0.0.0.zip

– Contoso_Service_2.1.0.0.zip

– Hotfix_20240115.zip

Example Complete Structure:

text

Environment: PROD-Contoso

Organization: contoso.crm.dynamics.com

 

Solutions:

├── Contoso_Core_1.0.0.0

├── Contoso_Sales_2.0.0.0

├── Contoso_Service_1.5.0.0

└── Contoso_Integration_SAP_1.0.0.0

 

Custom Entities:

├── new_application

│   ├── Fields: new_applicationdate, new_loanamount, new_status

│   ├── Forms: Information, Quick View

│   └── Views: Active Applications, My Applications

├── new_claim

│   ├── Fields: new_claimdate, new_claimamount, new_claimtype

│   └── Forms: Claim Entry, Claim Details

└── new_policy

    ├── Fields: new_policynumber, new_effectivedate, new_expirydate

    └── Views: Active Policies, Expiring Policies

Best Practices:

  1. Version Control:

text

Major.Minor.Build.Revision

1.0.0.0  (Initial release)

1.1.0.0  (Minor update)

2.0.0.0  (Major release)

1.0.1.0  (Hotfix)

  1. Naming Standards Document:

xml

<NamingStandards>

  <Prefix>new_</Prefix>

  <Publisher>Contoso</Publisher>

  <SolutionPattern>{Publisher}_{Module}_{Version}</SolutionPattern>

</NamingStandards>

  1. Environment Strategy:

text

DEV  → Development & Unit Testing

SIT  → System Integration Testing

UAT  → User Acceptance Testing

PROD → Production

  1. Change Management:
  • Use solution layering correctly
  • Track dependencies between solutions
  • Maintain backward compatibility
  1. Documentation:
  • Maintain data dictionary
  • Document customizations
  • Track naming exceptions

Common Anti-Patterns to Avoid:

  • ❌ Using spaces in schema names
  • ❌ Inconsistent prefix usage
  • ❌ Overly abbreviated names
  • ❌ Including environment in solution names
  • ❌ Using special characters
  • ❌ Creating circular dependencies

Governance Rules:

  1. All custom entities must have prefix
  2. Solutions must follow naming pattern
  3. Version numbers must increment properly
  4. Managed solutions only in higher environments
  5. Regular cleanup of unused components

These conventions ensure maintainability, reduce conflicts, and support effective application lifecycle management in Dynamics 365.

Give me examples of Microsoft Power platform naming conventions

Microsoft Power Platform Naming Conventions

General Principles

  • Clarity Over Brevity: Clear, descriptive names
  • Consistency: Uniform across all Power Platform components
  • CamelCase/PascalCase: For display names, lowercase for internal names
  • No Special Characters: Avoid ! @ # $ % ^ & * ( )
  • Environment Awareness: Include env indicators where appropriate
  1. Environments

Environment Naming:

text

# Standard Environments

– DEV                  (Development)

– TEST                 (Testing)

– UAT                  (User Acceptance Testing)

– PROD                 (Production)

– SANDBOX              (Sandbox/Experimental)

 

# Department/Team Based

– SALES-DEV

– MARKETING-TEST

– SERVICE-PROD

 

# Project Based

– PROJECT-ALPHA-DEV

– PROJECT-BETA-TEST

– INITIATIVE-GAMMA-PROD

Environment URLs:

text

– contoso-dev.crm.dynamics.com

– contoso-test.powerapps.com

– contoso-prod.flow.microsoft.com

– make.powerautomate.com/environments/prod-environment

  1. Power Apps

Canvas Apps Naming Pattern:

text

{Type}_{Purpose}_{Audience}_{Environment}

Canvas Apps Examples:

text

# Employee-Facing Apps

– App_ExpenseTracker_Mobile_DEV

– App_TimesheetEntry_Web_TEST

– App_InventoryScanner_Tablet_PROD

 

# Customer-Facing Apps

– App_CustomerPortal_Web_PROD

– App_OrderStatus_Mobile_PROD

– App_ServiceRequest_Portal_PROD

 

# Department Specific

– App_SalesLeadCapture_Mobile_SALES

– App_FieldService_Tab_FS

– App_HROnboarding_Web_HR

 

# Process Specific

– App_IncidentReport_Mobile

– App_QualityInspection_Tablet

– App_AssetManagement_Desktop

Model-Driven Apps:

text

# Standard D365 Apps

– Sales Hub

– Customer Service Hub

– Field Service

– Project Operations

 

# Custom Model-Driven Apps

– App_ServiceManagement_PROD

– App_ComplianceTracking_TEST

– App_ProjectManagement_UAT

Portal Apps (Power Pages):

text

– Portal_EmployeeSelfService_PROD

– Portal_CustomerSupport_UAT

– Portal_PartnerPortal_PROD

– Portal_CommunityPortal_DEV

App Components:

text

# Screens

– scrnHome

– scrnLogin

– scrnDashboard

– scrnDetailsEntry

– scrnConfirmation

 

# Controls

– btnSubmit

– btnCancel

– txtFirstName

– txtEmail

– galImages

– frmDataEntry

 

# Variables

– varCurrentUser

– varSelectedRecord

– colFilteredItems

– locCurrentLocation

  1. Power Automate (Cloud Flows)

Flow Naming Pattern:

text

Flow_{Trigger}_{Action}_{Scope}_{Frequency}

Flow Examples:

text

# Automated Flows

– Flow_WhenItemCreated_SendNotification_Team_Daily

– Flow_WhenFileCreated_ProcessDocument_Department_Realtime

– Flow_Scheduled_CleanupTempData_System_Weekly

 

# Instant Flows

– Flow_Button_ApproveRequest_Manager_OnDemand

– Flow_Button_CreateReport_User_OnDemand

 

# Business Process Flows

– Flow_Process_LeadQualification_Sales

– Flow_Process_InvoiceApproval_Finance

 

# Solution-Aware Flows

– Flow_Integration_SAPtoD365_ERP_Hourly

– Flow_Sync_SharePointToList_Department_Daily

Flow Trigger Types:

text

– Automated: When an email arrives

– Instant: Button click

– Scheduled: Recurrence

– Desktop: UI automation

– Business Process: BPF

  1. Power BI

Workspace Naming:

text

# Department Workspaces

– WS_Finance_REPORTS

– WS_Sales_ANALYTICS

– WS_Marketing_DASHBOARDS

 

# Project Workspaces

– WS_ProjectAlpha_DEV

– WS_ProjectBeta_PROD

 

# Function Workspaces

– WS_Executive_VIEW

– WS_Operational_DAILY

Report Naming:

text

– Report_SalesPerformance_Monthly

– Report_CustomerSatisfaction_Quarterly

– Report_FinancialMetrics_Dashboard

– Report_InventoryLevels_Daily

Dataset Naming:

text

– Dataset_SalesTransactions

– Dataset_FinancialGL

– Dataset_Customer360

– Dataset_OperationalMetrics

Dashboard Naming:

text

– Dashboard_SalesExecutive_Overview

– Dashboard_ServiceManager_RealTime

– Dashboard_FinancialHealth_Snapshot

– Dashboard_OperationalEfficiency

Dataflow Naming:

text

– Dataflow_ERP_Extract_Transform

– Dataflow_CRM_Cleansing

– Dataflow_ExternalAPI_Integration

  1. Dataverse (Common Data Service)

Table Naming:

text

# Custom Tables

– new_application           (Custom entity)

– new_loanrequest

– new_maintenancerecord

– new_surveyresponse

 

# Display Names

– Application

– Loan Request

– Maintenance Record

– Survey Response

Column Naming:

text

# Standard Pattern

{prefix}_{entity}_{description}

 

# Examples

– new_applicationid

– new_applicationdate

– new_loanamount

– new_statuscode

 

# Choice Columns

– new_priority

– new_department

– new_applicationtype

Relationship Naming:

text

1:N: new_application_account

N:N: new_application_contact

Self-referential: new_account_parentaccount

  1. Power Virtual Agents

Bot Naming:

text

– Bot_CustomerSupport_FAQ

– Bot_HR_EmployeeQuestions

– Bot_IT_HelpDesk

– Bot_Sales_ProductInfo

Topic Naming:

text

– Topic_OrderStatus

– Topic_AccountBalance

– Topic_AppointmentScheduling

– Topic_ComplaintSubmission

Entity Naming:

text

– Entity_ProductNames

– Entity_LocationCities

– Entity_ServiceTypes

– Entity_DepartmentNames

  1. Power Pages (Portals)

Page Naming:

text

– Home

– ContactUs

– ServiceRequest

– KnowledgeBase

– ProfileManagement

Web Template Naming:

text

– WebTemplate_Header

– WebTemplate_Footer

– WebTemplate_Sidebar

– WebTemplate_HomePage

Content Snippet Naming:

text

– Snippet_WelcomeMessage

– Snippet_FooterCopyright

– Snippet_ContactInformation

– Snippet_PrivacyNotice

  1. Connectors & Connections

Connection Naming:

text

# By Service

– Conn_SharePoint_PROD

– Conn_SQLServer_DEV

– Conn_Office365_UAT

– Conn_Twilio_PROD

 

# By Purpose

– Conn_DataExport_PROD

– Conn_Notification_DEV

– Conn_Authentication_PROD

 

# Environment Specific

– Conn_SharePoint_DEV

– Conn_SharePoint_PROD

Custom Connector Naming:

text

– CustomConn_InternalAPI

– CustomConn_LegacySystem

– CustomConn_PartnerAPI

  1. Solutions

Solution Naming Pattern:

text

{Publisher}_{Component}_{Module}_{Version}

Solution Examples:

text

– Contoso_Apps_Sales_1.0.0.0

– Contoso_Flows_Service_2.1.0.0

– Contoso_Components_Shared_1.5.0.0

– Contoso_Integrations_ERP_1.0.0.0

Unmanaged vs Managed:

text

# Development

– Contoso_Sales_1.0.0.0_Unmanaged

 

# Production

– Contoso_Sales_1.0.0.0_Managed

  1. AI Builder

Model Naming:

text

– Model_DocumentClassification_Invoices

– Model_ObjectDetection_Products

– Model_FormProcessing_Applications

– Model_Prediction_CustomerChurn

Custom AI Models:

text

– AI_InvoiceProcessing_V1

– AI_ProductCategorization_V2

– AI_SentimentAnalysis_Reviews

  1. Environment Variables

Variable Naming:

text

# Connection Strings

– EnvVar_SQLConnectionString

– EnvVar_APICredentials

– EnvVar_SharePointURL

 

# Configuration Values

– EnvVar_MaxRetryCount

– EnvVar_TimeoutSeconds

– EnvVar_BatchSize

 

# Secrets

– EnvVar_EncryptionKey

– EnvVar_APIToken

– EnvVar_CertificatePassword

  1. Security & Governance

Security Role Naming:

text

– Role_PowerAppsUser

– Role_PowerAutomateMaker

– Role_DataverseEditor

– Role_PowerBIViewer

Data Loss Prevention (DLP) Policies:

text

– DLP_DefaultPolicy

– DLP_RestrictedData

– DLP_BusinessDataOnly

– DLP_NoExternalSharing

Environment Security Groups:

text

– SG_PowerPlatformAdmins

– SG_PowerAppsMakers

– SG_PowerAutomateUsers

– SG_DataverseEditors

  1. ALM & DevOps

Pipeline Naming:

text

# Build Pipelines

– Pipeline_Build_Solution_DEV

– Pipeline_Test_Automation_TEST

 

# Release Pipelines

– Pipeline_Release_UAT

– Pipeline_Release_PROD

 

# Validation Pipelines

– Pipeline_Validate_Solution

– Pipeline_CodeAnalysis

Branch Naming (for Power Platform CLI):

text

– feature/new-dashboard

– bugfix/login-issue

– hotfix/security-patch

– release/v1.2.0

Export Package Naming:

text

– SolutionPackage_ContosoSales_1.0.0.0.zip

– Backup_Environment_20240115.zip

– MigrationPackage_UAT_to_PROD.zip

  1. Copilot Studio (Power Virtual Agents + AI)

Copilot Naming:

text

– Copilot_CustomerService_Assistant

– Copilot_HR_Onboarding_Helper

– Copilot_IT_Support_Specialist

– Copilot_Sales_Product_Expert

Conversation Topic Naming:

text

– Topic_Account_Inquiry

– Topic_Order_Tracking

– Topic_Technical_Support

– Topic_Feedback_Collection

AI Skill Naming:

text

– Skill_Document_Summarizer

– Skill_Code_Generator

– Skill_Data_Analyzer

– Skill_Content_Translator

  1. Component Libraries & Templates

Component Library Naming:

text

– Library_UI_Controls

– Library_Data_Connectors

– Library_Common_Flows

– Library_Shared_Components

Template Naming:

text

– Template_App_InventoryManagement

– Template_Flow_DocumentApproval

– Template_Report_SalesDashboard

– Template_Bot_CustomerService

Example Complete Structure:

text

Environment: PROD

Tenant: contoso.com

 

Power Apps:

├── App_FieldService_Mobile_PROD

├── App_CustomerPortal_Web_PROD

└── App_HROnboarding_Tablet_PROD

 

Power Automate:

├── Flow_Scheduled_DataSync_ERP_Daily

├── Flow_WhenRecordCreated_NotifyTeam_Realtime

└── Flow_Button_GenerateReport_OnDemand

 

Power BI:

├── WS_Sales_ANALYTICS

│   ├── Report_SalesPerformance_Daily

│   └── Dashboard_SalesOverview

└── WS_Finance_REPORTS

    ├── Report_Financials_Monthly

    └── Dataset_GLTransactions

 

Dataverse:

├── Tables: new_serviceorder, new_inspection

├── Columns: new_orderdate, new_prioritycode

└── Relationships: new_order_account

 

Solutions:

├── Contoso_Core_1.0.0.0

├── Contoso_Sales_2.0.0.0

└── Contoso_Shared_1.5.0.0

Best Practices & Governance:

  1. Naming Standards Document:

yaml

NamingConventions:

  PowerApps:

    Pattern: “App_{Purpose}_{Platform}_{Env}”

    Example: “App_ExpenseTracker_Mobile_PROD”

   

  PowerAutomate:

    Pattern: “Flow_{Trigger}_{Action}_{Scope}”

    Example: “Flow_Scheduled_Report_Daily”

   

  PowerBI:

    Pattern: “{Type}_{Content}_{Frequency}”

    Example: “Report_Sales_Monthly”

  1. Environment Strategy:

text

DEV   → Development & Testing

TEST  → Quality Assurance

UAT   → User Acceptance Testing

PROD  → Production

  1. Ownership & Responsibility:
  • Include team/department in names
  • Add creator initials for supportability
  • Document business owners
  1. Version Control:

text

Major.Minor.Patch.Build

1.0.0.0  – Initial release

1.1.0.0  – Minor enhancements

2.0.0.0  – Major rewrite

1.0.1.0  – Bug fix

  1. Documentation Tags:

text

– [DEPRECATED] – For old components

– [LEGACY]     – Legacy but still used

– [EXPERIMENTAL] – Testing new features

– [PILOT]      – Limited rollout

Common Anti-Patterns to Avoid:

❌ Too Generic:

  • “My App”
  • “Test Flow”
  • “New Report”

❌ Environment in Component Name:

  • “ExpenseApp_DEV” (Environment should be separate)

❌ Personal Names:

  • “JohnsDashboard”
  • “SarahsFlow”

❌ Special Characters:

  • “App#1”
  • “Flow@Notification”

❌ Inconsistent Capitalization:

  • “app_Expense_Tracker”
  • “FLOW_DATA_SYNC”

Validation Rules:

  1. All names must follow naming pattern
  2. No environment names in component names
  3. No special characters except underscore
  4. Maximum length: 100 characters
  5. Must include purpose/function indicator

Automated Governance:

  • Use Power Platform CLI for validation
  • Implement DLP policies
  • Set up CoE Starter Kit
  • Regular compliance scanning

These conventions ensure scalability, maintainability, and governance across your Power Platform implementation while supporting collaboration and ALM practices.