Flow Hack: Flow Naming Conventions

Note: You’ll find in the examples below I have listed multiple suggested prefixes. For simplicity, you’ll want to decide on ONE prefix for each thing.

In This Blog:

Flows

When Naming Flows, the best format is Object | Trigger | What it Does.
This makes it easier to locate a Flow identify at a glance how many flows one object might have.

Examples:

  • Opportunity | Record Triggered | Update Account
  • Contact | Screen | Create New

Resources

In general, use these guiding principles for resources

  • Standard prefix to denote resource type (i.e. “v” or “rv” or “c” – see examples below)
  • Use camelCase
  • Make sense to anyone who updates the flow

Variables

Variable TypeSuggested Prefix(es)Examples
Textv / var
cv / collvar
vContactId / varContact Id
cvColors / collvarColors
Recordrv /rvar / recvar
rcv / rcollvar / reccollvar
rvAccount / rvarAccount
rcvAccounts / rcollvarAccount
Numbern / numnCollectionCount / numCollectionCount
Currencyc / currcAmount / currAmount
Booleanb / boobValueSet / booValueSet
Dated / datedDue / dateDue
Date/TimedtdtStamp
Picklistp / pickpYesNo / pickYesNo
MultiSelect Picklistmsp / mpickmspSizes / mpickSizes
Apex Defineda / apexaPopsicle
Variable Types, Prefixes, and Examples

Constants

Constant TypeSuggested Prefix(es)Examples
Textcont / ctextcontErrorMessage / ctextErrorMessage
Numberconn / cnumconn5 / cnum5
Currencyconc / ccurrconcPrice / ccurrPrice
Datecond / cdatecondQuarterStart / cdateQuarterStart
Booleanconb / cbooconbUpdate / cbooUpdate
Constant Types, Prefixes, and Examples

Formulas

Formula TypeSuggested Prefix(es)Examples
Textft / formt / ftxtftFullName / formtFullName / ftxtFullName
Numberfn / formn / fnumfnDiscountRate / formnDiscountRate / fnumDiscountRate
Currencyfc / formc / fcurrfcTotalPrice / formcTotalPrice / fcurrTotalPrice
Booleanfb / formb / fboofbNoToFalse / formbNoToFalse / fbooNoToFalse
Datefd / formd / fdatefdRenewal / formdRenewal / fdateRenewal
Date / Timefdt / formdt / fdatetimefdtScheduled / formdtScheduled / fdatetimeScheduled
Formula Types, Prefixes, and Examples

Text Template

Suggested PrefixExample
ttttEmailBody
Text Template Prefix & Example

Choice

Suggested PrefixExample
choice / chchoiceYes / chYes
Choice Prefix & Example

Record Choice Set

Suggested PrefixExample
rc / rchrcProductsInFamily / rchProductsInFamily
Record Choice Set Prefix & Example

Picklist Choice Set

Suggested PrefixExample
pc / pchpcIndustry / pchIndustry
Picklist Choice Prefix & Example

Decision Outcomes

I have provided a suggested prefix and example for you below, but I often don’t get too nitpicky with outcomes. Instead, I try to use impactful labels, like “Yes, Missing Information” instead of a simple “Yes” or “No”. This helps keep API names unique, and actually provides meaning to future admins.

Suggested PrefixExample
dodoYes
Decision Outcome Prefix & Example

Screen Components

I add a prefix only to the API name, as I’m doing that for my reference, and not the end user’s. (Refer to Screen Naming Conventions)

Suggested PrefixExample
X00_X01_First_Name
Screen Component Prefix & Example

Elements

I don’t like to use camel case for these because I want it to make sense at a glance in the flow builder. You may want to establish a convention for your API Names, but I find it just as easy to have my API names match my labels (Plus, that ensures I’m not naming two things the same). The key to remember for all elements is:

What is this element doing and can someone determine that by reading its label?

Actions

Put what the action is doing in laymen’s terms. I have some generic examples below, but you’d want to customize them to be specific.

Examples

  • Validate External System
  • Aggregate Financials

Assignment

Examples:

  • Copy Account Address to Contact
  • Assign Screen Values to Asset
  • Add Account to Collection

Get / Create / Update / Delete Records

Examples:

  • Get Renewal Record Type
  • Create Renewal Opportunity
  • Update Accounts
  • Delete Opportunity Products

Decisions

Examples:

  • Is there an Account?
  • Account Type
  • Contact Status
  • Valid Data?

Loops

Examples:

  • Loop Account Contacts
  • Loop New Accounts

Screens

Name each screen with a number (or letter). You may be tempted to name them in order, but as your flow evolves, that is going to change. If you’re okay with screen 04 coming before screen 02, then use numbers. If not, find some other way to create a unique identifier you can also use for your screen components for easier usage.

Examples:

  • 01. Contact Details
  • 07. Ice Cream Selection
  • 13. Confirmation Screen

Subflows

Use the same thought process as you did for actions. A general idea of what the purpose of the subflow is.

Examples:

  • Create Account Contacts
  • Set Account Financials

Leave a comment