Power Automate Naming Conventions That Scale
A definitive naming standard for Power Automate flows, connection references, and environment variables. Stop naming flows 'My Flow 2'.
Open the Power Platform Admin Center. Navigate to your production environment. Click into the flow list. What do you see?
“My Flow.” “Test - Copy.” “John’s Approval Flow (2).” “Untitled.” Fourteen flows named “When an item is created.”
This is the reality of most Power Automate tenants. And it’s not a minor inconvenience. When something breaks at 2 AM, you need to find the right flow in seconds. When a maker leaves the organization, someone else needs to understand what each flow does. When you run an inventory across 300 flows, naming is the difference between actionable data and noise.
Naming conventions are the cheapest governance control you can implement. No licenses required. No premium features. Just discipline and a standard that everyone follows.
The Naming Pattern
Every cloud flow name should follow this structure:
{Domain}-{Entity}-{Action}-{Trigger}
Four segments, hyphen-separated, no spaces. Each segment serves a specific purpose.
Domain Codes
The domain identifies which business area owns the flow. Use short, uppercase codes:
| Code | Domain | Examples |
|---|---|---|
| HR | Human Resources | Onboarding, evaluations, leave requests |
| FIN | Finance | Invoices, expenses, budget approvals |
| SALES | Sales | Leads, opportunities, quotes |
| IT | Information Technology | Provisioning, tickets, access requests |
| OPS | Operations | Work orders, scheduling, logistics |
| MKT | Marketing | Campaigns, events, content approvals |
| PROC | Procurement | Purchase orders, vendor management |
| SEC | Security | Access reviews, compliance checks |
If your organization has specific departments that don’t fit these codes, create your own. The key is consistency. Pick a list, publish it, and enforce it.
Entity
The entity is what the flow operates on. Use the business object name, not the Dataverse table name. “Evaluation” not “cr4b2_evaluation.” “Invoice” not “salesinvoice.” Keep it readable by a business user.
Action
The action describes what the flow does. Common actions:
- Create - creates a record or resource
- Notify - sends a notification (email, Teams, push)
- Sync - synchronizes data between systems
- Approve - routes through an approval process
- Archive - moves or flags records for archival
- Validate - checks data against business rules
- Calculate - computes values (totals, scores, dates)
- Export - generates files or reports
Trigger
The trigger tells you what starts the flow. This is critical for troubleshooting. If you know a flow fires on record creation and the issue started after someone bulk-imported records, you have your answer.
Common trigger suffixes:
- OnCreate - when a record is created
- OnUpdate - when a record is modified
- OnStatusChange - when a status field changes
- Scheduled - runs on a timer (daily, weekly, hourly)
- Manual - triggered by a button or user action
- OnEmail - triggered by an incoming email
- OnApproval - triggered by an approval response
Real Examples
Here’s what good naming looks like in practice:
| Bad Name | Good Name | Why It's Better |
|---|---|---|
| Send notification | HR-Evaluation-SubmitNotification-OnStatusChange | You know the domain, what it acts on, what it does, and what triggers it |
| Invoice approval | FIN-Invoice-ApprovalRequest-OnCreate | Distinguishes from the 4 other invoice flows in the environment |
| Sync contacts | SALES-Contact-SyncToCRM-Scheduled | Clear that it's a scheduled sync, not a real-time trigger |
| My Flow (2) | IT-AccessRequest-Provision-OnApproval | Self-documenting. No guessing required. |
| Weekly report | MKT-Campaign-ExportMetrics-Scheduled | Tells you exactly which report and when it runs |
| Untitled | PROC-PurchaseOrder-Validate-OnCreate | The flow name IS the documentation |
When you have 50 flows in an environment, these names let you filter by domain, sort alphabetically, and find exactly what you need. When you have 200 flows, this naming convention is the only thing standing between you and chaos.
Connection Reference Naming
Connection references are the mechanism that lets you deploy solutions across environments without hardcoding credentials. They get their own naming convention:
{publisher}_{connector}_{purpose}
All lowercase, underscores as separators.
| Bad Name | Good Name | Why |
|---|---|---|
| SharePoint Connection | contoso_sharepointonline_hrdocuments | Specifies which SharePoint connection for what purpose |
| Outlook | contoso_office365outlook_notifications | Distinguishes from the Outlook connection used for approvals |
| Dataverse | contoso_dataverse_hrsystem | When you have 3 Dataverse connections for different solutions, this matters |
| My SQL Connection | contoso_sql_financereporting | Identifies the target system and purpose |
Why does the publisher prefix matter? Because when you import a managed solution, the connection references show up in the target environment. If two different ISVs both have a connection reference called “SharePoint,” you have a collision. The publisher prefix prevents that.
Environment Variable Naming
Environment variables store configuration values that change between environments. URLs, email addresses, feature flags, thresholds. Same idea:
{publisher}_{Domain}_{VariableName}
Examples:
contoso_HR_NotificationMailbox- the email address that receives HR notificationscontoso_FIN_ApprovalThreshold- the dollar amount that triggers executive approvalcontoso_IT_ServiceNowBaseUrl- the ServiceNow instance URL for the IT integrationcontoso_SALES_LeadScoringEnabled- feature flag for the lead scoring flow
Flow Description Template
The flow name tells you what. The description tells you why and how. Every flow should have a description that follows this template:
Purpose: [One sentence explaining the business reason]
Owner: [Team or role, not a person's name]
Dependencies: [External systems, other flows, specific data]
SLA: [Expected run time and any time-sensitive requirements]
Last reviewed: [Date of last review]
Example:
Purpose: Sends email notification to the evaluation manager when
an employee submits their self-evaluation for review.
Owner: HR Operations Team
Dependencies: Office 365 Outlook connector, Evaluation table,
contoso_HR_NotificationMailbox environment variable
SLA: Must complete within 5 minutes of status change
Last reviewed: 2026-03-01
This takes 30 seconds to write. It saves hours when someone is troubleshooting at 11 PM.
Enforcement
A naming convention that nobody follows is just a document. Here’s how you actually enforce it.
- 1
Publish the standard
Write it down. Put it in your governance wiki, your CoE documentation, your maker onboarding materials. Make it findable.
- 2
Add it to your maker welcome content
Managed Environments let you configure a welcome message for makers. Include a link to the naming standard. Every maker sees it when they open the environment.
- 3
Build a compliance check flow
Use the Power Automate Management connector or PowerShell (Get-AdminFlow) to pull all flow names. Run a regex against the naming pattern. Flag violations.
- 4
Use the CoE Starter Kit
The Center of Excellence Starter Kit includes inventory flows that sync all flows to Dataverse. Build a model-driven app or Power BI report that highlights flows not matching the pattern.
- 5
Review in your governance cadence
Monthly or quarterly, review the compliance report. Reach out to makers with non-compliant flows. Rename or ask them to rename. This is a conversation, not a punishment.
The Regex Pattern
If you want to validate flow names programmatically, here’s a regex pattern that matches the convention:
^[A-Z]{2,5}-[A-Za-z]+-[A-Za-z]+-(?:OnCreate|OnUpdate|OnStatusChange|Scheduled|Manual|OnEmail|OnApproval)$
This matches:
- 2-5 uppercase letters for the domain
- One or more letters for the entity
- One or more letters for the action
- A known trigger suffix
You can expand the trigger list as needed. The point is that the check is automatable.
How Do You Name Child Flows and Desktop Flows?
Child flows and desktop flows follow the same four-segment naming convention with one addition. Child flows append a _Child suffix so you can instantly distinguish them in an inventory. Desktop flows replace the trigger segment with Desktop, making it clear which runtime executes them. Both approaches keep your naming consistent across flow types.
Child flows (flows called by other flows) follow the same convention but add a _Child suffix:
HR-Evaluation-SendEmail-OnCreate_Child
Desktop flows use a similar pattern but replace the trigger segment with Desktop:
FIN-Invoice-ExtractLineItems-Desktop
This makes it immediately obvious in an inventory which flows are cloud flows, which are child flows, and which are desktop flows.
Start Today
You don’t need to rename every flow in your tenant on day one. Start with new flows. Apply the standard going forward. Then work through the backlog in batches, prioritizing production environments and business-critical flows.
The naming convention is the foundation for everything else in this series. Environment strategy, solution awareness, and flow inventory all become dramatically easier when every flow has a name that tells you exactly what it is.
Power Automate Governance - The Enterprise Playbook
This article is part of a 10-part series:
- Naming Conventions That Scale
- Environment Strategy - Dev Test Prod
- Solution-Aware Flows
- Flow Inventory
- Pipelines - Dev to Prod
- CoE Starter Kit
- AI-Powered Flow Review
- Versioning and Source Control
- The Governance Repo
- Weekly Governance Digest
AZ365.ai - Azure and AI insights for architects building on Microsoft. Follow Alex on LinkedIn for architecture deep dives.
Stay in the loop
Get new posts delivered to your inbox. No spam, unsubscribe anytime.
Related articles
Tag-Based Flow Architecture: REV, EVL, STP, NTF - 24 Flows, Zero Confusion
Entity-area tags turn 24 Power Automate flows into a navigable architecture. A naming system that maps to ADO, source control, and AI agent batches.
Notification Architecture That Cannot Break Your Business Logic
Separate Power Automate notification flows from business logic. 14 flows, zero write operations, daily digests over real-time floods.
The 10-Minute Build: How Specs and AI Produced 14 Power Automate Flows
Power Automate flows built by AI in 10 minutes -- but only because two years of governance made specs machine-readable. The full architecture story.