#screenflow — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #screenflow, aggregated by home.social.
-
Choices, Choices: What Are Radio Button Groups Best Used For
Salesforce’s Summer ’26 release is packing some serious automation upgrades. Whether you are managing multi-stakeholder approvals, scaling orchestration across your org, or building complex integrations without code, the platform is steadily removing friction points for admins. Among the most anticipated and highly visible improvements are the user interface enhancements coming to Screen Flows.
If you have ever built a screen flow and felt like you just couldn’t find the exact picker component you really needed, you are not alone. For years, Salesforce admins have relied on a standard set of inputs, but sometimes those options don’t quite fit the modern, streamlined aesthetic required for consumer-facing or high-efficiency internal apps. With the Salesforce Summer ’26 release, we are finally getting a massive UI upgrade to solve this: the Radio Button Group component.
The Problem with Traditional Inputs
Historically, when admins wanted to present users with a single-select choice, they relied heavily on traditional radio buttons, checkboxes, or picklists. While highly functional, these standard inputs can take up significant screen real estate. In complex flows, vertically listed radio buttons or extraordinarily long picklists often force users to scroll excessively, leading to a clunky and outdated user experience.
The Solution: Compact, Responsive Radio Button Groups
The new Radio Button Group component solves this real estate problem by offering a more compact and easily scannable alternative. It retains the core functionality of traditional radio buttons, meaning users can still only select a single option at runtime, but it completely overhauls the visual layout.
Visually, these actually look like “proper buttons” rather than old-school radio circles, giving your users a completely different interface experience than what we previously had inside Flow Builder. This component is fully responsive and adapts intelligently to the user’s device:
On Desktop: Choices are presented as horizontally stacked options, making excellent use of wider screens and drastically reducing vertical scrolling.
On Mobile: Choices automatically shift to a vertically stacked layout to accommodate narrower touch screens
Example Use Cases and Pro-Tips
Because these look like actual buttons, they are perfect for making quick, high-level decisions obvious to the user.
Action Selection: Give your users a clear, button-driven choice to “Create,” “Update,” or “Delete” a record
Shipping & Checkout: Instead of burying delivery speeds in a dropdown, present horizontal, button-like choices for “Standard,” “Express,” and “Overnight” shipping.
Adding this to your flows is incredibly simple. Inside Flow Builder, you just drag the Radio Button Group component from the left panel directly onto your screen, and configure it by adding your desired choices.
A Pro-Tip on Customization (Icons vs. Emojis): If you are looking to make these buttons even more visual, there is one important design limitation to keep in mind. If you select a standard Salesforce icon for your choice, it is not going to display inside the Radio Button Group.
If you absolutely need native Salesforce icons, you will still want to use the Visual Picker component. However, there is a fun and easy workaround: you can use emojis directly in your choice text labels. Many Trailblazers have already started using emojis while demoing this new functionality to add a pop of color and visual context to these new button groups.
A Comprehensive Review of Choice Components in Salesforce Flows
While the new Radio Button Group is exciting, Salesforce Flows offer a wide variety of choice components, each suited for specific scenarios. Here is a short review of all the choice components currently available to help you build the best user experience.
Standard Radio Buttons
What it is: The classic vertical list of circular clickable options.
When to use it: Use this when you have a small number of mutually exclusive choices (usually 2 to 5) and you want all options to be immediately visible to the user without requiring them to click a dropdown.
Drawbacks: As noted in the Summer ’26 updates, standard radio buttons stack vertically and can take up too much vertical screen space, causing excessive scrolling on longer forms
Picklists (Dropdowns)
What it is: A standard dropdown menu that reveals a list of choices when clicked.
When to use it: Picklists are ideal when you have a long list of mutually exclusive options (e.g., a list of 50 US States) and you need to conserve screen real estate.
Drawbacks: They require an extra click to view the options, which hides information from the user until they interact with the component.
Dependent Picklists
What it is: A set of picklists where the choices available in the second (dependent) picklist are dynamically filtered based on the value selected in the first (controlling) picklist.
When to use it: Perfect for hierarchical data, such as selecting a “Country” and then selecting a “State/Province” within that specific country.
Summer ’26 Update: As of Summer ’26, Dependent Picklists are one of the expanded components that now support styling overrides. You can customize their look and feel to override your org’s default theme, giving you more branding control.
Checkboxes (and Checkbox Groups)
What it is: Square selection boxes that allow for multiple selections.
When to use it: Use checkboxes when the user is allowed to select more than one option at a time (“Select all that apply”), or as a standalone boolean (True/False) toggle.
Drawbacks: Like standard radio buttons, long lists of checkboxes can clutter the screen and force scrolling.
Visual Picker
What it is: A highly visual, tile-based selection component that supports the inclusion of native Salesforce icons and rich text.
When to use it: Use the Visual Picker when you want to create a visually engaging, card-like selection experience. As mentioned previously, if you need to display standard Salesforce icons alongside your choices, the Visual Picker is the component you must use, as the new Radio Button Group does not support them.
Choice Lookup
What it is: A search-based input field that allows users to type and dynamically filter through a massive list of choices or records.
When to use it: Use this when your list of choices is too large for a standard picklist, and you want to provide a “search-as-you-type” experience to help the user find their desired option quickly.
Summer ’26 Update: Just like Dependent Picklists, the Choice Lookup component has been upgraded in the Summer ’26 release to support full styling overrides. You can now customize its style and layout to perfectly match your Experience Cloud site or custom Lightning app.
Ready to Build Better Screen Flows? Start With Summer ’26
With the addition of the new Radio Button Group component, admins now have more flexibility than ever to design intuitive, low-friction screen flows. By understanding the strengths and limitations of each choice component, from the visual flair of the Visual Picker to the space-saving utility of Picklists and the modern layout of the Radio Button Group, you can ensure your Salesforce automations look just as good as they function.
The best part? These are not just cosmetic upgrades. When users can scan choices faster, make decisions with fewer clicks, and navigate flows without excessive scrolling, you see real downstream impact: higher completion rates, fewer errors, and less admin rework. Whether you are building a customer-facing Experience Cloud app or an internal ops tool used by your sales team every day, thoughtful component selection is what separates a flow that users tolerate from one they actually enjoy. Take some time in a sandbox this release cycle to swap out those legacy radio button stacks and long picklists for their Summer ’26 counterparts. The difference will be immediately obvious.
Explore related content:
Summer ’26: What the New Accessibility Release Updates Mean for Your Org
Warn and Inform with Native Toast Messages in Salesforce Flow
Summer ’26: What the New Accessibility Release Updates Mean for Your Org
#Admin #NewRelease #SalesforceTutorial #SalesforceUpdate #ScreenFlow #Summer26 -
Ich antworte mir mal selber: Zoom-Videos scheinen Probleme zu machen, und nicht die Übergänge. Die mp4-Dateien von Zoom führen dazu, dass das Bild im aus Screenflow exportierten Video erst nach ein paar Sekunden zu sehen ist, der Bildschirm bleibt so lange schwarz, während der Ton aber zu hören ist.
Einmal durch Adobes Media Encoder gejagt ohne sonstige Konvertierungen und es funktioniert. -
Ich antworte mir mal selber: Zoom-Videos scheinen Probleme zu machen, und nicht die Übergänge. Die mp4-Dateien von Zoom führen dazu, dass das Bild im aus Screenflow exportierten Video erst nach ein paar Sekunden zu sehen ist, der Bildschirm bleibt so lange schwarz, während der Ton aber zu hören ist.
Einmal durch Adobes Media Encoder gejagt ohne sonstige Konvertierungen und es funktioniert. -
Nutzt hier jemand Screenflow am Mac und kann mir vielleicht bei einem Problem mit den Übergängen helfen?
EDIT: Liegt wohl eher am importierten Video.
-
Nutzt hier jemand Screenflow am Mac und kann mir vielleicht bei einem Problem mit den Übergängen helfen?
EDIT: Liegt wohl eher am importierten Video.
-
Nutzt hier jemand Screenflow am Mac und kann mir vielleicht bei einem Problem mit den Übergängen helfen?
EDIT: Liegt wohl eher am importierten Video.
-
Nutzt hier jemand Screenflow am Mac und kann mir vielleicht bei einem Problem mit den Übergängen helfen?
EDIT: Liegt wohl eher am importierten Video.
-
Nutzt hier jemand Screenflow am Mac und kann mir vielleicht bei einem Problem mit den Übergängen helfen?
EDIT: Liegt wohl eher am importierten Video.
-
Top Spring ’26 Salesforce Flow Features
What are the new features about? Spring 26 brings new screen, usability and platform enhancement features. Let’s dive into the details.
Top Screen Flow Spring 26 Features
It seems like most of the new features involve screen flows.
I will not go into further detail, but this release introduces yet another file upload component for screen flows: LWR File Upload Component for Experience Cloud.
Here are the rest of the screen flow improvements.
Screen Flow Screen Element and Component Style Enhancements
Screen flow screen element gets features that allow you do set the background, text and border colors. Border weight and radius can be adjusted. For input components, in-focus color for text can be differentiated. Flow buttons also get similar adjustments gaining the ability to change colors on hover over.
Any styling changes you set override your org or Experience Cloud site’s default theme.
Remember to keep your color and contrast choices in check for accessibility. Don’t do it as I did below. Go to the WebAIM contrast checker website and plug in your color codes to check whether their contrast is sufficient for accessibility.
Screen Flow Message Element
Screen Flow Message Element leverages the new styling options to display a message on the screen. It has a pulldown that allows you to create an information, success, warning or an error message. These come with standard color sets, which will direct flow developers in using a standard visual language.
This functionality is compliant with A11y for accessibility.
See all the four types on the same screen below.
Screen Flow Kanban Component (Beta)
The new Kanban component allows you to organize records into cards and columns. This is particularly useful for visualizing process phases and managing transitions across your workflow.
Use the new Kanban Board component to show records as cards in columns that represent workflow stages, without custom Lightning implementations. The Kanban Board is read-only, so users can’t drag cards between stages at run time.
Data Table Column Sort and Row Value Edit (TBD)
Now the user can sort the data table by columns and edit text fields in rows. This feature is not available in the preview orgs. The product team is working hard in the background to make this into the Spring 26 release. This functionality is slated to make it to the release at the last minute.
Preview Files Natively in Screen Flows
Elevate document-based processes by enabling your users to review file content directly within a screen flow. The new File Preview screen component removes the requirement to download files externally, ensuring easier document review and approval workflows.
This component seems to be already in production.
Open Screen Flows in Lightning Experience with a URL
Previously, when you opened a flow via URL, it did not launch in lightning experience. Now, it will launch in lightning preserving the experience your user is used to especially when they are working on a customized lightning console app.
I will quote the release notes for this one.
“To open a flow in Lightning Experience, append
/lightning/flow/YourFlowNameHereto your URL. To run a specific flow version, append/lightning/flow/YourFlowNameHere/versionIdto your URL. Flows that open in Lightning Experience have improved performance because most required Lightning components are already loaded into the browser session. In Lightning console apps, your tabs are preserved when a flow opens, and you can switch to other tabs while the flow is working. Using the new URL format also ensures that your browser behaves consistently, with forward, back, and your browser history working as expected.To pass data into a flow through its URL, append ?flow__variableIdHere=value to the end of your URL. For example, to pass a case number into a flow,
/lightning/flow/YourFlowNameHere?flow__variableIdHereID={!Case.CaseNumber}.Use
&to append multiple variables into a flow. For example,/lightning/flow/YourFlowNameHere?flow__varUserFirst={!$User.FirstName}&flow__varUserLast={!$User.LastName}passes both the user first name and last name into the flow.”Usability and Platform Features
I listed all of the screen flow features above. The following two items are huge usability improvements that also involves screen management for the flow canvas, not just only for screen flows.
Collapse and Expand Decision and Loop Elements
When your flow gets to big and you need to Marie Kondo (tidy up) your flow canvas, you can collapse the decision and loop elements that take up a lot of real estate. You can always expand them back when needed.
Now you can collapse and expand branching elements with Flow Builder, including Wait, Decision, Loop, Path Experiment, and Async Actions, helping you focus on the key parts of your flow.
This layout is saved automatically and locally in your browser, making it easier to return to your work without changing the view for other users.
Mouse, Trackpad and Keyboard Scroll
Now you don’t have to drag or use the scroll bar to move the flow around on the flow canvas. You can use vertical and horizontal wheels on your mouse, the arrows keys on your keyboard or your trackpad if you have one.
No need to use Salesforce Inspector Reloaded to get this functionality any more. Thanks to Salesforce Inspector Relaoded for filling the gap in the mean time.
Content Document and Content Version Flow Triggers for Files and Attachments (Beta)
Salesforce delivered a new event type in the last release that could trigger flows for standard object files and attachments. The functionality was limited. In this release, Salesforce gave us the ability to trigger on all new files/attachments and their updates for all objects.
I was told by the product team that this functionality will be released as beta.
Flow Logging
I am not exactly sure what has been improved here. Salesforce had previously announced additional flow logging capabilities leveraging Data Cloud. Now, a new flow logging tab has been added to the Automation Lightning App.
Debug Improvements
The debug in the flow builder will now remember the record that it ran on and the updated field value if it is running in an update scenario. Debug inputs such as triggering record values, debug options, and input variable values now remain set when you save flow changes within your Flow Builder session. The user will need to click a reset button to disassociate the debug run from the input for the last run. This change is intended to make debug reruns faster.
Flow builder will preserve debug configurations when you save changes to your flow. Refreshing your browser or closing Flow Builder clears all debug settings.
Conclusion
Salesforce product teams work hard delivering new features for every release. Spring 26 release brings significant new improvements for the flow builder. I would have liked to see additional capabilities coming for flow types other than screen flows. This release seems to be a lighter release in that area.
Additional bonus features include request for approval component for lightning page layouts (highly-requested feature), compare screen flow versions, and associating flow tests with flow versions.
The release notes are still in preview. And we could still have new functionalities removed or added in the release cycle.
This post will be updated as additional details are made available.
[youtube https://www.youtube.com/watch?v=eZC_8W1IbUs?feature=oembed&w=800&h=450]
Explore related content:
Salesforce Optimizer Is Retired: Meet Org Check
One Simple Salesforce Flow Hack That Will Change Your Workflow Forever!
Automate Permissions in Salesforce with User Access Policies
Spring ’26 Release Notes: Highlights for Admins and Developers
What Is Vibe Coding? And What’s New in Agentforce Vibes for Developers?
#Kanban #Salesforce #SalesforceAdmins #SalesforceDevelopers #SalesforceTutorials #SalesforceUpdate #ScreenFlow #Spring26 -
Top Spring ’26 Salesforce Flow Features
What are the new features about? Spring 26 brings new screen, usability and platform enhancement features. Let’s dive into the details.
Top Screen Flow Spring 26 Features
It seems like most of the new features involve screen flows.
I will not go into further detail, but this release introduces yet another file upload component for screen flows: LWR File Upload Component for Experience Cloud.
Here are the rest of the screen flow improvements.
Screen Flow Screen Element and Component Style Enhancements
Screen flow screen element gets features that allow you do set the background, text and border colors. Border weight and radius can be adjusted. For input components, in-focus color for text can be differentiated. Flow buttons also get similar adjustments gaining the ability to change colors on hover over.
Any styling changes you set override your org or Experience Cloud site’s default theme.
Remember to keep your color and contrast choices in check for accessibility. Don’t do it as I did below. Go to the WebAIM contrast checker website and plug in your color codes to check whether their contrast is sufficient for accessibility.
Screen Flow Message Element
Screen Flow Message Element leverages the new styling options to display a message on the screen. It has a pulldown that allows you to create an information, success, warning or an error message. These come with standard color sets, which will direct flow developers in using a standard visual language.
This functionality is compliant with A11y for accessibility.
See all the four types on the same screen below.
Screen Flow Kanban Component (Beta)
The new Kanban component allows you to organize records into cards and columns. This is particularly useful for visualizing process phases and managing transitions across your workflow.
Use the new Kanban Board component to show records as cards in columns that represent workflow stages, without custom Lightning implementations. The Kanban Board is read-only, so users can’t drag cards between stages at run time.
Data Table Column Sort and Row Value Edit (TBD)
Now the user can sort the data table by columns and edit text fields in rows. This feature is not available in the preview orgs. The product team is working hard in the background to make this into the Spring 26 release. This functionality is slated to make it to the release at the last minute.
Preview Files Natively in Screen Flows
Elevate document-based processes by enabling your users to review file content directly within a screen flow. The new File Preview screen component removes the requirement to download files externally, ensuring easier document review and approval workflows.
This component seems to be already in production.
Open Screen Flows in Lightning Experience with a URL
Previously, when you opened a flow via URL, it did not launch in lightning experience. Now, it will launch in lightning preserving the experience your user is used to especially when they are working on a customized lightning console app.
I will quote the release notes for this one.
“To open a flow in Lightning Experience, append
/lightning/flow/YourFlowNameHereto your URL. To run a specific flow version, append/lightning/flow/YourFlowNameHere/versionIdto your URL. Flows that open in Lightning Experience have improved performance because most required Lightning components are already loaded into the browser session. In Lightning console apps, your tabs are preserved when a flow opens, and you can switch to other tabs while the flow is working. Using the new URL format also ensures that your browser behaves consistently, with forward, back, and your browser history working as expected.To pass data into a flow through its URL, append ?flow__variableIdHere=value to the end of your URL. For example, to pass a case number into a flow,
/lightning/flow/YourFlowNameHere?flow__variableIdHereID={!Case.CaseNumber}.Use
&to append multiple variables into a flow. For example,/lightning/flow/YourFlowNameHere?flow__varUserFirst={!$User.FirstName}&flow__varUserLast={!$User.LastName}passes both the user first name and last name into the flow.”Usability and Platform Features
I listed all of the screen flow features above. The following two items are huge usability improvements that also involves screen management for the flow canvas, not just only for screen flows.
Collapse and Expand Decision and Loop Elements
When your flow gets to big and you need to Marie Kondo (tidy up) your flow canvas, you can collapse the decision and loop elements that take up a lot of real estate. You can always expand them back when needed.
Now you can collapse and expand branching elements with Flow Builder, including Wait, Decision, Loop, Path Experiment, and Async Actions, helping you focus on the key parts of your flow.
This layout is saved automatically and locally in your browser, making it easier to return to your work without changing the view for other users.
Mouse, Trackpad and Keyboard Scroll
Now you don’t have to drag or use the scroll bar to move the flow around on the flow canvas. You can use vertical and horizontal wheels on your mouse, the arrows keys on your keyboard or your trackpad if you have one.
No need to use Salesforce Inspector Reloaded to get this functionality any more. Thanks to Salesforce Inspector Relaoded for filling the gap in the mean time.
Content Document and Content Version Flow Triggers for Files and Attachments (Beta)
Salesforce delivered a new event type in the last release that could trigger flows for standard object files and attachments. The functionality was limited. In this release, Salesforce gave us the ability to trigger on all new files/attachments and their updates for all objects.
I was told by the product team that this functionality will be released as beta.
Flow Logging
I am not exactly sure what has been improved here. Salesforce had previously announced additional flow logging capabilities leveraging Data Cloud. Now, a new flow logging tab has been added to the Automation Lightning App.
Debug Improvements
The debug in the flow builder will now remember the record that it ran on and the updated field value if it is running in an update scenario. Debug inputs such as triggering record values, debug options, and input variable values now remain set when you save flow changes within your Flow Builder session. The user will need to click a reset button to disassociate the debug run from the input for the last run. This change is intended to make debug reruns faster.
Flow builder will preserve debug configurations when you save changes to your flow. Refreshing your browser or closing Flow Builder clears all debug settings.
Conclusion
Salesforce product teams work hard delivering new features for every release. Spring 26 release brings significant new improvements for the flow builder. I would have liked to see additional capabilities coming for flow types other than screen flows. This release seems to be a lighter release in that area.
Additional bonus features include request for approval component for lightning page layouts (highly-requested feature), compare screen flow versions, and associating flow tests with flow versions.
The release notes are still in preview. And we could still have new functionalities removed or added in the release cycle.
This post will be updated as additional details are made available.
[youtube https://www.youtube.com/watch?v=eZC_8W1IbUs?feature=oembed&w=800&h=450]
Explore related content:
Salesforce Optimizer Is Retired: Meet Org Check
One Simple Salesforce Flow Hack That Will Change Your Workflow Forever!
Automate Permissions in Salesforce with User Access Policies
Spring ’26 Release Notes: Highlights for Admins and Developers
What Is Vibe Coding? And What’s New in Agentforce Vibes for Developers?
#Kanban #Salesforce #SalesforceAdmins #SalesforceDevelopers #SalesforceTutorials #SalesforceUpdate #ScreenFlow #Spring26 -
PSA - To get #Screenflow to “hear” audio on a iPhone-recorded video, set the Camera > Record Sound option on your iPhone to Stereo (instead of Spacial Audio).
I have been struggling to fix this issue for YEARS. I could not find it at all in #Telestream's support and refuse to pay a premium to get better support.
Honestly, if my laptop could run DaVinci Resolve, I'd stop using Screenflow entirely. It’s just not worth it to have loaded desktop AND laptop systems.
-
PSA - To get #Screenflow to “hear” audio on a iPhone-recorded video, set the Camera > Record Sound option on your iPhone to Stereo (instead of Spacial Audio).
I have been struggling to fix this issue for YEARS. I could not find it at all in #Telestream's support and refuse to pay a premium to get better support.
Honestly, if my laptop could run DaVinci Resolve, I'd stop using Screenflow entirely. It’s just not worth it to have loaded desktop AND laptop systems.
-
#today
Is it normal for me to get excited when I build out a working screen in a #ScreenFlow? Ok it's a simple screen but I'm very proud of myself. I figured out how to do this without help from the notes i have. this muscle memory thing is real. The debug actually worked!
#Salesforce #Admin #Excitement -
#today
Is it normal for me to get excited when I build out a working screen in a #ScreenFlow? Ok it's a simple screen but I'm very proud of myself. I figured out how to do this without help from the notes i have. this muscle memory thing is real. The debug actually worked!
#Salesforce #Admin #Excitement -
Dass #screenflow auch in Version 10 (!) keinen einfachen Weg anbietet, diese ollen Chapter Marker in einem für #YouTube brauchbaren Format zu exportieren kann man auch nur als Arbeitsverweigerung bezeichnen.
ChatGPT wird es (wieder mal) richten. -
Dass #screenflow auch in Version 10 (!) keinen einfachen Weg anbietet, diese ollen Chapter Marker in einem für #YouTube brauchbaren Format zu exportieren kann man auch nur als Arbeitsverweigerung bezeichnen.
ChatGPT wird es (wieder mal) richten. -
Dass #screenflow auch in Version 10 (!) keinen einfachen Weg anbietet, diese ollen Chapter Marker in einem für #YouTube brauchbaren Format zu exportieren kann man auch nur als Arbeitsverweigerung bezeichnen.
ChatGPT wird es (wieder mal) richten. -
Dass #screenflow auch in Version 10 (!) keinen einfachen Weg anbietet, diese ollen Chapter Marker in einem für #YouTube brauchbaren Format zu exportieren kann man auch nur als Arbeitsverweigerung bezeichnen.
ChatGPT wird es (wieder mal) richten. -
Dass #screenflow auch in Version 10 (!) keinen einfachen Weg anbietet, diese ollen Chapter Marker in einem für #YouTube brauchbaren Format zu exportieren kann man auch nur als Arbeitsverweigerung bezeichnen.
ChatGPT wird es (wieder mal) richten. -
New video (finally!) on my YouTube channel: How I set up the Elgato Stream Deck+ Wavelink software so I could monitor myself in my headphones. I really was ready to return the Stream Deck+ XLR until I figured this out. https://youtu.be/mvvh6oj2Iu8
-
New video (finally!) on my YouTube channel: How I set up the Elgato Stream Deck+ Wavelink software so I could monitor myself in my headphones. I really was ready to return the Stream Deck+ XLR until I figured this out. https://youtu.be/mvvh6oj2Iu8
-
New video (finally!) on my YouTube channel: How I set up the Elgato Stream Deck+ Wavelink software so I could monitor myself in my headphones. I really was ready to return the Stream Deck+ XLR until I figured this out. https://youtu.be/mvvh6oj2Iu8
-
New video (finally!) on my YouTube channel: How I set up the Elgato Stream Deck+ Wavelink software so I could monitor myself in my headphones. I really was ready to return the Stream Deck+ XLR until I figured this out. https://youtu.be/mvvh6oj2Iu8
-
New video (finally!) on my YouTube channel: How I set up the Elgato Stream Deck+ Wavelink software so I could monitor myself in my headphones. I really was ready to return the Stream Deck+ XLR until I figured this out. https://youtu.be/mvvh6oj2Iu8
-
Should You Leave Unused Input and Output Flow Variables?
In Salesforce Flow, input variables are special placeholders that allow data to be passed into a flow from an external source, such as a Lightning page, a button, another flow, or even an Apex class, so that the flow can use that data during its execution. When you create an input variable in Flow Builder, you mark it as Available for Input, which makes it visible and ready to receive values from outside the flow. Output variables, on the other hand, are used to send data out of a flow so it can be consumed by whatever triggered or called the flow, such as another flow, a Lightning web component, or an Apex class. When you create a variable and mark it as Available for Output, the flow can pass its final or intermediate values back to the caller once it finishes running.
Input variables are especially useful for building modular, reusable flows. You can design them to handle different scenarios based on the values provided at runtime. For example, a record ID provided as an input variable can help the flow retrieve and update that specific record without needing user input. By leveraging input variables, you can keep flows flexible, reduce duplication, and make them easier to maintain.
Similarly, output variables are powerful when building modular, subflow-based solutions. The parent flow can feed inputs to the subflow, receive outputs in return, and then continue processing without extra queries or logic. For example, a subflow might calculate a discount amount or generate a new record ID. It can then return it as an output variable for the parent flow to use. Output variables make flows more reusable, keep processes streamlined, and allow different automation components to share data seamlessly.
Security Implications of Variables Available for Input and Output
In programming, a variable’s scope defines the region of code where it exists and can be used, such as within a specific method, a class, or an entire module. For example, a variable defined inside a method is local to that method and cannot be seen or changed by code outside it, much like keeping notes in your own locked desk drawer. This “privacy” ensures that internal details remain protected from unintended interference, which is a key aspect of encapsulation in programming. If you want other parts of the program to access the data, you must explicitly expose it through return values, public properties, parameters, or other controlled interfaces. This principle not only prevents accidental bugs but also supports security. Sensitive data and logic remain inaccessible unless intentionally shared, helping keep the system stable, predictable, and easier to maintain.
When you allow input variables for your flow, you allow external environments that run this flow to pass parameters into it. This potentially makes your flow vulnerable to outside attacks. When you configure output variables for your flow, you are creating a risk of external environments accessing flow output data. This is often data recorded in your Salesforce org. This data may include personally identifiable information or sensitive data.
In addition, avoid using inputs that are easy to guess. If you look up a contact record based on their email address, attackers may guess the email address after a few tries ([email protected] for example).
What About Flows Built for Digital Experience Guest Users?
When you build a flow and deploy it on a digital experience site, where the guest user can execute it without logging in, you are exposing your flow to the outside world. This scenario makes your flow even more vulnerable to outside attacks.
Guest User Means Anybody Can Access Any Time
First of all, please know that this is a very risky approach. You should assume anybody can run that flow anytime, which is what you allowed. Make sure that only limited inputs and outputs are defined and used. The flow should only execute a limited scope that it absolutely needs. You should not allow the flow to perform a multitude of operations because you aim for flexibility. Test many scenarios to ensure attacks can not derail your flow and trick it to perform operations that it is not intended to perform.
Limit the Data
Furthermore, you should not allow the flow to access any information it does not need to see. If you are dealing with records or record collections, make sure your gets specify fields that are absolutely necessary. Do not get the drivers license number for the contact when you just need the name. In this scenario, do not let Salesforce automatically decide what fields to get. Also, when performing updates, do not update all the field values on the record. Just update whichever field is important to update for your process.
Isolate the Elevated Functionality
Finally, you may be tempted to set your flow to run in system context without sharing, or to allow a guest user to view records in the org through sharing rules. Both scenarios introduce additional risks that must be carefully considered.
When allowing your automation to run in system context without sharing, isolate the necessary part into a subflow. Ensure that logic is tightened well from a security standpoint. Do not run the whole flow in system context without sharing mode. Just run the necessary part in a subflow using this elevated setting.
Screen Flows and Reactivity
Whether you allow elevated access or not, screen flows present a couple of inherited risks.
When you pass information to a data table, lightning web component or a screen action, that information is accessed by your browser locally. If you feed a collection of contact records to a datatable and get all field values before you go to the data table screen, the local browser will see all the field values on the record. This happens before the user interacts with the table. The user can see these values.
Recent developments of reactivity for screen flows are fantastic from a UI standpoint, but further complicate the security risks. The more reactive functionality you use in your flow, the more data you handle locally in your browser.
Conclusion
When flow builders, especially new starters, build flow variables, they often freely check available for input and available for output checkboxes. They do this thinking the alternative would limit them. This is risky and not necessary. You can change these settings at any time without having to create or recreate variables.
Always plan your inputs and outputs carefully and review them at the end of development. Make sure you don’t have any unused variables still accepting inputs or producing outputs.
In this era, where we hear the Salesforce name associated with client data security breach incidents, apply extreme security caution when dealing with automation.
This post is part of our Flow Best Practice series. See the other posts HERE.
Sources and references:
Building Secure Screen Flows For External User Access by Adam White
Data Safety When Running Screen and Autolaunched Flows in System Context – Salesforce Help
Explore related content:
How To Attach Files Using the Flow Email Action in Salesforce
Getting Started with Salesforce Data Cloud: Your Roadmap to Unified Customer Insights
How To Build Flex and Field Generation Prompt Templates in the Prompt Builder
#Apex #BestPractices #InputVariables #LowCode #OutputVariables #Salesforce #SalesforceAdmins #SalesforceDevelopers #SalesforceTutorials #ScreenFlow #Security
-
Should You Leave Unused Input and Output Flow Variables?
In Salesforce Flow, input variables are special placeholders that allow data to be passed into a flow from an external source, such as a Lightning page, a button, another flow, or even an Apex class, so that the flow can use that data during its execution. When you create an input variable in Flow Builder, you mark it as Available for Input, which makes it visible and ready to receive values from outside the flow. Output variables, on the other hand, are used to send data out of a flow so it can be consumed by whatever triggered or called the flow, such as another flow, a Lightning web component, or an Apex class. When you create a variable and mark it as Available for Output, the flow can pass its final or intermediate values back to the caller once it finishes running.
Input variables are especially useful for building modular, reusable flows. You can design them to handle different scenarios based on the values provided at runtime. For example, a record ID provided as an input variable can help the flow retrieve and update that specific record without needing user input. By leveraging input variables, you can keep flows flexible, reduce duplication, and make them easier to maintain.
Similarly, output variables are powerful when building modular, subflow-based solutions. The parent flow can feed inputs to the subflow, receive outputs in return, and then continue processing without extra queries or logic. For example, a subflow might calculate a discount amount or generate a new record ID. It can then return it as an output variable for the parent flow to use. Output variables make flows more reusable, keep processes streamlined, and allow different automation components to share data seamlessly.
Security Implications of Variables Available for Input and Output
In programming, a variable’s scope defines the region of code where it exists and can be used, such as within a specific method, a class, or an entire module. For example, a variable defined inside a method is local to that method and cannot be seen or changed by code outside it, much like keeping notes in your own locked desk drawer. This “privacy” ensures that internal details remain protected from unintended interference, which is a key aspect of encapsulation in programming. If you want other parts of the program to access the data, you must explicitly expose it through return values, public properties, parameters, or other controlled interfaces. This principle not only prevents accidental bugs but also supports security. Sensitive data and logic remain inaccessible unless intentionally shared, helping keep the system stable, predictable, and easier to maintain.
When you allow input variables for your flow, you allow external environments that run this flow to pass parameters into it. This potentially makes your flow vulnerable to outside attacks. When you configure output variables for your flow, you are creating a risk of external environments accessing flow output data. This is often data recorded in your Salesforce org. This data may include personally identifiable information or sensitive data.
In addition, avoid using inputs that are easy to guess. If you look up a contact record based on their email address, attackers may guess the email address after a few tries ([email protected] for example).
What About Flows Built for Digital Experience Guest Users?
When you build a flow and deploy it on a digital experience site, where the guest user can execute it without logging in, you are exposing your flow to the outside world. This scenario makes your flow even more vulnerable to outside attacks.
Guest User Means Anybody Can Access Any Time
First of all, please know that this is a very risky approach. You should assume anybody can run that flow anytime, which is what you allowed. Make sure that only limited inputs and outputs are defined and used. The flow should only execute a limited scope that it absolutely needs. You should not allow the flow to perform a multitude of operations because you aim for flexibility. Test many scenarios to ensure attacks can not derail your flow and trick it to perform operations that it is not intended to perform.
Limit the Data
Furthermore, you should not allow the flow to access any information it does not need to see. If you are dealing with records or record collections, make sure your gets specify fields that are absolutely necessary. Do not get the drivers license number for the contact when you just need the name. In this scenario, do not let Salesforce automatically decide what fields to get. Also, when performing updates, do not update all the field values on the record. Just update whichever field is important to update for your process.
Isolate the Elevated Functionality
Finally, you may be tempted to set your flow to run in system context without sharing, or to allow a guest user to view records in the org through sharing rules. Both scenarios introduce additional risks that must be carefully considered.
When allowing your automation to run in system context without sharing, isolate the necessary part into a subflow. Ensure that logic is tightened well from a security standpoint. Do not run the whole flow in system context without sharing mode. Just run the necessary part in a subflow using this elevated setting.
Screen Flows and Reactivity
Whether you allow elevated access or not, screen flows present a couple of inherited risks.
When you pass information to a data table, lightning web component or a screen action, that information is accessed by your browser locally. If you feed a collection of contact records to a datatable and get all field values before you go to the data table screen, the local browser will see all the field values on the record. This happens before the user interacts with the table. The user can see these values.
Recent developments of reactivity for screen flows are fantastic from a UI standpoint, but further complicate the security risks. The more reactive functionality you use in your flow, the more data you handle locally in your browser.
Conclusion
When flow builders, especially new starters, build flow variables, they often freely check available for input and available for output checkboxes. They do this thinking the alternative would limit them. This is risky and not necessary. You can change these settings at any time without having to create or recreate variables.
Always plan your inputs and outputs carefully and review them at the end of development. Make sure you don’t have any unused variables still accepting inputs or producing outputs.
In this era, where we hear the Salesforce name associated with client data security breach incidents, apply extreme security caution when dealing with automation.
This post is part of our Flow Best Practice series. See the other posts HERE.
Sources and references:
Building Secure Screen Flows For External User Access by Adam White
Data Safety When Running Screen and Autolaunched Flows in System Context – Salesforce Help
Explore related content:
How To Attach Files Using the Flow Email Action in Salesforce
Getting Started with Salesforce Data Cloud: Your Roadmap to Unified Customer Insights
How To Build Flex and Field Generation Prompt Templates in the Prompt Builder
#Apex #BestPractices #InputVariables #LowCode #OutputVariables #Salesforce #SalesforceAdmins #SalesforceDevelopers #SalesforceTutorials #ScreenFlow #Security
-
By george I think I'm getting the hang of this automation thing. I don't think I had a debug session break, well we'll see when and if I get the email. At least I didn't see any errors this time. It only took me 3 weeks to get this far. Even if it is slightly broken, seeing my work is quite cool!
#Salesforce #Flow #Automation #ScreenFlow -
By george I think I'm getting the hang of this automation thing. I don't think I had a debug session break, well we'll see when and if I get the email. At least I didn't see any errors this time. It only took me 3 weeks to get this far. Even if it is slightly broken, seeing my work is quite cool!
#Salesforce #Flow #Automation #ScreenFlow -
By george I think I'm getting the hang of this automation thing. I don't think I had a debug session break, well we'll see when and if I get the email. At least I didn't see any errors this time. It only took me 3 weeks to get this far. Even if it is slightly broken, seeing my work is quite cool!
#Salesforce #Flow #Automation #ScreenFlow -
By george I think I'm getting the hang of this automation thing. I don't think I had a debug session break, well we'll see when and if I get the email. At least I didn't see any errors this time. It only took me 3 weeks to get this far. Even if it is slightly broken, seeing my work is quite cool!
#Salesforce #Flow #Automation #ScreenFlow -
By george I think I'm getting the hang of this automation thing. I don't think I had a debug session break, well we'll see when and if I get the email. At least I didn't see any errors this time. It only took me 3 weeks to get this far. Even if it is slightly broken, seeing my work is quite cool!
#Salesforce #Flow #Automation #ScreenFlow -
I want to do some screen-recording focused (personal) videos.
I've used #ScreenFlow at work and I'm pretty proficient with it. But it's also not amazing software and closed source. And I might want to do some stuff on Linux, not just MacOS.
I'd like to find something #OpenSource that fills the same niche. Anyone know of a #foss workflow or (better) an integrated application for doing screen capture focused video production?
(Ideally, needs to work both on Linux and MacOS)
-
I want to do some screen-recording focused (personal) videos.
I've used #ScreenFlow at work and I'm pretty proficient with it. But it's also not amazing software and closed source. And I might want to do some stuff on Linux, not just MacOS.
I'd like to find something #OpenSource that fills the same niche. Anyone know of a #foss workflow or (better) an integrated application for doing screen capture focused video production?
(Ideally, needs to work both on Linux and MacOS)
-
I want to do some screen-recording focused (personal) videos.
I've used #ScreenFlow at work and I'm pretty proficient with it. But it's also not amazing software and closed source. And I might want to do some stuff on Linux, not just MacOS.
I'd like to find something #OpenSource that fills the same niche. Anyone know of a #foss workflow or (better) an integrated application for doing screen capture focused video production?
(Ideally, needs to work both on Linux and MacOS)
-
I want to do some screen-recording focused (personal) videos.
I've used #ScreenFlow at work and I'm pretty proficient with it. But it's also not amazing software and closed source. And I might want to do some stuff on Linux, not just MacOS.
I'd like to find something #OpenSource that fills the same niche. Anyone know of a #foss workflow or (better) an integrated application for doing screen capture focused video production?
(Ideally, needs to work both on Linux and MacOS)
-
I want to do some screen-recording focused (personal) videos.
I've used #ScreenFlow at work and I'm pretty proficient with it. But it's also not amazing software and closed source. And I might want to do some stuff on Linux, not just MacOS.
I'd like to find something #OpenSource that fills the same niche. Anyone know of a #foss workflow or (better) an integrated application for doing screen capture focused video production?
(Ideally, needs to work both on Linux and MacOS)
-
How to Use Custom Metadata Types in Flow
How do you use Custom Metadata in Screen Flows?
Salesforce Custom Metadata Types (CMDT) are a type of metadata in Salesforce that allow you to define, deploy, and manage application configurations and settings as metadata. Unlike custom objects, the data stored in custom metadata types can be deployed from one Salesforce environment to another using deployment tools like change sets, Salesforce CLI, or packages. This makes them particularly useful for configuration data that needs to be consistent across environments.
Key Features of Custom Metadata Types
1. Metadata Deployment:
• Both the structure (fields, relationships) and the records (data) of custom metadata types can be included in deployments.
• Records are treated as metadata, making them deployable and version-controlled.
2. Declarative Configuration:
• Define fields, relationships, and records directly in the Salesforce UI or using tools like Metadata API and Salesforce CLI.
3. Programmatic Access:
• Accessible through SOQL queries, Apex, and APIs.
• Example: SELECT DeveloperName, FieldName__c FROM Custom_Metadata_Type__mdt
4. Relationships:
• Support for lookups to other custom metadata types and standard objects.
5. Integration with Packages:
• Custom metadata types can be included in managed and unmanaged packages for easy distribution.
🚨 Use case 👇🏼Build a screen flow for a survey where the admin can change the questions and choices without modifying the flow. Let’s say you have a screen flow with survey questions.
By leveraging custom metadata types, you can provide a way for the admin to change the questions and choices without modifying the screen flow.
Here is how you can build your solution:
1. Create a Custom Metadata Type
Navigate to Setup → Custom Metadata Types → New Custom Metadata Type to define the CMDT. Specify the label, object name, and optional description. Like with custom objects, you can define custom fields for your metadata type, such as Question 1, Choice 1, etc. Create Records: Go to the custom metadata type detail page and create records for your configuration. Each record will represent one question in the survey.
2. Build your flow
Get the CMDT in your screen flow and use them in read-only screen components. Loop through screens in your flow and record the answers using a slider. You can even drive the weighted average calculation using the Custom Metadata.
3. Debug, test and deploy
Ensure that your flow runs well. Deploy the CMDT structure and records along with your flow. Remember all these configurations and data are deployable between environments. You don’t need to export and import them.
4. Maintain the CMDT records
Change the CMDT records when you need to modify the survey.
Notice that we have a get inside the loop in this flow. This is not a big concern for several reasons:
- Each screen in the screen flow splits a transaction.
- As the flow builder, you determine how many times the flow will loop through the number of CMDT records.
Conclusion
Salesforce Custom Metadata Types offer a powerful and flexible way to manage application configurations across multiple environments without hardcoding values within your Flows. By utilizing CMDTs, admins and developers can enhance the process of updating and maintaining dynamic data sets like survey questions in Screen Flows, thereby improving adaptability and efficiency. This approach not only saves time but also maintains consistency and reliability across deployments, making it an invaluable tool for any Salesforce implementation.
What are some other ways you leverage CMDT in flow?
Explore related content:
Using Custom Metadata Types in Flows Without Get
How to Use the Action Button Component in Screen Flow
Enhance UX in Flow with Custom LWC Icon Selector
Can You After-Save When You Can Before-Save?
#Apex #API #CMDT #CustomMetadata #Salesforce #ScreenFlow #SOQL #useCase
-
How to Use Custom Metadata Types in Flow
How do you use Custom Metadata in Screen Flows?
Salesforce Custom Metadata Types (CMDT) are a type of metadata in Salesforce that allow you to define, deploy, and manage application configurations and settings as metadata. Unlike custom objects, the data stored in custom metadata types can be deployed from one Salesforce environment to another using deployment tools like change sets, Salesforce CLI, or packages. This makes them particularly useful for configuration data that needs to be consistent across environments.
Key Features of Custom Metadata Types
1. Metadata Deployment:
• Both the structure (fields, relationships) and the records (data) of custom metadata types can be included in deployments.
• Records are treated as metadata, making them deployable and version-controlled.
2. Declarative Configuration:
• Define fields, relationships, and records directly in the Salesforce UI or using tools like Metadata API and Salesforce CLI.
3. Programmatic Access:
• Accessible through SOQL queries, Apex, and APIs.
• Example: SELECT DeveloperName, FieldName__c FROM Custom_Metadata_Type__mdt
4. Relationships:
• Support for lookups to other custom metadata types and standard objects.
5. Integration with Packages:
• Custom metadata types can be included in managed and unmanaged packages for easy distribution.
🚨 Use case 👇🏼Build a screen flow for a survey where the admin can change the questions and choices without modifying the flow. Let’s say you have a screen flow with survey questions.
By leveraging custom metadata types, you can provide a way for the admin to change the questions and choices without modifying the screen flow.
Here is how you can build your solution:
1. Create a Custom Metadata Type
Navigate to Setup → Custom Metadata Types → New Custom Metadata Type to define the CMDT. Specify the label, object name, and optional description. Like with custom objects, you can define custom fields for your metadata type, such as Question 1, Choice 1, etc. Create Records: Go to the custom metadata type detail page and create records for your configuration. Each record will represent one question in the survey.
2. Build your flow
Get the CMDT in your screen flow and use them in read-only screen components. Loop through screens in your flow and record the answers using a slider. You can even drive the weighted average calculation using the Custom Metadata.
3. Debug, test and deploy
Ensure that your flow runs well. Deploy the CMDT structure and records along with your flow. Remember all these configurations and data are deployable between environments. You don’t need to export and import them.
4. Maintain the CMDT records
Change the CMDT records when you need to modify the survey.
Notice that we have a get inside the loop in this flow. This is not a big concern for several reasons:
- Each screen in the screen flow splits a transaction.
- As the flow builder, you determine how many times the flow will loop through the number of CMDT records.
Conclusion
Salesforce Custom Metadata Types offer a powerful and flexible way to manage application configurations across multiple environments without hardcoding values within your Flows. By utilizing CMDTs, admins and developers can enhance the process of updating and maintaining dynamic data sets like survey questions in Screen Flows, thereby improving adaptability and efficiency. This approach not only saves time but also maintains consistency and reliability across deployments, making it an invaluable tool for any Salesforce implementation.
What are some other ways you leverage CMDT in flow?
Explore related content:
Using Custom Metadata Types in Flows Without Get
How to Use the Action Button Component in Screen Flow
Enhance UX in Flow with Custom LWC Icon Selector
Can You After-Save When You Can Before-Save?
#Apex #API #CMDT #CustomMetadata #Salesforce #ScreenFlow #SOQL #useCase
-
How The Transform Element Saves You Loops
Salesforce Flow Transform Element allows you to reshape data on the fly within your flow. Think of it as a tool that acts like a data transformer that adjusts, formats, and cleans up your data before it moves to the next step in your process. Transform Element gives you the superpower of applying formulas, performing calculations, or converting data into a different format that your flow or subsequent actions require.
With the Winter ’25 release, the transform element now supports primitive data types as well. This means you can start with a record collection, transform data, and update a text or a number collection.
The new functionality opens up a whole new area of applications for the transform element. First and foremost, you no longer need to loop each record in a record collection to extract just one field value.
Let’s say you want to update multiple records in one update element. Salesforce introduced the IN operator that you can use to specify which records will be updated. The use of the IN operator is very powerful, but it accepts a text collection of record Ids. And up until Winter ’25, the only way to populate this text collection from a record collection was by looping. Loops are no longer required.
Another helpful feature you can use is the “Add” operator in the assignment element. With “Add,” you can combine one text collection with another, allowing you to accumulate multiple text collections into one.
A Screen Flow Example
Let’s say you want to use the data table to allow the users to select multiple accounts for which they want to close all the open cases. You want to let them pick from the data table in multiple steps, adding all selected accounts to a single list of selected accounts. Once done and confirmed, you will close all open cases for all selected accounts in one shot.
Transform Instead Of Loop
Before Winter ’25, this solution required either looping or multiple update executions. With the new transform element, you can complete the whole operation in two SOQLs and one DML without looping.
Let’s Build This Flow Together:
- Start your screen flow.
2. Add a get to retrieve all the Accounts in your Org (For this example, I assumed there are less than 50K Accounts in the Org. Also bear in mind the data table limitations.)
3. Add a screen to show the Accounts to the user. Allow multi-selection and activate the search box.
4. Add a transform element and transform the selected records in the record variable to a text variable of Account Ids.
5. Add this text collection to another text collection you created that accumulates the final list of Accounts.
6. Add a screen with a toggle component that asks the user whether they finished selecting.
7. If the user hasn’t finished, send them back to the first screen. If they’re done, move on to the next step.
8. Get all Accounts where the Id is IN the text collection.
9. Show the user the final read-only data table of selected accounts. If they are OK, let them proceed to case closure by clicking next.
10. Add an Update element to close all cases where AccountId is IN the text collection.
11. Add a success screen to confirm the transaction has been completed.
Conclusion
You have successfully created a very efficient iterative UI experience. This method efficiently minimizes resource usage against Salesforce’s governor limits, making it ideal for record-triggered flows – as well as screen flows – where efficiency is crucial. Additionally, you can apply this approach to a list of cases to accumulate related recordIds without looping, such as with Contacts and Accounts.
If visual learning is more your style, check out this video tutorial 👇🏼
Explore related content:
Can You Use DML or SOQL Inside the Loop?
6 Things You Can Do With The Transform Element
How to Use the Repeater Component in Screen Flow
Integrating the New Flow Action Button From Summer ’24
#assignment #Collection #HowTo #Salesforce #ScreenFlow #Text #Transform #TransformElement #UI #Update #Winter25
-
How The Transform Element Saves You Loops
Salesforce Flow Transform Element allows you to reshape data on the fly within your flow. Think of it as a tool that acts like a data transformer that adjusts, formats, and cleans up your data before it moves to the next step in your process. Transform Element gives you the superpower of applying formulas, performing calculations, or converting data into a different format that your flow or subsequent actions require.
With the Winter ’25 release, the transform element now supports primitive data types as well. This means you can start with a record collection, transform data, and update a text or a number collection.
The new functionality opens up a whole new area of applications for the transform element. First and foremost, you no longer need to loop each record in a record collection to extract just one field value.
Let’s say you want to update multiple records in one update element. Salesforce introduced the IN operator that you can use to specify which records will be updated. The use of the IN operator is very powerful, but it accepts a text collection of record Ids. And up until Winter ’25, the only way to populate this text collection from a record collection was by looping. Loops are no longer required.
Another helpful feature you can use is the “Add” operator in the assignment element. With “Add,” you can combine one text collection with another, allowing you to accumulate multiple text collections into one.
A Screen Flow Example
Let’s say you want to use the data table to allow the users to select multiple accounts for which they want to close all the open cases. You want to let them pick from the data table in multiple steps, adding all selected accounts to a single list of selected accounts. Once done and confirmed, you will close all open cases for all selected accounts in one shot.
Transform Instead Of Loop
Before Winter ’25, this solution required either looping or multiple update executions. With the new transform element, you can complete the whole operation in two SOQLs and one DML without looping.
Let’s Build This Flow Together:
- Start your screen flow.
2. Add a get to retrieve all the Accounts in your Org (For this example, I assumed there are less than 50K Accounts in the Org. Also bear in mind the data table limitations.)
3. Add a screen to show the Accounts to the user. Allow multi-selection and activate the search box.
4. Add a transform element and transform the selected records in the record variable to a text variable of Account Ids.
5. Add this text collection to another text collection you created that accumulates the final list of Accounts.
6. Add a screen with a toggle component that asks the user whether they finished selecting.
7. If the user hasn’t finished, send them back to the first screen. If they’re done, move on to the next step.
8. Get all Accounts where the Id is IN the text collection.
9. Show the user the final read-only data table of selected accounts. If they are OK, let them proceed to case closure by clicking next.
10. Add an Update element to close all cases where AccountId is IN the text collection.
11. Add a success screen to confirm the transaction has been completed.
Conclusion
You have successfully created a very efficient iterative UI experience. This method efficiently minimizes resource usage against Salesforce’s governor limits, making it ideal for record-triggered flows – as well as screen flows – where efficiency is crucial. Additionally, you can apply this approach to a list of cases to accumulate related recordIds without looping, such as with Contacts and Accounts.
If visual learning is more your style, check out this video tutorial 👇🏼
Explore related content:
Can You Use DML or SOQL Inside the Loop?
6 Things You Can Do With The Transform Element
How to Use the Repeater Component in Screen Flow
Integrating the New Flow Action Button From Summer ’24
#assignment #Collection #HowTo #Salesforce #ScreenFlow #Text #Transform #TransformElement #UI #Update #Winter25
-
Probably nobody: "Hey, what absolutely professional tools do you use to create videos like this? I suppose the fancy stuff from Adobe!"
Me: "Erm: @bezelapp, #ScreenFloat and #ScreenFlow … 😅"
-
Probably nobody: "Hey, what absolutely professional tools do you use to create videos like this? I suppose the fancy stuff from Adobe!"
Me: "Erm: @bezelapp, #ScreenFloat and #ScreenFlow … 😅"
-
Probably nobody: "Hey, what absolutely professional tools do you use to create videos like this? I suppose the fancy stuff from Adobe!"
Me: "Erm: @bezelapp, #ScreenFloat and #ScreenFlow … 😅"
-
Probably nobody: "Hey, what absolutely professional tools do you use to create videos like this? I suppose the fancy stuff from Adobe!"
Me: "Erm: @bezelapp, #ScreenFloat and #ScreenFlow … 😅"
-
Probably nobody: "Hey, what absolutely professional tools do you use to create videos like this? I suppose the fancy stuff from Adobe!"
Me: "Erm: @bezelapp, #ScreenFloat and #ScreenFlow … 😅"
-
#ScreenFlow es la aplicación de escritorio que uso para crear los vídeos de Blogpocket. He publicado un pequeño tutorial acerca de la incorporación de subtítulos en dicha aplicación.
https://www.blogpocket.com/2024/04/18/como-anadir-subtitulos-en-screenflow/
-
#ScreenFlow es la aplicación de escritorio que uso para crear los vídeos de Blogpocket. He publicado un pequeño tutorial acerca de la incorporación de subtítulos en dicha aplicación.
https://www.blogpocket.com/2024/04/18/como-anadir-subtitulos-en-screenflow/
-
#ScreenFlow es la aplicación de escritorio que uso para crear los vídeos de Blogpocket. He publicado un pequeño tutorial acerca de la incorporación de subtítulos en dicha aplicación.
https://www.blogpocket.com/2024/04/18/como-anadir-subtitulos-en-screenflow/
-
#ScreenFlow es la aplicación de escritorio que uso para crear los vídeos de Blogpocket. He publicado un pequeño tutorial acerca de la incorporación de subtítulos en dicha aplicación.
https://www.blogpocket.com/2024/04/18/como-anadir-subtitulos-en-screenflow/
-
#ScreenFlow es la aplicación de escritorio que uso para crear los vídeos de Blogpocket. He publicado un pequeño tutorial acerca de la incorporación de subtítulos en dicha aplicación.
https://www.blogpocket.com/2024/04/18/como-anadir-subtitulos-en-screenflow/