Flow

Do We Know How Scary Flows Are?

Let’s discuss whether flows are scary for new learners this week, fresh after Halloween. Grab your pumpkin spice latte, and follow along: πŸŽƒI recently had a meeting with Salesforce where I invited them to survey my community of new learners to understand the challenges for most folks. During that discussion, I realized, or remembered again, that Salesforce does not know how scary the flow canvas is for most admins.

Late October, I was in Orlando at Florida Dreamin’, taking a break after presenting my session, when an experienced admin approached me. “Is there a Flow for Dummies Book?” they asked. I said there was none, and I proceeded to ask questions to understand the background better. πŸ“šThis person was an experienced admin. However, they defined themselves as not that good with formulas. And they wanted to learn flow really bad and thought flow canvas was very scary for them. Throughout our discussion, I realized how emotionally charged the topic was for them. This was a very stressful situation.

😱I am sure many out there feel the same, but they don’t express it.

There is nothing wrong with expressing distress around learning a new topic. βœ…

I firmly believe that everybody can learn flow to some degree and extend their admin skills. However, depending on your skills, you may never be able to tackle the advanced flows. Or it may take you seemingly forever to master just the record-triggered flows.

Everybody’s learning journey is unique. And that is OK. βœ…

I appreciate this interaction immensely because I clearly remembered the target audience for my Salesforce Break site, my YouTube channel, and my Udemy course. My objective on these sites is to teach the majority how to flow and make the canvas less scary. My challenge is to gradually build your skills at an acceptable pace so that the impostor syndrome does not creep in when you follow along with the curriculum. πŸ§„

This post was originally made to LinkedIn on November 8th, 2022.

Read the previous post: Flow Testing Is Here: Exciting News!

Standard
Flow, Newsletter

Winter 23 Flow Formula Editor

Hello folks,

Let’s get started with the Winter 23 Flow enhancements, shall we? Who doesn’t like to save time and effort?

One of the biggest improvements is the formula resource editor with the instant syntax check button.

This functionality first came for the start element and the collection filter in the previous releases. Now we get the same editor across the board in the flow builder.

No more writing a formula, saving the flow, and crossing your fingers hoping it won’t yield an error message.

You can check for errors as you build your formula on the same screen using the Syntax Check button.

One disclaimer is that I saw some inconsistent behavior in my preview Dev Org:

Some of the collection filter formulas I built that I thought should pass, did not pass the syntax check. But we still have time until the release. I am sure it will be ready by then.

Now content announcements:

  • I am super excited that my session proposal has been accepted for Florida Dreamin’ 2022. I will be presenting there for the third year in a row. My session is titled: “Flow Design & Mapping: From Idea to the Flow Canvas“. It will be super interesting, I promise you. Come and see it: Register for the event here.
  • Last week, I presented the new Winter 23 Flow functionality at a virtual Jacksonville Salesforce Saturday event. I tried out the new enhancements live and recorded the event.Β Watch Winter 23 Flow Features – Salesforce Saturday here.

Enjoy.

P.S. Originally published on 08/30/2022.

Read the previous issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard
Newsletter

Start Element Formulas

Hello folks,

How cool are the brand new start element formulas?

One of the best use cases for it is the Record Type criteria. You can now check for the RecordType.DeveloperName or the RecordType.Name in your start element. This was not possible before. You either had to hardcode the RecordType.Id or defer the criteria to a decision element, making the flow less efficient.

What else can we do with start element formulas?

When you want to trigger your flow in case the triggering object record is created or updated, and you want to build sophisticated criteria, then the formula entry conditions are ideal for this purpose.

A popular use case is the auto-naming of records when a new record is created. For example, you can append the Industry picklist value to the Account name using a before-save flow.

Here is the formula resource that does that:

The difficulty is when you want to trigger such flow on create and update. If you don’t build your flow carefully, you will append the same thing to the name multiple times based on multiple updates. You will need to check whether the auto-name logic ran before if you want to avoid this outcome.

Here is the start element formula that ensures that:

I recommend you go and play with this functionality yourself if you haven’t already. You will like it. It is super powerful.

This is the only area where we have a function, a logical operator picker, and a syntax check button within flow.

If you have comments on this topic, please join the discussion on Twitter or LinkedIn.

Enjoy.

P.S. Originally published on 07/18/2022.

Read the previous issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard
Newsletter

Standard or Custom Object?

Hello folks,

Recently, I posted polls on Twitter asking about standard objects: What cloud license does each standard object come with? The answers to these questions are widely unknown. You will see that only about half of the respondents got the answer right.

As a response to these posts Emily McCowan, an Architect, posted this writeup and clarified some of the confusion around this topic. Please read it, it is very good.

You may know the data model very well. You will also need to know what standard objects come with your license to decide whether to use them when the need arises.

Enjoy.

P.S. Originally published on 07/08/2022.

Read the previous issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard
Newsletter

The Importance of the Data Model

Hello folks,

I wrote this several times before:

If you want to attempt Actions and Related Records flows, you need to know the schema very well. This can be easily done with the schema builder in your Org.

There is another good way for reviewing the data model. The Architect’s site by Salesforce has the data model diagram posted for the most popular Clouds. You can go there and view and download the diagrams in pdf, png and Lucidchart format:

Click here for the Architect’s Site by Salesforce.

You can see the Sales Cloud example image from the Architect’s site above. Please click on the image to see a bigger version.

Enjoy.

P.S. Originally published on 06/27/2022.

Read the previous issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard
Newsletter

Which Object Do You Trigger On?

Hello folks,

Suppose you know you need a record-triggered flow: You want to perform automated steps based on the transactions executing in your Salesforce Org.

If you deal with related records, you know you will be in the after-save mode (a.k.a. Actions and Related Records).

If you have come this far, this means you have already found answers to two essential questions:

  1. What type of flow do I need?
  2. If it is a record-triggered flow, will it be before-save or after-save?

You know that I answer a lot of flow questions on a regular basis. My observation is that folks often struggle with the next critical step:

Which object will I be triggering on?

Based on the previous decisions, we know you are already dealing with at least two objects. However, suppose a junction object is involved, like an Opportunity Contact Role that connects the Opportunity to Contacts or an Opportunity Line Item that connects the Opportunity to the Products. In that case, you may have three or more objects involved.

This is the part where things get confusing:

Which object will I trigger on, and what object(s) will I create/update?

The answer is surprisingly simple when you fill in the blanks in this format:

I want to create/update __ Object records when __ Object records are created/updated.

What you write in the second blank will show you what object you are triggering on.

Once you know that, you will need to go from one Object to the other using the relationships. Depending on the depth and the structure, you may use multiple gets.

I thought I’d step back from technical posts for now and focus on the fundamentals again.

Enjoy.

P.S. Originally published on 06/15/2022.

Read the previous issue of the newsletter here.

Read the next issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard
Newsletter

Collection Filter and Collection Sort Challenge

Hello folks,

How powerful are the collection sort and collection filter elements? How should you use them?

I experimented with collection filter and collection sort elements to see how far I can go using only one get element. In other words, I wanted my flow only to use up one SOQL against the governor limits.

I started with a get element that returns all the cases that have both account and contact assignments. I was able to extract the following information with only one get element:

  • Most Recently Modified Case
  • Oldest Modified Case
  • Oldest Modified Case Account Name
  • Number of Cases by this Account
  • Most Recently Closed Date for this Account
  • Contact Id on this Case
  • Number of Cases for this Contact
  • Oldest Closed Date for this Contact on this Case

Please see the image for the results.

How many elements did I use? Did I have to loop?

Here are the answers:

  • Your get element gives you sorting functionality. Use it.
  • You have to loop to get the min and max values, such as the oldest and most recent, sorted by Date and Time. But you need to loop only for one iteration. So you can exit after you assign the first record to a variable.
  • Your loop can use the existing sort or the reverse sort. Use this functionality.
  • Initially, I used a counter variable to exit the loop, but this was unnecessary. You need to exit the loop regardless after the first iteration. Insert a decision and connect both branches to the next element outside the loop.
  • You can get a count of records by using an assignment element with the operator “equals count”.

I experimented with the formula criteria inside the collection filter element without much luck. I think this functionality does not allow for filters with variable values on the right side of the equation. “ContactId on the current record = ContactIdVariable” formula did not work.

What do you think? Can these elements save you lengthy loops and executed elements?

How many elements, excluding the start or the end element, did I use to extract this information.

Join the discussion on LinkedIn here or Twitter here.

Live session recording links:

Watch Melody Lwo of Salesforce Flowsome and me either on LinkedIn here or YouTube here.

Enjoy.

P.S. Originally published on 05/30/2022.

Read the previous issue of the newsletter here.

Read the next issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard
Newsletter

New Features of Summer 22 (continued)

Hello folks,

Summer 22 is arriving soon, and the second part of my quick tour is here.

In the last issue of the newsletter, I showed you a few changes that will be released soon. Let’s continue.

Screen flow enhancements:

1-Collapsible headings for sections: We received the functionality of multicolumn sections in screen flows a few releases ago, and I love them. With this release, we get a header, which makes the section collapsible.

2-Dynamic Forms (Fields – Still Beta) supports Name and Address Fields: Fields functionality is a very promising functionality that now supports Name (Salutation, First Name, Last Name) and a full Address. I don’t understand why this is still in beta, though.

3-Dynamic Forms Address automatically populates address: When you combine the new Address field with the Google Typehead functionality, you give the user the power to populate the address fields automatically.

Some other notable enhancements:

1-Orchestrations are deployable via change sets now.

2-Associated flows can be opened from within the Orchestration via a link.

3-You can order triggered Orchestrations with Flow Trigger Explorer exactly as you do with flows.

I want to add that dragging items on the Flow Trigger Explorer changes your flow’s running order parameter setting. The screen shows you a confirmation screen explaining the change.

The big news of this release is the addition of the No-Code Flow Testing (Beta), though. I am super excited about this, but I will take my time to review it before going into more detail.

I am heading to Texas Dreamin’. I will present there on the Flow Trigger Explorer and the Orchestrator. Come to my session if you will be there. If you won’t be there, no worries; I will present similar content soon virtually. Stay tuned.

Enjoy.

P.S. Originally published on 04/26/2022.

Read the previous issue of the newsletter here.

Read the next issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard
Newsletter

3 New Features of Summer 22

Hello folks,

Summer 22 is arriving soon, and I am here to give you a quick tour of the new functionality coming your way.

But before I do that, I would like to share that I wrote a brand new post for Salesforce Ben. It was published a week ago, and it is still the number one post on the site. Please read my post titled “7 Foundational Skills Before Learning Salesforce Flows” here.

The format of this post will include pictures more than words. Let me show you screenshots of what is coming. This release is loaded again with flow enhancements:

1-Flow Trigger Explorer supports manual reordering of triggered flows. You can create a new flow right from this dialogue. This action will prefill the start element for you. RT Orchestrations are also supported, which I have not seen or tested yet. When you open Flow Details and Versions on the right-side panel, you see all flow versions. You can open each version via a link and activate the version you want on this side panel. This functionality is better than the existing alternative in my humble opinion.

2-RT Automation got some serious love in this release. Now we can build complex formulas in our start entry criteria. Let me test and tell you how debugging works later. We get assistance via field and function pickers when building the formula. You can go crazy now with field values, prior field values, and functions.

The formula builder checks syntax similar to the formula field builder of the object manager. If you are sloppy with your work, you will get a red error message when you check syntax via this button. The formula resource builder did not get any love though, as far as I know.

3-Low-code flow testing comes to life. On your flow canvas, you will see a “View Tests” button on the upper right side. You will have to agree to the terms when you click on it because the functionality is in beta as of Summer 22. Then, you click create, and you start building your test.

I played around with the test builder a little bit. Disclaimer: I don’t know anything about the functionality. I saw this error message very frequently. At least for now, I can easily say this functionality deserved the beta badge.

Next week, I will continue my preview with the new screen flow functionality.

Enjoy.

P.S. Originally published on 04/18/2022.

Read the previous issue of the newsletter here.

Read the next issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard
Newsletter

Advanced Topics & Resources

Hello folks,

Let’s talk about advanced topics around flow automation this week.

I want to highlight two sources of information that Salesforce recently published.

One of these resources is the blog post titled “Your Guide to Determining the Flow Running User and Its Execution Context” by Jennifer W. Lee.

It has been a mystery for many flow builders what context different flow types run. For example, if I create a record-triggered flow, can it update all records in my Org? What happens when I activate and run an event-triggered flow. All these questions have been answered in this blog post.

One interesting observation for me is the information that Jen published on screen flows. I built a few screen flows that run on public community (digital experience) pages, and even when I set the flow to run in system context without sharing, it would not see the related records in the Org it would need to see. So I would have to set up sharing rules to share the records I need in advance for the guest user to see. This phenomenon is explained in this blog post: The lookups in your screen flow do not run in the system context without sharing. Please read the blog post here.

Another source of information is the Architect’s guide to record-triggered automation. I should clarify and say that this has actually not been recently published. There was an earlier version of this page. This is not merely an update. The whole thing has been rewritten, and it is immensely more helpful than the previous version. There is good information for any level, but I would like to emphasize that some parts of the post are very advanced. Do not be alarmed if you don’t understand everything. This is expected.

If I had to highlight one point out of this document, it would have to be the use of formulas. There is an interesting bit of information, and it essentially says that the use of complex formulas does not scale well in high-volume flow execution scenarios.

This is the reason I often use a formula field and refer to it in my flow when I deal with a very complex formula. The best architectural solution will depend on the type of flow you are building, how often it will be executed, and how frequently the object records are pulled up and viewed in the Org.

I wanted to go into this topic also to emphasize this point: Capable flow builders are not that uncommon, and there are many great admins on the platform, but a flow builder who is very knowledgable on the platform’s capabilities and can harness both sides to come up with a great solution, is a rare gem. Read the architect’s guide here.

Recently published resources:

Enjoy.

P.S. Originally published on 04/10/2022.

Read the previous issue of the newsletter here.

Read the next issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard