Navigate Everywhere – Flow Action

This builds on recent work Eric Smith did to expand the range of navigation choices available in a single, straightforward navigation action for Flow. Navigate Everywhere should be able to replace all of the previous navigation components. It provides support for navigation from a flow to:

  • a record page (in edit or view mode)
  • a new record form for an object
  • 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

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.

Destination Type = ‘Record’

Navigates to a specific recordId in either view or edit mode. Don’t use this Destination Type if you’re trying to create a new record (Use Destination Type = ‘Object’). DestinationAction is basically ignored for this DestinationType, and 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)

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’
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

Install

Unmanaged Package 1.0

View Source

Source

12 replies
  1. Mark Riley
    Mark Riley says:

    Any other documentation on this flow action?. I cant get it to work and I am uncertain as to how the inputs should be configured.

    I am getting the following error: C:NAVIGATEEVERYWHERELFA (LOCAL ACTIONS): NavToRecentItems
    Inputs:
    destinationName = Cash_Flow_Period__c
    destinationType = Object
    Error Occurred: This flow contains local actions, so this flow runs only in Lightning runtime.

    I want the flow to finish on the tab for the custom object Cash Flow Period so the user will see the most recently created records generated by the flow.
    I have set the flow to execute in lightning run time.

    It appears that there is no acceptable entries for the output fields. Are these not required?
    Regards

    Mark

    Reply
    • Mark Riley
      Mark Riley says:

      Just, discovered that I think the reason I could not get it to work is that flow was being launched from vf page which forces classic runtime. Sorry for the distraction.
      Mark

      Reply
  2. Penny Rodie
    Penny Rodie says:

    Hi! Thank you so much for this resource, navigating to a new record form might be the answer to my problems. is there any way to prefill fields and determine record type on the record being created?

    Reply
  3. Dan Hardy
    Dan Hardy says:

    Hi Alex-

    I’m getting the error message:

    C:NAVIGATEEVERYWHERELFA (LOCAL ACTIONS): New_Procurement_Record
    Inputs:
    destinationType = {!Procurement} (true)
    Error Occurred: Action failed: c:navigateEverywhereLFA$controller$invoke [component.get(…).toLowerCase is not a function]
    Salesforce Error ID: 370325080-4918 (241678413)
    Any ideas what I’m doing wrong?

    Thanks.
    Dan

    Reply
    • Dolly Choi
      Dolly Choi says:

      I had to remove references to toLowerCase in the js controller in the component and used all lower case for my input parameters to get this to work. Ex: Destination Type = record

      Reply
  4. Felix
    Felix says:

    Hi there, great tools here 🙂 What are the exact options to navigate to a record-id? unfortunately i always get an error. the flow refers to a contact and should jump to the account after completion.

    Reply
  5. Emmanuel
    Emmanuel says:

    Hallo, very useful tool!

    I have a small question:
    What are the exact options to navigate to a relatedlist?
    I tried with following inputs:

    destinationAction = view
    relationshipName = Proposal_Requests (it is the Child Relationship Name, but I tried also with the Object API name)
    destinationType = relatedlist
    destinationName = Opportunity
    destinationRecordId = {!ParentOpportunity.Id}

    but I received back:

    Error Occurred: Action failed: c:navigateEverywhereLFA$controller$invoke [Missing required data. Since you have DestinationType set to relationshiplist, you need to pass in 1) a RecordId 2) a DestinationName like Case, 3) a RelationshipName like CaseComments and 4) a DestinationAction (which here has to be view) ]

    Thank you for your answer

    Reply

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply