What’s trending
UPCOMING EVENTS
Einstein for Flow Now Generally Available: Tutorial and First Steps
By Andreea Doroftei
Spring ‘25 seems to have been yet another release, displaying Salesforce’s commitment to making Salesforce Flow the ultimate go-to automation tool, with more out-of-the-box functionality available for Salesforce professionals to support even the most complex business processes. After a beta period, Einstein for Flow is becoming generally available and is tailored to help Salesforce teams create and document their automations.
In this post, we will dive into how to get started with Einstein for Flow, and how this feature could aid you in your day-to-day tasks as a Salesforce Admin.
Enable Einstein for Flow
Einstein for Flow can be easily enabled in Setup. After you ensure that Einstein Generative AI is set up, a dedicated Flow Creation with Einstein page will also allow you to turn on Einstein for Flow.
From a permissions perspective, Manage Flows is needed so you can use it. Also, remember to keep an eye on your consumption in Digital Wallet, as creating flows with Einstein uses generative AI and does consume Einstein Requests.

Once enabled, you will notice the Einstein button appearing within Flow Builder, alongside a docked prompt on the right-hand side which you can toggle using the button. When creating new flows, you will have the option to “Let Einstein Help You Build”.


Know The Process to be Automated
Before heading to Flow Builder, it’s paramount to understand what you are looking to automate, as well as the key players within your automation, such as objects, fields, actions, and recipients.
When it comes to the overall process, you should know when it should be triggered, what criteria should be considered, and if any updates and calculations should be conducted.
Also, note that at this time Einstein for Flow can create flows up to about six elements, so if your process needs to be more complex than this, you could opt for Einstein to generate it initially, after which you can build on top of it just to speed up the process.
This feature is ultimately meant to save as much time as possible, and while it is already faster and more accurate in the Spring ‘25 release compared to the beta version, it will surely keep getting better over time.
Let Einstein Build the Flow for You
Einstein for Flow is meant to empower Salesforce professionals who build automations using Salesforce Flow to get time back, by creating a draft Flow based on natural language prompts they input.
The instructions should be specific and contain exactly the objects and fields that are to be used within the process, as well as other preferences as needed. For example, if the Flow is supposed to send out an email only to certain users, make sure to mention the criteria as well as what message or record information you would like included in the body.
When you have chosen to use Einstein for Flow, four example prompts are embedded and readily available to help you get started. You can also find additional examples here.

For this example, I selected a readily available prompt and added one more sentence of instructions before letting Einstein create the draft Flow. In this case, I’m expecting a Record-Triggered Flow whenever a new Contact record is created to send an email notification to the Account Owner. The body of the email should let the Account Owner know the contact name, email address, and account name.

This simple example was generated in almost a minute. Once Einstein is done, make sure to take a look and provide feedback within the docked prompt. If needed, you can also edit the instructions. If the result is not what you were looking for, you can also start over.

Review, Test, and Continue Building
Einstein for Flow should not be seen as a replacement for extensive knowledge about Flows, as you should ultimately know the process, the best practices, and of what the automation is supposed to do.
The AI-generated Flow above will indeed start whenever a Contact is created, after determining that there is indeed an Account ID that the Contact is related to.
Out of the box, the Account is not mandatory when creating a Contact (i.e. developer editions) and since information from the Account is used later on in the Flow, the entry criteria added by Einstein are warranted. The Flow is also optimized for Actions and Related Records, as it has to send an email notification.

The one element within this Flow is an Action to send the email, which is configured based on the prompt provided to Einstein.
While the correct recipient was selected, the text template resource was correctly used in the action for the EmailBody, and a subject was input, taking a closer look at the resources uncovered the need for a few edits.

Zooming into the EmailBody Text Template, it contains some of the resources mentioned in the prompt, respectively Contact Name and Account Name, but doesn’t include the Contact Email. I thought this was due to the prompt asking for the “Contact email address”, so I edited the instructions and used “Contact Email” instead to be the exact name of the field. However, it was still not added.

Additionally, the use of quotation marks and ampersands is unnecessary in the Text Template (would have been needed in a formula), making the email output expose these characters as well which is not ideal.
When testing the Flow before making any changes in the Text Template, the email notification contains the below message. After making a few tweaks in the Text Template though, the action is ready to use.

On top of what was generated by Einstein, you can continue editing the Flow just as you would any existing one, to add more elements and functionality as needed. Also, note that the draft is not automatically saved, so in order to not lose any progress, make sure to save the Flow, then proceed with any changes or debugging.
Use Einstein for Formula Resources
You might have noticed in the screenshot above that Einstein for Flow created another resource, on top of the EmailBody Text Template, and that is a formula frmEmailMessageBody.
Before opening it, I was under the impression that both types of resources were generated for the same purpose considering both of the names referring to the body of the email, with the human having to choose if they use the Formula or Text Template in the Action, but that wasn’t the case.
As you can see below, the formula is actually the URL of the Contact that was created. This however was not added in the Text Template, but just created as a resource. It is useful for users to have the Record URL in an email notification to open the record, and the formula output did work. However, this was not asked in the prompt.

Following the Spring ’25 release, you can use Einstein to generate the formula for individual Formula Resources yourself – regardless if the Flow is AI-generated or not, just like you would leverage generative AI for a formula field by describing what the formula should do.
After naming the formula and choosing its type, click the Einstein side button to provide natural language instructions of what the formula should do. This was a Flow on the Opportunity record, and I wanted to create a text formula based on the Stage. When writing the instructions, as you can see below, you should use the resource(s) your formula will be referencing.

While Salesforce professionals know that the Opportunity Stage is a standard picklist field, Einstein was initially thrown off when the fact that the field is a picklist wasn’t mentioned in the prompt.
Below is the initial prompt I used, which resulted in an erroneous formula and an error when checking the syntax. So once again, ensure that the instructions are as detailed as possible to avoid such outcomes.

Generate Description
Lastly, another use of Einstein within Flow Builder is to generate descriptions of both simple and more complex flows. This new Spring ‘25 addition enables Salesforce professionals to quickly understand what the Flow is doing and what fields are being used when someone else created it, or to automatically generate a description for new flows as they are being created.
For this example, I used a simple Opportunity Record-Triggered Flow, which updates the Close Date to today’s date when the Opportunity is closed. By clicking the Summarize Flow button within the docked prompt, Einstein will generate a summary of the Flow, accounting for the elements and actions, as well as the Objects and fields used.
You can once again provide feedback, copy the summary, or add it directly to the Flow description where you can edit as needed. On top of these, you can revise its length, if you would prefer a longer or shorter version of the description.
Note that this Flow is set to run only when a record is updated to meet the condition requirements. However, the AI summary mentions that “the Flow does not publish a segment or require the record to have changed to meet its criteria.” When in fact, the record is required to have changed to meet the criteria as noted in the Start element.

Considerations and Limitations
Before starting to use Einstein for Flow and formula creation, make sure to familiarize yourself with considerations and current limits, similar to how you would when starting to use any new features. These considerations include:
- When leveraging generative AI, make sure that the response is accurate and suitable for your organization’s context.
- Using generative AI functionalities incurs Einstein Requests consumption, in both production and sandbox environments. You can review more details here.
- At this time, scheduled and record-triggered flows as well as autolaunched and screen flows are supported by Einstein for Flow.
- Both Flow and formula creation support the models on the Salesforce generative AI platform as highlighted here.
Summary
Einstein for Flow has the potential to streamline Flow creation for Salesforce professionals, as well as help them document the automation, leading to significant time savings even when it comes to onboarding new admins who have to understand existing processes.
If you are an Einstein 1 customer already, make sure to give these new features a go in a sandbox with your very own new or existing Salesforce Flows. If you already tried them out, let us know about your experience in the comments below!