Quick Choice – Improved Picklists and Radio Buttons for Flow

Quick Choice is a flow screen component that provides some features that aren’t available in the current picklist and radio button implementation in Flow Builder.

Features that SmartChoice provides:

  1. Accepts as an input a pair of string collections.
  2. Can accept a default value that’s dynamically determined by your Flow
  3. Can generate picklists from existing picklist fields with optional filtering based on record type
  4. Supports ‘None’ Value and Requiredness
  5. Choices can be formatted as Radio Buttons, Picklist, or Visual Cards
  6. Visual Cards can be displayed with or without Icons or Images
  7. Visual Cards can be displayed in single or dual columns
  8. Specify the width of the picklist.

Quick Choice supports both picklists and radio button groups, set by passing in a value for Display Mode. For this document, we’ll always use “Picklist”. There’s no support for multiple select. If you need that, consider the Dual List Box flow screen component.

Creating Choices from String Collections

Use String Collections as your inputs by setting Input Mode to “Dual String Collections”. Pass in one collection for Labels and one for the underlying values (A typical use case for this is when you want your user to see a list of friendly labels, but you need to make sure that you can get the recordId of the selected label.)

Example: You want your flow to let the user choose a record type from a picklist and then display the layout corresponding to that record type (This is demonstrated in the video above). The Quick Choice package includes several utility actions that make this easy. You first start out with the GetRecordTypeInfobyObject action, which returns separate collections of recordTypeNames and Ids. You then use those as inputs to a QuickChoice control. When the user makes their choice, you use a couple of additional utility actions to extract the Layout fields for the layout that corresponds to the combination of the selected RecordType and the running user’s profile. The layout fields are then passed to the new RecordDetail flow screen component.

Tip: If you are starting with a collection of SObjects instead of a collection of Strings, you can use the ExtractFieldFromCollection flow action (provided in the same package as SmartChoice) but you’ll need to modify its Apex, swapping the references to “Account” for your chosen SObject.

Creating Filtered Choices from Picklist Fields

Many orgs take advantage of the ability to create record-type-specific sets of picklist values for picklist fields like Account.Type and Account.Rating. Flow already enables the easy creation of Picklist Choice Sets, which point at an existing picklist field. But you can’t filter a Picklist Choice Set on a specific Record Type. Quick Choice allows you to do that.

Start by setting the Input Mode to “Picklist Field”.

Pass in strings for Object Name and Field Name. (You can also use Object and Field picker)

Pass a record type ID in. If you don’t, the component uses the ID of the standard “Master” record type ID, which will result in no filtering. This package includes a useful utility function called GetRecordTypeInfoByObject that will return the record type Id’s and Labels for a given object type name. The video above shows how you can use QuickChoice first to let the user select a record type and then to show a set of filtered picklist fields. Learn more about using a Flow Action to retrieve the available record types so your user can pick the one they want.

Displaying Choices as Visual Cards

Set the Display Mode to “Card” and the Input Mode to “Visual Text Box” .

Pass in a collection of Strings in Choice Labels for the visual card headers, a collection of Strings in Choice Values for visual card descriptions and optionally a collection of icon and/or image references in Card Mode – Choice Icons for visual card icons.

If you are displaying icons, set the Card Mode – Include Icons in Display Box? parameter to True and set the Card Mode – Icon Size parameter.

The visual cards are displayed in a single column by default. Set the Card Mode – Number of Display Box Columns (1 or 2) parameter to 2 to display dual columns.

Visual Cards without Icons

Visual Cards with Icons

Dual Column Visual Cards

Requiredness Support

You can set the Required field to $GlobalConstant.True. If you do, Flow will prevent screen transition if the user selects ‘None’ or makes no selection at all.

Controlling the ‘None’ Choice

By default, there will be no “None” Choice. To add one, set the input “Allow None To Be Chosen” to $GlobalConstant.True.

Reference

General Attributes

AttributeTypeNotes
Master LabelStringThe main label for the picklist or radio button group
Display ModeEnumEither “Visual”, “Picklist” or “Radio”, depending on which control you want
Input ModeEnum“Single String Collection”, “Dual String Collections”, “Picklist Field”, or ” Visual Text Box ” are currently supported
RequiredBooleanWill prevent transition if set to {!$GlobalConstant.True}
ValueStringThe selected value. This can be passed into QuickChoice, allowing you to set the default value dynamically.
Allow None To Be ChosenBooleanSet this to true to include a None choice. (For Input Mode “Picklist Field” only)
Set Width in PixelsIntegerSet the width of the component for Picklist & Radio Buttons (Default 320 pixels)

Additional Attributes When Using Input Mode = “Single String Collection”

AttributeTypeNotes
Choice ValuesString CollectionThe values of your choices (The same collection will be used for Labels and Values)
The selected Label/Value will be returned by the component

Additional Attributes When Using Input Mode = “Dual String Collections”

AttributeTypeNotes
Choice LabelsString CollectionThe labels of your choices
Choice ValuesString CollectionThe values of your choices (should be unique)
The selected Value will be returned by the component

Additional Attributes When Using Input Mode = “Visual Text Box ”

AttributeTypeNotes
Choice LabelsString CollectionThe labels of your choices (should be unique)
The selected Label will be returned by the component
Choice ValuesString CollectionThe values of your choices (This is provided as extra descriptive text in the visual card)
Card Mode – Choice Icons
(OPTIONAL)
String CollectionMix and Match either:
– Icon names formatted as icon_type:icon_name (Example “utility:attach”)
See complete selection at https://lightningdesignsystem.com/icons/
– Image names formatted as filename.ext (Example “astro.png”)
Referenced images must be included in a ZIP file referenced by a Static Resource* named Quickchoice_Images
Card Mode – Include Icons in Text Box?BooleanDisplay the provided icons in the visual card
Card Mode – Icon SizeStringOptions include x-small, small, medium, or large. This value defaults to medium.
Card Mode – Number of Textbox Columns (1 or 2) String1 or blank (default) for a single column or 2 for dual columns

Additional Attributes When Using Input Mode = “Picklist Field”

AttributeTypeNotes
Object Name (for Picklist Field)StringExample: “Account” (this component no longer uses the combined “Account.Type” as an input)
Field Name (for Picklist Field)StringExample: “Type” (this component no longer uses the combined “Account.Type” as an input)
Record Type IdStringThis will default to the id of the Master record type

*NOTE: Static Resource
The version 1.27 package includes a Static Resource named Quickchoice_Images. To access your own images, create a ZIP file containing all of the images you want to reference and then, in Setup, Edit the Quickchoice_Images Static Resource and reference your ZIP file with the “Choose File” option. To learn more about Static Resources and creating ZIP files, see the Instructions for my ersQuickSwitchApp component.

Install Package

3/2/20 Eric Smith
v1.27 Added ability to display both images & icons on visual cards (Thanks again to clifford-fra for the update)

Unmanaged v1.27 (Production/Developer)
Unmanaged v1.27 (Sandbox)

Version History

2/6/20 – v1.26 Display a Visual Card as preselected when passing in a default value (Thanks to clifford-fra for the fix)

Unmanaged v1.26 (Production/Developer)
Unmanaged v1.26 (Sandbox)

Unmanaged V1.24

See Release Notes

1/16/20Eric Smith
v1.23 – Added an option to display the visual cards in a single or dual columns

Managed V1.23 (Production/Developer)
Managed V1.23 (Sandbox)

1/3/20 -alexed
v1.20 – changed actions to global from public to make them visible in flow builder.

12/31/19Eric Smith Enhancements
v1.17: Added visual text box selection with or without icons. Fixed error handling when Required is set to True

12/29/19
v1.13: Fixed bug with defaults on picklist control. Added flag to allow or disallow a ‘None’ choice

View Source

Source

106
Leave a Reply

avatar
32 Comment threads
74 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
31 Comment authors
BrendanCliffordAlex EdelsteinHeath ParksJim Minichiello Recent comment authors
  Subscribe  
Notify of
Adam White
Guest
Adam White

Is this only available for Spring ’20? I tried installing the package and am not seeing the apex actions in the list of available actions.

trackback

[…] Extract Fields from Records takes a collection and a field name, and returns a list of strings containing the values of those fields for the records. For example, if you pass in a list of Accounts and a fieldName of “Name”, you’ll get back a list of Account names. You can do this twice (once for names and once for ids) and then pass those two collections in to a Quick Choice picklist or radio button group […]

trackback

[…] I liked in the Lightning Design System called Visual Picker. At the same time I saw the new Quick Choice Flow Screen Component which offered an easy way to present and select choices using Radio Buttons […]

Ward Wood
Guest

Still seeing issues even with “Global”. I did get it to work with a two step workaround described below. See below for my small code snippet: “global class xxxyyyzzz implements Process.Plugin {…” My workaround was two-fold: 1) To get my legacy action to show up, I flipped back to classic, fired up flow builder from there, and then I could find it. 2) When I tried to save, I received “Can’t save new version of flow due to error: ‘xxxyyyzzz’ must implement the Apex interface ‘Process.Plugin'”. To get around this, I cloned the class, saved and then refreshed flow builder… Read more »

Ward Wood
Guest

To add, I did not install the Quick Choice plugin, just am adding to what Tamar was experiencing in the above comment.

Jim Riggio
Guest
Jim Riggio

Hello, I have been trying to make QuickChoice work in my sandbox environment and following the video above. 1) I created the Action with the same variables but used a custom object that has 4 Record Type. 2) I built the Record Type Choice Screen using the same variables as the video. 3) I get 5 choices, last one being “Master” which is not active or visible in Object Manager, Can I get rid of this? 4) I created the next Select Member Screen, but it only lists “select an Option” and no options are listed. 5) I am saving… Read more »

Jim Riggio
Guest
Jim Riggio

Finally, after another day of trial and error, I finally got this working. My “Object Name and Field Name” were not displayed correctly. I went through video and reread the documentation several times before this clicked. I am not a developer per sec, but like trying out and using these components when I can because it allows me to do more automation in my flows.

Jim Riggio
Guest
Jim Riggio

ADDENDUM, I still am not able to get rid of the “Master” Record Type display, even though it is not listed under Record Types. Any Idea why it displays or how to get rid of it? I posted this question in “Salesforce Automation” in the community.

Tamar Erlich
Guest
Tamar Erlich

Hi Jim,

I have modified Alex’s class to add a toggle switch to ignore the master record type when creating the picklist strings. Here is a link to my modified code
https://gist.github.com/Tamarer/f38ae0f23e2b4c9a980ec93bff3a5891

Jim Riggio
Guest
Jim Riggio

Thanks Tamar for this,
Although I installed the Managed Package for this component, I am not well versed on taking the source code and creating a new package. Its currently beyond my capability, but want to get there soon.

Can this be incorporated into the managed package at some point? Not sure of the review process. I am sure I am not the only one with this issue, no?

trackback

[…] have added a new parameter to the quickChoiceFSC component. You can now choose to display visual text boxes in a single column or side by side in […]

Clifford
Guest
Clifford

Thanks for this great Flow Component! It works well and looks great. Generating visual picklists based on String collections is a nice feature. Two questions:

1. How about licensing? I’m considering using this component in a productive org.

2. Although, there are so many icons I can use (https://www.lightningdesignsystem.com/icons/), it would be really nice to use own graphics i.e. images as static resources. Is something like that possible?

Best regards and a lot of thanks

Heath Parks
Guest

So, first off, thanks to everyone who is helping/doing the heavy lifting on these components/actions, etc. As a non coder, being able to do complex things without writing code is awesome. So, speaking of being a non coder, this post refers a lot to “String Collections”. Now I know a “String” is just more of less text, but I am struggling a bit with when/how/if to use this to display values or create variables to look into a record collection or how/when to assign them.. I am good at reverse engineering thinks, but I like being able to view the… Read more »

Josh Dayment
Guest
Josh Dayment

It sounds like you figured it out but in case anyone else struggles with the string collection piece if I am not using a record picklist field I have an assignment element at the beginning of my flow where I have 3 separate text collection variables 1 for value 1 for label and 1 for icon. I then add the appropriate variable to each collection variable I.E. {!ChoiceValueCollection} add New so on and so forth I hope that helps someone.

trackback

[…] when you would like to present a record type selector to the user. Can be used as inputs to the QuickChoice managed package by setting Input Mode to “Dual String Collections”. Pass in one output collection for Labels […]

Stewart McNaught
Guest
Stewart McNaught

Alex – Is it possible to set another components visibility based on the value selected in a Quick Choice FSC component?

Alex Edelstein
Guest
Alex Edelstein

Yes. Standard component visibility should work. you need to use automatic output handling and not manually specify variables checkbox

Matt Collins
Guest
Matt Collins

Hi Alex,

This app has been a life saver, however is there a way to define the width of the quick choice object as when its on a screen next to a normal component it looks out of place as the normal flow components seem to have a set width were as the quick choice component just fills 100% of the screen width?

Thanks

Matt

Thomas Chen
Guest
Thomas Chen

When using this screen component, it doesn’t allow for validation of all fields that are required whether they are text, picklist, look up etc. I’m getting this error instead on submit of the screen:

class java.lang.String cannot be cast to class moduleapi.interaction.FlowPicklistValue (java.lang.String is in module java.base of loader ‘bootstrap’; moduleapi.interaction.FlowPicklistValue is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @58c34bb3)

If I remove this screen component, the required validations are working again.

Is this in any way related to this open issue? Although it is for dependent picklists:

https://success.salesforce.com/issues_view?id=a1p3A0000003ebzQAA

Thomas

Jeremy Pritchard
Guest

Hi there. I set the default by using the Value field and although it sets it. visually the card is not selected? So the user can click Next (as the value has been set) even though no selection is show in the UI?

Clifford
Guest
Clifford

Can confirm this behavior. Opened a defect on github a few days ago and hope we can resolve this issue.

trackback

[…] Install Latest Version […]

trackback

[…] When provided, picklist values will be filtered for the selected record type. Note that if the object has multiple recordtypes, you _must_ provide a record type Id. Note that it’s easy to provide a picklist that lets the flow user select a record type. […]

trackback

[…] of record types available to the current user. Then I fed the record type labels and Ids into the Quick Choice component. Finally I created the task and used the Navigate to Record action to open the new task […]

Mark DeFrain
Guest
Mark DeFrain

Hey Unofficial SF folks. This component is really awesome. Appreciate you putting it out there. My primary need for it was to be able to assign default values in a flow that I’m working on. One thing I’ve been unable to figure out how to do using Quick Choice is that, when using the standard Radio Button component, you can adjust component visibility of other components on the screen based on the value the user selects in the Radio Button component. Ex. User chooses a value for “Is this a High School or College?” and then based on their selection,… Read more »

Alex Edelstein
Admin

Yes, you just need to turn off the Manually Select Variables checkbox. Explanation here: https://unofficialsf.com/the-salesforce-automation-and-decisioning-wiki/conditional-field-visibility/

Mark DeFrain
Guest
Mark DeFrain

@Alex – Worked perfectly. You are the best. Thank you so much!

Heath Parks
Guest

I have a question about how to assign the value of the quickchoice to be used in a decision element. Use case is that I am getting the record type ID’s to select what “path” a person needs to take. So if it’s CW Engagement record type, it following the CW path, if it’s Limited Engagement record type it follows the Limited path and so on. a total of 4 decisions, I can get the decision to work, but I am having to hard code in the record type ID into my decision element. I would like to not do… Read more »

Alex Edelstein
Admin

It sounds like you’d like Quick Choice to return the Label of the selected value and not just the Value. That’s not something that it can do today but it wouldn’t be hard to add.

Heath Parks
Guest

ok, thanks. so, I will just have to remember to update any decision elements that have to have something like the record ID of a record type…I just wanted to be sure I was/am following a best practice and avoid any “gotcha’s” as I am learning flow. Appreciate all that you do, this site, videos and more

Tamar Erlich
Guest
Tamar Erlich

You can also use a get records element to get the record ids you need from the record type object and store them in another variable to use in the decision comparisons

David Rabizadeh
Guest
David Rabizadeh

Hi Alex, I’d also benefit from outputting the label if you’re able to add that feature. Then I can go back through the collections and ‘remove’ the selected items from the dual collection and present the user with another set of choices.

Heath Parks
Guest

I am getting the following error when debugging. I am leaving fields blank on purpose because I am testing them being required and wanted to see what would happen. I thought the behavier would be to not let me go to the next screren if things were marked required. Is that not how it works?

class java.lang.String cannot be cast to class moduleapi.interaction.FlowPicklistValue (java.lang.String is in module java.base of loader ‘bootstrap’; moduleapi.interaction.FlowPicklistValue is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @2bb7bd00)

Alex Edelstein
Admin

Yes, if you turn on Required it should prevent transition. Sounds like you’ve found a bug. This component didn’t get much testing. If you’re comfortable with it, email credentials to your org to alex@edelstein.org and I’ll take a look.

Heath Parks
Guest

done, and thanks!

Alex Edelstein
Admin

I’m not able to reproduce problems with Required. Can you give me the exact steps to repro? Which Display Type and Input Type are you using?

Carissa
Guest

I am having a similar problem, though I am populating the Quick Choice field on a screen, advancing to the next screen (no problems), and then hitting the back button. It’s hitting the back button that launches this error for me.

Ronan M
Guest
Ronan M

Hello Alex and thanks a lot for this component. I’ve just come across the same problem. The way I set up my Quick Choice FSC : – Allow ‘None’ to be chosen : False – Display Mode : Picklist – Field Name : whatever custom field – Input Mode : Picklist Field – Master Label : Whatever – Object Name : Lead in my case – Required : True – Value : a prepopulated variable That’s it. Everything is going on fine in most cases but if the value happens to be null and that I leave the field blank,… Read more »

Ronan M
Guest
Ronan M

Hello Alex I don’t know if you managed to reproduce the problem ? I’ve found a way to reproduce it for sure. My use case is lead qualification through a flow on the lead page. The easiest way I’ve found to reproduce the bug is : – create a Get Records element (let’s say Get_Lead) which stores all the lead fields automatically – create a screen with 2 Quick Choice components to display 2 Lead picklists (I’ve chosen Lead Source and Rating for instance) – set the 2 components with Display Mode = Picklist / Input Mode = Picklist Field… Read more »

trackback

[…] out the latest update to quickChoiceFSC. Now you can display both Icons and your own Images on the Visual […]

Brendan Sheppard
Guest
Brendan Sheppard

Hey there. I came across this as a way of bypassing the lack of functionality within Flow to handle “None” which has been driving me nuts! I can’t however find out how to achieve functionality that allows me to enter my own Values already created as choices in my flow. Is this possible please or can I only lookup existing picklist fields setup against the object? I’m a BA not a dev and not understanding the string collection as it won’t accept my choice values created in Manager. I’m also confused by the instructions “By default, there will be no… Read more »

Clifford
Guest
Clifford

Hi Brendan. Your use case can be covered pretty easy. At first, create a new Text Collection Variable. Then create an Assignment Element in your flow. Now add your choices to the collection variable in the form of: MyCollectionVariable ADD MyChoice. Afterwards, configure your Quickchoice component, which follows in the screen after the assignment element: Choice Values = MyCollectionVariable Display Mode = Picklist Input Mode = Single String Collection Required = {!$GlobalConstant.True} Don’t forget to set the API Name and Master Label and your done. In case you use your choices only in the Quickchoice component, there’s no need to… Read more »

Brendan
Guest
Brendan

Thanks Clifford, sorry for the delay but this is the first time I’ve had a chance to look at this in detail. This is a POC I’m working on in our org and has been a “when I can” kind of task.

Can you please assist in advising how I create a Text Collection Variable, i’ve tried but can’t figure this part out.

Also, could you please clarify re my second paragraph in my original post. Is it just me that thinks the field labels are confusing?

I really appreciate your time and expertise.

Regards, Brendan

Clifford
Guest
Clifford

In Flow Builder, go to the left side under Toolbox and select Manager. Click new Resource. Choose “Variable” as “Resource Type”. Provide an “API Name” for example “MyTextCollection”. Select “Text” under “Data Type” and turn on the Checkbox “Allow multiple values (collection)”. If you click now on “Done”, your new Text Collection Variable has been created! Also, please forget what you wrote in the 2nd paragraph. Display mode “picklist” has always a non choice when used with String collection “input mode” and by setting required to {!$GlobalConstant.True}, your flow users will be forced to choose a value. Just follow my… Read more »

Brendan
Guest
Brendan

Thank you so much Clifford. The ‘collection’ part was throwing me but your explanation helped me find it. All working now. I really appreciate your time and patience to explain this. Now to document it so I know for next time 😀

Brendan
Guest
Brendan

Hey Clifford. As per my last message I successfully followed your instructions to get this to work as intended for a single picklist. Thanks again – document creation almost complete! However, now I’m stuck in relation to component visibility. Previously I had my picklist values as choices which were stored as variables. I could then use the component visibility to show using the equals operator. With the setup you have advised, the picklist values are seemingly not stored as variables it seems and I cannot use the equals operator. For ease of explaining, my first element on my screen has… Read more »

Clifford
Guest
Clifford

Your welcome. If you want to use component visibility, then turn off the “Manual assign variables (advanced)” Checkbox at the bottom of the Quickchoice configuration. Afterwards, the Quickchoice component will appear as a resource and can be used like this {!MyQuickChoiceComponent.value} in the component visibility of other components.

Please see this link with a video and a nice explaination:
https://unofficialsf.com/using-custom-screen-components-with-conditional-flow-screen-components-can-be-used-with-conditional-field-visibility/

Brendan
Guest
Brendan

Thanks so much Clifford, I really appreciate your guidance, working a treat!

Sarah
Guest
Sarah

I had to uninstall the package because I was unable to deploy any more Apex to my org because of the following test failure: === Test Failures [1] NAME METHOD MESSAGE STACKTRACE GetLayoutFieldsTest CanGetRecordType System.ListException: List index out of bounds: 0 Class.GetLayoutFields.get: line 18, column 1 Class.GetLayoutFieldsTest.CanGetRecordType: line 20, column 1 Any idea what is causing this? Loading...

lisaS
Guest

Hi! This is awesome, just wondering if anyone done dependent picklists with record type filters.

Mario Junior
Guest
Mario Junior

You guys are rockstars! These components are awesome, thanks for sharing

RomanTheCube (@RomanTheCube)
Guest

This is a fantastic component, works wonders! One thing that would be great to add in here is the ability to set width by %, and also set the alignment so that you don’t end up with the cards skewed to one side of a column for example.

Anthony Foster
Guest
Anthony Foster

Love this component. I’m trying to use it so that from a collection variable of campaign records I can show the campaign name and description fields in a card but get the record Id from the user’s selection. I’m using the “collection to string” action to get the field values from my campaign collection but I can’t seem to get Id as an output variable value without showing it in the card. Right now I have to show record Id as the value or use another lookup to get the record Id. I tried using the datatable component but that… Read more »

Clifford
Guest
Clifford

Hi Anthony, using another lookup is the way to go. My suggestion: Instead of using a lookup, how about using the “Find Record in Collection” action from here: https://unofficialsf.com/list-actions-for-flow/ ? This would save a SOQL Query and will output you the campaign record in the output variable: SObject singleOutputMember for further usage.

Anthony Foster
Guest
Anthony Foster

Hi Clifford, thanks for the response. I used get record but I’ll check out the Find Record in collection action that you referenced.

Clifford
Guest
Clifford

Hi Anthony, just want to add that I implemented a new enhancement for the Visual Card Section in QuickChoice, because I needed the same functionality as you. In my solution, a new string collection property “choiceTitles” is introduced, which will be displayed instead of choiceLabels, if and only if the new property is set. So your use case coud be covered with: choiceLabels = Campaign.Id choiceTitles = Campaign.Name choiceValues = Campaign.Description choiceIcons = YourIconsOrImages The Card would show the Campaign Name, Description and (optionally) an Icon/Image, but the output value would be the Record.Id. It’s more or less the same… Read more »

Alex Edelstein
Admin

In general I love this enhancement. My only real suggestion has to do with naming. Because Ids are not really ‘titles’, that’s a bit misleading. Eric will probably also have some thoughts on this. Eric, you might want to rename description from Choice Values to Choice Description. In the Dual String Collection mode, I used “Choice Values” as the name to emphasize that that collection 1) wasn’t visible (in the same way that the Value field in a Flow Choice resource is not visible) and 2) was the output that would be received downstream. So what I recommend is that… Read more »

Clifford
Guest
Clifford

I opened an issue on github, where I explain my solution in detail. Let’s discuss this enhancement there.

Jim Minichiello
Guest

I’ve been working on a Flow for weeks, and I just keep slamming into picklist limitations. I was ready to do a ridiculously intense validation workaround with decision trees and multiple screens and display text screen components when I finally came across this article. I’m installing the package in my sandbox right now. I’ll let everyone know how it goes, but based on reading and videos, I am optimistic.

Jim Minichiello
Guest

Well, I’ve already hit a roadblock. I can’t install version 1.27 because I apparently have some sort of duplicate name in some class.

The name “MockHttpResponseGenerator” is already used on component type: Apex Class. Please rename existing component.

Do you guys know of any work around for me to be able to install this package without having to find or rename anything in my org?

Jim Minichiello
Guest

I’m not sure if you could add a suffix to the class name like “qc”? The class in our org with the same name was written by an outside consultant, and I don’t have the expertise to change it.

Jim Minichiello
Guest

I just wanted to flag that while the Salesforce app installer has an option to “Rename conflicting components in package”, that functionality does not work in unmanaged packages. It’s a known Salesforce issue:

https://success.salesforce.com/issues_view?id=a1p300000008XeyAAE

Jim Minichiello
Guest

The saga continues… I created a fresh Dev org, installed your package there, cloned the MockHttpResponseGenerator class as a new class named QCMockHttpResponseGenerator, changed the reference in GetLayoutByProfileAndRecordTypeTest to point at the new cloned class, and uploaded a new package swapping out MockHttpResponseGenerator for QCMockHttpResponseGenerator. I was able to then install that package in my sandbox without any naming conflicts. Problem solved! Time to finally start building a Flow using Quick Choice!

Gin
Guest
Gin

Anyone here having trouble displaying all their Quick Choice FSC placed in screen flow? I have 9 QC FSC in 1 screen and only the first two are being displayed. I was able to confirm this when I tried jumbling the QC FSC component position. Help?

Jim Minichiello
Guest

I love using Quick Choice for Picklist Choice Sets filtered by Record Type. I’ve used it for picklist fields on the Opportunity object.

However, I cannot get Quick Choice to work for the standard Type or Status fields on the Task object. I assume that there is something strange about the standard Task object (being an activity) that prevents Quick Choice from reading it properly and filtering the options by Task Record Type ID.

Has anyone else run into issues with using Quick Choice to display Picklist choice values filtered by Record Type? Has anybody solved it?

Alex Edelstein
Admin

Yes, Tasks are different beasts. I didn’t know that they don’t work, though. Will try to take a look.

Jim Minichiello
Guest

Hey Alex, thanks for the reply. I’ve done some more testing. I’ve tested both standard and custom objects with standard and custom picklist fields. Providing the Field Name and Object Name always works to pull in the proper pickist options to Quick Choice, except for:
Task, Event, Activity

When I use those objects, my Quick Choice picklist screen element is always blank. I hope this is helpful info.

Michael Pierce
Guest

Alex, I love this component and can’t wait to see it in GA. THANK YOU!

One question: from my experimentation, it appears output value from the QuickChoice can’t be used for conditional visibility for other components in a Flow. Is that correct? So, if a user would to pick Value 1 in the QuickChoice, show another QuickChoice or standard picklist component.

Thanks!

Alex Edelstein
Admin

If you click off the Specify Variables Manually checkbox, then the quickchoice values will be available to conditional field visibility. Manual variables don’t get updated, it turns out, until you click Next.

Michael Pierce
Guest

Alex, thank you SO MUCH for this. That’s what I was missing.

Heath Parks
Guest

I am trying to install the latest version but I am getting an error on naming when I try to install v1.27, I currently have 1.26. Do I have to uninstall v1.26 first?

Alex Edelstein
Admin

what’s the exact error you’re seeing?

Brendan
Guest
Brendan

I’ve been trialing the cards as I like the visual representation and once I figured out how, it’s easy to setup. I do have a few queries however to see if this will be more useful to my situation. In my use case my first screen simply has a choice between Approve/Refuse with the Salesforce icons approve/close to make it clear. It seems that I need to have both the values and labels, and therefore two different groupings of text. In my use case I ideally wanted to simply have one card with the text ‘Approve’ and the other with… Read more »