Migrate to Flow Best Practices

It finally happened: Winter 23 is here. You cannot create new workflow rules (WFRs) anymore.

Migrate to flow functionality is GA (Generally Available).🔥 Before I get into the details of this topic, let me tell you that all my courses are on a huge sale. Check below. 🔥What do you do now? Use this, and a couple of clicks later, your Org will be all on flow? Not so fast.

Let’s review the facts here.

Workflow rules support:

  • 🔁 Field Updates
  • 📧 Email Alerts
  • ☑️ Task Creation
  • 🕊 Outbound Messages

You can do all these things with flow.

First, review all the WFRs you have in our Org. Main parameters to look at (make a table out of this): 💡

  • Object (Opportunity)
  • Trigger (On Create)
  • Criteria (When Close Date <= Today + 30)
  • Action (Email Alert)

Why can’t you just use migrate-to-flow and migrate everything? The limitations are: 😰

  • Does not support tasks
  • Does not support long text fields in the criteria
  • Does not support cross-object reference in the criteria
  • Migrates one WFR to one Flow
  • Does not facilitate renaming/relabeling the flow (same name – renaming manual)

There are several approach alternatives you need to consider:

1️⃣ Custom Development: Analyze and design & build everything

2️⃣ Use migrate to flow when it works: One-to-one migration

3️⃣ Try to create one flow for most WFRs: Major work & Maintenance nightmare

4️⃣ Hybrid: Design your own strategy combining the methods above

I looked at all these factors and come up with a set of recommendations. I reviewed the recommendations in a Salesforce Saturday meeting with the awesome Salesforce ecosystem friends this past weekend. Here is a few of them:

  • Use migrate to flow for Email Alerts. Rename flows to follow a convention. One-to-one migration. Exception: Long text field reference in criteria (LongText is not blank)
  • Fast field updates should be combined in before-save flows. If you have too many variations of workflow criteria, do not force everything into one flow. Come up with logical divisions and split them into multiple naming the flows accordingly.
  • Tasks should be combined in after-save flows. On objects where there is an after-save flow already, the field updates can be included in one after-save flow.
  • When combining many WFRs with various different criteria into one flow, decisions get overly complicated. No access to a formula builder. Split if needed.

Please check the presentation pdf at this link for more information.🔥 All my courses are on a huge sale: ðŸ”¥

  • My bestseller Udemy course is on sale for $9.99, the lowest price of the year. Buy it now and get lifetime access to the course and the reshoot that will be published by the end of 2023. I will publish a new code here every week until the end of October. Click here to buy or use the code: OCTOBER1
  • My bootcamp-style six-week long Advanced Flow course is on a 50% sale. Buy it now and start the course on the 8th of January. Start the year strong: Click here to register.

This post was originally made to LinkedIn on October 17, 2022.

Read the previous post: AND(NextStep = “GoWithTheFlow”​, OR(Type “WFR”​, Type “PB”​))

Flow, Newsletter

I Wrote For Salesforce This Week

Hello folks,

I wrote for the Salesforce Admins Blog this week.

What is Process Automation?

How do you acquire this crucial skill?

Read my Process Automation blog post on the Salesforce Admins website by clicking here.


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

Read the previous issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.


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:


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.


Process Automation Credential

Hello folks,

This past week, I achieved the Process Automation Credential on the Salesforce partner side. 

The Accredited Professional program was announced in 2021. The partner credential program is somewhat similar to the Salesforce certification program and is only available for Salesforce partner employees. 

You can get certifications by following the partner learning camp training program for the specialization area you want to master. After the training, you will have to pass the exam using the virtual certification exam provider for the Salesforce partner side. The credentials bring Salesforce partners “cookie points” and are weighted differently depending on the specialization. For example, Process Automation is one of the more valuable credentials.

Since I call myself a Process Automation and Flow expert, I thought I would study the partner learning camp material and take the exam.

The flow product team is launching new functionality rapidly; therefore, keeping everything up-to-date is a heavy lift. When I started studying the material on the partner learning camp, I was immediately shocked. The material had an Oldies Goldies mixtape feel to it.

Process Automation Curriculum has five courses. One of the requirements of the “Get Started with Flow” course is that you listen to a podcast – or you can read the transcript – from July 2020 where the product manager at Salesforce says a few minutes into the recording: “So Oh my goodness, we can now trigger Flows when you save a record. Woo hoo!” This was shocking to me when I first heard it. However, it became more understandable when I realized that they talked about the Summer 20 Release in this podcast episode.

I needed to complete a few linked Trailhead modules and read some help pages to progress my studies. It is no secret that Trailhead is currently not the best place to learn flows. I know the Trailhead team agrees with me since they just hired an expert to review and improve the published material. But that is not even the weak part of the partner learning camp curriculum.

When completing the “Flow Testing and Distribution” course, I needed the check a “Got it!” checkbox indicating that I understood I should go to the “Paused Flow Interviews” screen in setup to debug failed flows. Is that even how that screen is titled?

When I headed to the “Hands-On Learning” course, I found additional resources links that I needed to check out. One of those was a YouTube video by Salesforce published in April 2019. The other one was a link to the Salesforce Anywhere Automation Tool Trailhead module. Do you know what Salesforce Anywhere is? It is Quip.

Then I signed up for the certification exam. The platform is rough; there are many issues, but let’s not focus on that.

When I started answering questions, I saw that there were inaccurate questions.

There was a question about a logic element; are decision elements grouped under logic elements now; if that is the case, I did not know. What good is going to do for me if I did? I am not sure. I would say forget about Salesforce Anywhere, but it was in the exam as far as I remember. There were two questions where you would have to know performing a DML operation before an outbound message is not good practice in flows. Why was I tested twice for something that is a tail case and that I can easily Google? It is a mystery to me.

But most importantly, would I know if somebody possesses good flow skills if they passed this exam? Absolutely not.

Congratulations to me; I have the Process Automation credential now.

However, I don’t recommend this credential exam to anyone until it is revised and drastically improved.

P.S. Originally published on 03/28/2022.

Note: I met with the partner side in Salesforce since I sent out this post, I am happy to announce they are working on improvements.

Read the previous issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.


Flow Orchestrator in Spring 22

Hello folks,

This week I will give you an overview of the Flow Orchestrator. This tool is possibly the most important tool that is going GA (generally available) with the Spring 22 Release.

I watched the Salesforce Spring 22 Release Readiness webcast for Admins on Friday. It was a great webcast.

Flow orchestrator is one of the topics that caught a lot of attention. Rightfully so! According to the Salesforce team, the use cases for the Orchestrator are:

  1. Handoff of tasks between users and teams.
  2. Multiple flows running parallel.

If your use cases don’t require any of these items, flow should be sufficient for you.

This simplified definition of the Flow Orchestrator is missing two important superpowers that we did not have before this release:

  1. Orchestrator supports on-screen user/public-group/queue targeted interactions that are triggered by object create/update.
  2. On-screen interactions can be delayed/scheduled based on triggers.

There are two types of Orchestrations:

  • Autolaunched
  • Record-Triggered

Orchestrations include stages consisting of one or multiple steps, each step pointing to one autolaunched or screen flow. They can also have decisions to determine what needs to be executed depending on various scenarios.

With the introduction of the flow Orchestrator, I can say flow is a skill that can keep you busy full time. I don’t know if this is the case already, but you could freelance just building Salesforce flows.

Getting started on the Orchestrator is quite intimidating.

You may be wondering what you need to do to prepare yourself for them. I will tell you: If you don’t have the fundamental knowledge of process, and have not done any process mapping, get started with that now. This is not for the faint-hearted.

When you click on create Ligtning App or Record-Triggered flow button in Salesforce you are greeted with a configurator.

You get a blank canvas when you choose to create new Orchestration. 

Help menu takes you to the standard flow help pages linked to Orchestrator help pages that offer minimal information.

There are advanced features that come with the Orchestrator. If you want, you can set entry and exit conditions that determine when each step in your flow is considered completed. This allows for enhanced functionality, but increases complexity at the same time.

I will give you more information as I experiment with Flow Orchestrator further.


P.S. Originally published on 02/06/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.