Navigate Everywhere – Flow Action


This action provides a range of navigation choices available in a single, straightforward navigation action for Flow. It provides support for navigation from a flow to:

  • a record page (in edit or view mode)
  • a new record form for an object (Note that you can use flow to pass initial values to the form)
  • a list view (object home page)
  • a web page
  • a related object list view
  • an App page
  • a custom Tab page
  • a named page (examples include ”home”, “today”, “chatter” and a variety of community named pages)
  • a Knowledge page

IMPORTANT: This action only works with Screen Flows because it’s a Local Action that requires the presence of a browser session. Autolaunched flows can be launched from a browser but are optimized for server-side operation and can’t do browser redirects.

IMPORTANT: Note that this navigation component is still constrained by some basic limitations constraining navigation in Flow Builder. This will work in normal lightning experience flows, including flows launched from Quick Actions, but will not work when run from inside Flow Builder or via a Custom Button. It will not work from Visualforce pages.

Supported Destination Types

Destination Type = ‘Object’

Will navigate to a New record form or a List view. Note the use of DestinationActionFilter to pass in the name of a specific list view.

Setting Initial Values
When using DestinationType = ‘object’, and DestinationAction=’new’, passing a json string of ‘{FieldAPIName : value, FieldAPIName : value}’ will default those fields to the value.

Example:
To navigate to a new Contact page with defaulting the FirstName and the LastName fields via a formula field in the flow:
DestinationType = object
DestinationName = Contact
DestinationAction = new
defaultVals = {!formulafield}


{!formulafield} =
‘{“FirstName”: “‘ & {!firstname} & ‘”, “LastName”: ” ‘ & {!Last_Name} & ‘”}’

Destination Type = ‘Record’

Navigates to a specific recordId in either view or edit mode.

Set Destination Action to ‘edit’, ‘view’, or ‘clone’.

Don’t use this Destination Type if you’re trying to create a new record (Use Destination Type = ‘Object’). DestinationActionFilter is not used.

Destination Type = ‘App’

Navigates to an app. For DestinationName, use either the appId or appDeveloperName to the appTarget. The appId is the DurableId field on the AppDefinition sObject. The appDeveloperName value is formed by concatenating the app’s namespace with the developer name. To find the app’s developer name, navigate to the App Manager in Setup and look in the Developer Name column. For standard apps, the namespace is ‘standard__’. For custom apps it’s ‘c__’. For managed packages, it’s the namespace registered for the package.

DestinationAction and DestinationActionFilter are not used.

Destination Type = ‘URL’

Navigates to a specific url. Use the DestinationURL field.

DestinationName, DestinationAction, and DestinationActionFilter are not used.

Destination Type = ‘NamedPage’

Navigates to a specific Named Page. Use the DestinationName field.

In Lightning Experience and the Salesforce mobile app, possible values are:

  • home
  • chatter
  • today
  • dataAssessment
  • filePreview

In Communities, the value for pageName is the URL value for a supported page. For instance, the default URL value for the Account Management page is /account-management, so the value for pageName would be account-management. The value of home is reserved for the landing page of any community in your org.

Supported pages in Communities are:

  • Home
  • Account management
  • Contact support
  • Error
  • Login
  • Top Articles
  • Topic Catalog
  • Custom pages

DestinationAction, and DestinationActionFilter are not used.

Destination Type = ‘tab’

Navigates to a specific tab. Use the DestinationName field and provide the unique name of a CustomTab. Visualforce tabs, web tabs, Lightning Pages, and Lightning Component tabs are supported.

DestinationAction, and DestinationActionFilter are not used.

Destination Type = ‘knowledge’

Navigates to a knowledge page. Destination URL is required. The value of the urlName field on the target KnowledgeArticleVersion record. The urlName is the article’s URL. DestinationName is ignored for Communities but required otherwise. Use the ArticleType API name of the Knowledge Article record for DestinationName.

DestinationAction, and DestinationActionFilter are not used.

Destination Type = ‘relatedlist’

Navigates to a related items page. Requires 1) a RecordId 2) a DestinationName like Case, 3) a RelationshipName like CaseComments and 4) a DestinationAction (which here has to be view)

Note that the Relationship Name of a related list can be a little nonintuitive. For example, suppose you want to navigate to the Opportunity Products list for an Opportunity. The relationship name is OpportunityLineItems, which you probably wouldn’t guess. Find the relationship name by going to the child object in object manager and inspecting the Lookup field that does a lookup to the parent object, as shown below:

Launching from a Utility Bar?

Check out https://unofficialsf.com/minimize-the-window-when-a-utility-bar-flow-is-finished-evan-ponter/

Attributes

AttributeTypeNotes
DestinationTypeStringAllowable values include ‘object’
DestinationNameStringWhen DestinationType is ‘object’, this must be an object name like ‘Account’ or ‘MyObj__c’.
DestinationActionStringWhen DestinationType is ‘object’, supported values are ‘list’, ‘new’, and ‘home’.
When DestinationType is ‘record’, supported values are ‘view’, ‘edit’ and ‘clone’
DestinationActionFilterStringWhen DestinationType is ‘object’ and DestinationAction is ‘list’ or ‘home’, this allows the specification of a specific list view by name. Example ‘mycustomlistview’
Destination URLString
Relationship NameStringUsed with Destination Type = relatedlist
Destination Record IdString
defaultValsStringUsed with Destination Type = ‘object’ to pass initial field values. format: {!formulafield} =
‘{“FirstName”: “‘ & {!firstname} & ‘”, “LastName”: ” ‘ & {!Last_Name} & ‘”}’

Install

Unmanaged 1.1.1 – 10/20/21 bug fix – (Production / Sandbox)

Installation troubleshooting

Old Versions

Unmanaged 1.1 – 10/4/21 Adds the ability pass initial values to a New record form.

9/2/21 Alex Edelstein – package tweak

Unmanaged Package 1.0.4 – Production
Unmanaged Package 1.0.4 – Sandbox

5/25/21 – Eric Smith – Corrected the logic in the test for correct attributes for the relatedList mode

Unmanaged Package 1.0.2 – Production
Unmanaged Package 1.0.2 – Sandbox

Unmanaged Package 1.0.1 (small error message improvements)

Unmanaged Package 1.0

View Source

Source