It’s been a few months, but I hope it has been worth the wait for some of the fixes and enhancements you’ll see in the latest version of Datatable.
I squashed a couple of bugs including:
An invalid format error when entering a filter value for a Name column when it was being displayed as a hyperlink to the record
Occasional Daylight Savings Time issues with Time fields
A few of the minor enhancements are:
A spinner rather than an empty table message will be shown while records are being processed
A Clear All Filters button will be displayed when any column filters are applied
This avoids the issue of getting stuck when a filter value causes an empty datatable
The button can still be disabled by selecting the Hide Clear Selection/Filter Buttons option in the Table Behavior section
When the number of displayed records are filtered and/or reduced based on a search term, the header will show both the filtered count and the total record count
I switched the Column Wizard setup flow to be loaded by a LWC component rather than an Aura component
This provides cleaner exit behavior and eliminates conflicts with development mode and clickjack protection
NOTE: You do now need to activate the Datatable Configuration Wizard flow after installing this version
The maximum displayed record count has been increased from 1000 to 2000 records
The two big enahancements are the addition of an optional Search Bar and the ability to set a Column Width as Fixed or Floating.
The Datatable will simultaneously support both a Search term as well as individual Column Filters.
With the new Flexible Column Width enhancement, you can now fix some columns to be wide or narrow and allow the remaining columns to flex their width to expand or contract to fill the available space for the Datatable.
Before this option, if the column widths were too wide for the screen, the user would have to horizontally scroll back and forth or manually change column widths to see the full Datatable.
Now, the Column Wizard lets you select all or none of the columns to flex or you can specify individual columns to have their width flexed to fit the screen.
Check out the updated documentation and get the latest installation links here.
https://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.png00Eric Smithhttps://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.pngEric Smith2023-05-23 12:19:592023-05-23 12:20:11Check out the Latest Datatable Enhancements
The community has built some powerful tools that enable flow metadata to be retrieved, modified and deployed. These tools were used, for example, in the unofficial Convert Process Builder tools. However, these tools make direct use of the metadata api, which is asynchronous. That means that they have to be deployed in the form of a screen flow that fires off the request and then sits there and polls for a result. That’s not useful if you’re running an autolaunched flow on the server.
Server-side flows can retrieve Flow metadata synchronously, via the Tooling API. This powerful interface is not as well known as the Metadata API, but has a lot of capabilities. One powerful facet of this API is that it returns the Flow metadata as a Metadata Apex object that can be manipulated via direct references in code:
This is, for many use cases, a lot nicer than parsing XML, which is what the Metadata api serves up.
I had a use case (involving the training of GPT models to generate flows) where I wanted the synchronous immediacy of the Tooling API (so I can trigger it on background events) and the XML return values that the Metadata API returns. It turns out that this is trivially easy, but it’s not well documented, and I had to consult a senior engineer to learn about it.
You can retrieve XML via the Tooling API, but you need to use the Accept header
The Tooling API is used via REST, and in REST calls to Salesforce, you can set the ‘Accept’ header like so:
req.setHeader(‘Accept’, ‘application/xml’);
This will not be done by default. Most Tooling API calls do not return a traditional SObject and the developers using those calls are happy to skip the XML and work with JSON. If you leave this header out and try to carry out XML parsing with what comes back, you’ll just get odd errors like this:
Error Occurred: An Apex error occurred: System.XmlException: Failed to parse XML due to: only whitespace content allowed before start tag and not { (position: START_DOCUMENT seen {… @1:1)
The Retrieve Flow Metadata action that’s installable below does this work for you, so you can simply insert it into a flow to retrieve flow xml synchronously, by flow name. Here’s where I set the REST header:
Querying by Flow Name is Not Intuitive
The second tricky bit I ran into involved my goal to query on the flowName. I didn’t have the ID. That’s a problem because the Tooling API has two modes and neither directly uses a name. ‘Easy Mode’ is focused on requesting records by their ID. Here’s an example:
If you want to use anything other than a recordId, the good news is that the Tooling API gives you the full power of SOQL queries. Here’s an example of how you query for a piece of metadata that’s confusingly named MetadataContainer:
At this point, I thought I was all set. I posted up this tooling query that queries by Flow Name :
When I did this, though, I got this error message:
INVALID_FIELD Select id from Flow Where FullName='Test_MetadataRetrieval' ^ ERROR at Row:1:Column:27 field 'FullName' can not be filtered in a query call
A closer look at the documentation revealed that FullName is indeed explicitly disallowed in Tooling queries:
Thinking it through, this has to do with the fact that there are actually as many as 50 versions of metadata tied to a single flowName. The flowName is thus less unique than it might first appear.
The documentation does not make it clear just how you’re supposed to use multiple queries if you can’t query on name. However, the answer turns out to be to use Definition.DeveloperName:
FlowDefinition is a special object that basically stores which flow version is active. It isn’t used much these days.
With these new learnings, I was able to create Retrieve Flow Metadata action.
Considerations
This action so far is unaware of version numbers. It’s just going to grab whatever is handed to it, which is going to be either the Active version or the Latest.
When Winter ’23 release arrived, it brought with it Data Table and IN operator. I was excited to use them and wrote a blog on how it helped me solve a use case that was not possible to achieve with standard reports. I was happy with the 7 steps flow I created to achieve this Now, a few releases later, Summer ‘23 is around the corner, and with it comes reactive screens and reactive formulas. I went back to my solution and was able to get the same result and reduce a 7 step flow to 1 screen. How awesome is that!!!
Reactive screens are currently in beta and you can try them out in a prerelease org running Summer ‘23 (don’t forget to opt in to the reactive screens beta under process automation settings in setup)
Here is how I did it
Reminder use case: display all open opportunities where the selected user is on the account team. Then display the account team role this user has for these accounts.
I used the new Data Fetcher component from Josh Dayment, and combined it with some complex SOQL queries that output the results into a Data Table.
To select the user, I added a lookup to the screen. This is currently the only reactive lookup element available. In order to get a list of users, you can point the component to any CreatedById lookup field from any object. I used the Account object.
My first formula (and make sure to use a formula resource, and not a variable or text template for this, as only formulas are reactive. Don’t ask me how I know 😉) queried the records for open opportunities
I fed this formula into the first data fetcher, and used a merge field to get the currently selected user from the screen.
The data fetcher queried records are displayed on screen using the Data Table component (Data Table is now GA, and also got some new enhancements in the summer release). The lookup component outputs the selected value and the selected label so I used another little formula to dynamically display the selected user name in the table title.
A similar process followed for the second table and showing the account team role
Look what I could achieve with just 4 formulas and one screen. Here is a demo of the finished flow and reactive functionality.
I can’t wait for this to be generally available to help us simplify multiple flows. For now this is only available in prerelease orgs and soon in sandboxes.
https://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.png00Tamar Erlichhttps://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.pngTamar Erlich2023-05-01 05:17:162023-05-01 05:17:23Reactive Screens: How to Turn a 7 Element Flow Into 1
I’ve added a new action to the library of Collection Actions. This action will take, for input, a collection of records and a count then it will return, for output, a collection of records along with a count of how many records were returned.
The primary reason I created this action was to address the desire to programatically specify the number of records to keep in the standard flow Sort element. Currently, you must hard-code that value when configuring the Sort element.
With this new action, you can take the entire output of the Sort element or any other record collection and then use a flow resource (variable, formula, etc) to specify how many records you want to keep.
If there are more records in the input collection than the number requested (N), it will return the first N records. If there are fewer records in the input collection than the number requested, it will return the entire collection as well as a count of the number of records in the output collection.
Attributes
Attribute
Type
Notes
INPUT
Input Collecion
SObject Collection
Collection of Records
Record Count
Integer
Number of records to keep
OUTPUT
Output Collecion
SObject Collection
Collection of Records
Return Count
Integer
Number of records returned
Installation
This component is installed with the Collection Actions package version 3.1.0 or later.
https://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.png00Eric Smithhttps://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.pngEric Smith2023-04-29 11:38:402023-04-29 11:38:52New Collection Action - Return First N Records
Now that we have the ability to have different components on the same flow screen be reactive to each other, I wanted to create a fun demonstration on how you can have the inputs for one component be reactive to the outputs from one or more other components. For this demonstration, I decided to recreate a matching game called Concentration.
I created one component that displays a card with either the front, back or a blank being shown. The other component is a game controller that fires whenever a card is turned over. The controller component compares the last two selected cards and provides an output that lets the card components know what to show on the screen.
You can install the package and try it out for yourself. It includes the two LWC components, a screen flow and some static resources containing the images.
Production or Dev org installation package. Sandbox installation package.
Once installed, just run the Flow called “Concentration Game”.
To see how I put all of this together, you can review the source code here.
Data Fetcher is a Lightning Web Component for Screen Flows that will query records based on a SOQL string, then provide an output of records (or single record) to be used on the same screen. What is so special about that you might ask? Well, let me tell you! With the reactive components beta for Screen Flows, you can now have components on a single screen react based on input from other components without ever leaving the screen. Data Fetcher was featured at TDX ’23 as part of a session on reactive screen components.
Let’s take an example using components from here on UnofficialSF. With Data Fetcher I can accept the selected choice value from Quick Choice* as my SOQL string and return records into a Data Table without having to click next. The records in the data table change depending on the choice I select – instantly. Before getting started ensure you have opted into the Reactive Screens Beta in Automation settings in your org instructions can be found here.
Before reactive screens, this would have been accomplished using Lightning Messaging Service and Lightning Web Components, increasing the time to develop and go to market for this type of use case along with the costly maintenance of that LWC. With Data Fetcher an admin or developer can dynamically retrieve records on one screen without much additional lift, greatly enhancing the overall user experience and freeing up time for the admin or developer to work on other features for more important tasks.
In Summer ’23 formula resources will be reactive in flows – making this component significantly more powerful. With reactive formulas, Data Fetcher’s SOQL query string can now reference multiple components on the same screen which will create a truly dynamic experience. Pre-release orgs have already been enabled if you want to start testing now. Let’s look at a couple of examples.
The first example will use two Quick Choice components to help build my query utilizing a reactive formula. I will use the Quick Choice components to have the user select the Industry and Account Type of the Accounts I want to return on the Datatable those values will be used in a formula to return my SOQL string. (I am not doing it in this example but there is a really great video walkthrough on how you could use Quick Choice as a dependent picklist on the original post that could really enhance this use case)
//You can use this example to get started on your own formula//
"SELECT BillingCity, Id, Name, Phone, Industry, Type FROM Account WHERE Industry =" + {!choice.value} +" AND Type = " + {!Type.value}
In the below video, I am using the out-of-the-box lookup component to pass an Account Id to a SOQL string to populate all of the related contacts in a data table. A couple of years ago I presented on Automation Hour about using SOQL and SOSL in flow if you watch this video I had to build a SOQL query across multiple screens and decisions in order to perform the query inside of the flow. This Summer that will no longer be needed! Soon, an admin or developer will be able to add multiple components onto a single screen and use a formula variable to build a SOQL statement that then passes back the records on the screen as the user is interacting and/or changes different parts of the query and see the results as the changes are happening.
Note: Choices are not yet reactive as part of the beta. You will need to use Quick Choice if you want to bake choices (like a Picklist) into Data Fetcher queries.
For more information and to install Data Fetcher visit the AppExchange Listing here.
Learn more about the Reactive Screen Components Beta on Trailhead!
https://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.png00Josh Daymenthttps://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.pngJosh Dayment2023-04-17 11:47:292023-04-19 06:15:33Data Fetcher on the AppExchange
Here’s a preview of what’s coming for Flow in Summer ’23!
HTTP Callout Actions Now Support POST as well as GET
A beta implementation of POST is available, and the GET functionality is now GA. As you can see below on the left, with POST you provide a sample request along with a sample response. The image on the right shows how Flow Builder attempts to guess the appropriate types but also lets you apply overrides.
Saving a new HTTP Callout generates an External Service and creates a new Apex Type for both your input data structure and your output data structure. For the most part, all you need to know about that is that it means that your callout will be reusable and will show up in the Action picker.
To make POST work in Summer ’23 you have to prepare the data that gets handed to your POST action. You start by manually creating a record variable of the appropriate type:
You then populate this with data using Assign elements and pass it into the single Body input of the resulting Action:
In future releases, this will get smoothed out. The action will automatically present the inputs it allows and you won’t have to create a variable.
Reactive Screens gain Reactive Formulas
Reactive screens picks up an important new feature: you can incorporate formulas into your reactive calculations. This flow screen is detecting inputs from a variety of screen components and reactively recalculating the monthly payment:
and also keep in mind that you need to activate the Beta in Process Automation Settings:
Finally keep in mind that your existing flows will NOT SHOW REACTIVE BEHAVIOR unless you save them with the API version set to 58 or higher.
Choice Lookup is GA: Use your Choice Sets with a new Searchable Choice Lookup Component
You can add the new Choice Lookup component to a Flow screen and provide it with any of the available choice sets.
That means:
Pair it with a Record Choice Set to provide a searchable lookup of any filtered set of records
Pair it with a set of manual Choice resources for maximum control
Pair it with a Picklist Choice Set to provide a searchable picklist lookup
Pair it with a Collection Choice Set to provide a searchable interface to any collection of records you compile in your flow.
The existing Lookup component remains available for use in exposing Lookup record fields in Flow screens. In addition, you can directly access Lookup fields via the Dynamic Forms for Flow feature in the Screen Element that lets you select a record variable and then drag fields onto the canvas from it. For advanced use cases beyond these, such as displaying choices as rich text tiles, consider the unofficial Quick Choice component.
Note that Choice Lookup with a Record Choice Set has some characteristics missing from the standard page layout Lookup control experience. Choice Lookup offers the entire set of objects, as opposed to the normal Lookup control, which only shows a few at a time.
Traditional Lookup Experience
Choice Lookup with a Record Choice Set
Enhancements to Data Tables
Data Table loading and scrolling has been enhanced to support large data sets with high performance. This has three aspects:
There’s an absolute limit of 1500 rows shown in a table at one time, up from 200.
Additionally, you can pass a datatable a larger set of data. if you do, the first 1500 will be shown along with the total count
To facilitate viewing of larger sets of data, there’s a new search bar that can be used to filter down a large set so that everything specified by the filter is visible.
The search bar is toggle-enabled:
Long Awaited Email Enhancement 1: Track Email Sends in Activity History
Emails can be automatically logged to a record’s Activity Timeline when using the Send Email action. You can log an email to a person record, including leads, contacts, and person accounts. You can also log the email to a related record of your choice, like an account or opportunity.
Note: Logging emails with the Send Email action causes the send to use a different internal process, which causes a different daily email-sending limit to be used. More details to follow.
This feature retires an 82,000 point Idea Exchange item:
Long Awaited Email Enhancement 2: Use Lightning Email Templates
You can now provide the ID of a Lightning Email Template to your Send Email action. If you do, the Body and Subject fields on the Send Email action will be ignored in favor of the template. Email Templates are based on a context record referred to as a Related Entity Type:
When configuring your Send Email action, in addition to setting the ID of the chosen template, make sure to provide at least one value for the new Recipient ID and Related Record ID. These will be used to fill the template’s merge fields.
In the example below, to send an email to a contact using an email template with Contact and Account object merge fields, set Email Template ID to the ID of the email template to use (1). Then, set Recipient ID to the contact record’s ID (2) and Related Record ID to the related account record’s ID (3).
Note: Using email templates in the Send Email action changes the API called by the action, which can impact your daily email-sending limits.
Draft Mode Rollout Begins
Draft Mode is now available in a handful of elements that have implemented the new panel-based property editor. In Summer ’23, this includes:
Interactive Step in Flow Orchestration
Background Step in Flow Orchestration
Mulesoft Step in Flow Orchestration
Start Element for the Scheduled, Segment-Based Trigger Type (Starter Edition only)
Send Email Message (This is the new Data Cloud version found in Starter Edition only)
Draft-mode enabled property editors slide open from the side of the screen as opposed to popping up as a modal dialog box. Unlike dialog boxes, they do not need to be complete (passing all validation) in order for the flow to be saved. This means that elements can be added to a flow and left incomplete. At activation time, it will be necessary for all validation errors to be resolved.
In the example below, this flow can be worked on and saved without filling in the required Action field:
Work continues to rollout Draft Mode and panelized property editors to all remaining elements.
Try Out New Flow Features in the New Marketing Application in Starter Edition
The Flow team has been working with the Marketing Cloud team to enhance Marketing use cases with Flow-powered journeys. Some of that is beginning to roll out in the newly renamed Starter Edition of Salesforce in Summer ’23 (This is the edition that previously was named Salesforce Easy and before that Salesforce Essentials).
Flow Builder Canvas is More Compact & Less Crowded
Icons have less white space between them in Autolayout mode. In addition, Add Element buttons now normally appear as a tiny circle and only expand to their full size upon hover:
A third change to the canvas: icon colors are updated to have higher contrast to make it easier for sight-impaired trailblazers to use Flow. This is per WCAG 2.1 standard.
Screen Flows that Run in Slack Now Support Multi-Select Picklists
If you create a screen flow with a Multi-Select Picklist field :
…it will function properly when executed in Slack:
Process Builder Migration Supports Scheduled Actions
The Migrate to Flow tool will now migrate Scheduled Actions inside of Process Builder to Scheduled Paths inside of Flow.
Migrate to Flow tool will migrate the scheduled action as long as only one row of criteria is selected. This allows for the PB decision element to be migrated to an entry condition which will ensure the Scheduled Path runs correctly. If multiple rows are selected, only the immediate paths will be migrated, and a user will receive a warning to that effect.
Best Practices
We’ve heard from many admins that putting Scheduled Actions/Paths in their own Flow is a best practice, since that allows for better administration and naming, and to keep it running independently. It’s not required but it is encouraged when migrating to Flow.
Creation of new Process Builder Processes Has Been Disabled
The Next Step on the Path to End of Life for Workflow Rules and Process Builder
We successfully disabled the Create New Workflow Rules button last year and are now applying the same treatment to Process Builder. This is to encourage customers to make their investments in our most supported, most strategic technology: Flow.
What Will and Won’t Work
The “New” button is removed from the UI so an admin creating a new process will be impacted. The “clone as a new process” is also removed.
Existing processes can be edited, activated, deactivated, and have new versions created, so admins can still manage all their existing automation.
The API has not been touched, so admins doing CI/CD or migrating between orgs or sandboxes will also not be impacted.
Orchestrations are based on frequent pause and resume, reflecting their usage as a process coordinator over periods of time. Previously, when an orchestration resumed it would use any resource values that it had stored from the last time it ran. But this raises the possibility of using an obsolete value. Now, every time the orchestration resumes, all variables including $record will be fully in sync with your Salesforce DB (with the exception of $Record_Prior, which remains untouched).
Add Mulesoft Steps to Flow Orchestrations
This powerful new step let you call a MuleSoft API and process the response in a later step.
All Mulesoft assets in Anypoint & RPA are accessible.
Mulesoft Composer will be added later this year.
Enhanced Mulesoft Integration into Flow
We’ve made it easier to connect to, authenticate and import Mulesoft API endpoints from within Salesforce
Mulesoft shows up as a 1st class Setup service:
…and you can directly log into Mulesoft….
…and select the API’s that you want to use in Flow Builder:
https://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.png00Alex Edelsteinhttps://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.pngAlex Edelstein2023-04-17 09:49:312023-04-25 10:56:57Sneak Preview: Flow in Summer '23
The Flow team has been working with Marketing Cloud to add Flow-powered journeys to next-generation Marketing features and services. The first capabilities are rolling out in Summer ’23. To access them, you’ll need a Salesforce org based on the newly renamed Starter Edition (This is the edition that previously was named Salesforce Easy and before that Salesforce Essentials). (The link above provides trial orgs, but as of this writing they have not yet been upgraded to Summer ’23).
Flows are accessible outside of Setup in Starter Edition
Start Edition is the first place where you can build flows as a non-Admin ‘citizen. Here, you can see that Flows are one of the tools that are available to marketers from outside of Setup.
When you select Flows here, you aren’t taken to Setup, but to a standard list view:
When flows that support citizen building are saved, a data record is generated alongside the traditional flow setup object that contains the flow’s metadata. These two objects are kept in sync automatically. It’s the data records that are being shown in the list view above.
One reason for introducing this object duality is to enable sharing rules and other sharing infrastructure to be applied to the flow creation process. For more information, see the Citizen Flows section, below.
Flow-Based Marketing Journeys
Starter Edition features a new Marketing service centered around Campaigns. When you create a Campaign, this is what you see:
The top ‘Single Email’ choice is an wizard that autogenerates a simple email send using this UI:
This user experience is essentially a specialized flow generator, and you can go to the Flow list and see the underlying flow:
You can open it directly and modify it:
The Send Email Message added to these marketing campaigns is a new action that makes use of a brand new messaging service that rides on top of Data Cloud. Here’s what the configuration looks like for this action:
Some of the characteristics of the new Send Email Action:
It’s designed to do all of its addressing in the mechanisms used by professional marketing. So instead of specifying specific To and CC addresses, it will use the segment of database contacts specified in the Start element (see below). Instead of using a Body text field, it expects an email template to be created and specified.
It includes Einstein Send Time Optimization, which uses Einstein to recommend the appropriate send time for each contact in the segment.
The underlying messaging system support engagement events for clicks and opens.
Here’s what the Segment section of the Start element looks like when the trigger is a Segment-Based trigger:
Clicking on Edit Segment Rules, as shown here:
…will take you to the Segment Builder in Data Cloud:
This is part of what was introduced as Genie at Dreamforce last year and is now introduced as Data Cloud.
So, putting the above sections together: When you buy Starter Edition, you get marketing as part of the package, including a customer data platform, powerful segmentation capabilities, and flow-based journeys. In subsequent releases, the marketing feature set will get richer and will become available beyond Starter Edition and gradually grow to meet the most demanding enterprise marketing needs.
Citizen Flow Building (Only in Starter Edition in Summer ’23)
In Starter Edition in Summer ’23 it is for the first time possible to create flows without being a Salesforce Admin. Traditionally, opening Flow Builder and saving flows has required the Manage Flows permission and this provides the ability to create flows that run in System Mode. Customers have been asking for ways to enable non-admins like marketers to create and edit flows in a protected way. The first deployment of this citizen flow creation is coming in the new Marketing application in Starter Edition in Summer ’23.
Key user experience differences
Flows are visible not just in the Flow node in Setup but also in a new Flow record home that works like other object home pages. This means that you don’t need to go to Setup to see a list of flows.
You can create a new flow from this Flow record home or edit an existing flow. It will take you directly into Flow Builder
Currently, the only flows that show up in this record home are flows belonging to a new flow type called Engagement Flow.
You don’t need View Setup access to be able to enter Flow Builder.
In Summer ’23, security is provided by limiting what an Engagement Flow can do. Engagement Flows only have access to Send Email action and Wait by Duration element, and only work with a new trigger labeled the Engagement Flow trigger. This trigger is a Schedule-based trigger that works with a Segment from Data Cloud. Data Cloud is an inherent part of next generation marketing functionality.
Using a process type to limit what these citizen-enabled flows can do in Summer ’23 in an intermediate step on the way to Granular Flow Permissions. That’s work that going on to enable a permission set to be defined that exactly specifies what a citizen has access to in Flow Builder. For example, it will be able to craft a permission set that says provides access to Update and Create Records but not Delete Records, and Platform-Event Triggers but not Record-Change Triggers
New Element – Wait Until Date
Wait Until Date is part of a new generation of Wait elements that are more focused and easier to use than the traditional Flow Pause element. There’s going to be some overlap in functionality. (In fact, we’re considering renaming the Pause element to be ‘Advanced Wait’ to emphasize its power.) Like the rest of the functionality described in this post, this element is only available in the Starter Edition in Summer ’23, but Salesforce does plan to make Wait Until Date available for all editions soon.
New Element – Wait For Amount of Time
See the notes above regarding the Wait Until Date element.Salesforce does plan to make this element available for all editions soon.
Version 3.1.0 of the Flow Screen Components Base Pack now includes a new Draw a Line flow screen component that can be used in place of the older horizontalRuleFSC component. The component can also be accessed in the Lightning App Builder for use on Record, App and Home pages.
https://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.png00Eric Smithhttps://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.pngEric Smith2023-04-14 11:45:162023-04-14 11:49:12New component added to the Flow Screen Components Base Pack
The Barcode Scanner for Flow now supports continuous scan functionality, this means you can scan multiple barcodes keeping the device camera open to capture as many barcode values into a single text collection for use in Screen Flow. To see all details visit the original post here and for a quick demonstration of continuous scan functionality see the video below.
https://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.png00Josh Daymenthttps://unofficialsf.com/wp-content/uploads/2022/09/largeUCSF-300x133.pngJosh Dayment2023-04-10 12:56:312023-04-10 12:56:38Barcode Scanner For Flow Now Supports Continuous Scan