Mass-Modify Record Type Visibility on Profiles and PermSets and Picklist Values with SetupViaFlow
SetupViaFlow is a new installable extension that lets you
1) define changes to Record Type Visibility in Profiles and Permission Sets
2) modify picklist values in bulk.
Record Type Visibility
This is normally done here:
![]() | ![]() |
Assigning Record Types to Profiles | Assigning Record Types to Permission Sets |
In real Salesforce usage, orgs can have a lot of these objects, and admins have been asking for some automation tools to make these changes in batches for a long time.
SetupViaFlow solves this nicely. Watch the video to learn more:
As you may be able to infer from the name, the hope here is that Record Type Visibility is just the start of the things that this app will automate in Setup. It has been built in a highly modular fashion, and it will be straightforward to add other kinds of Profile and Permission Set settings to this tool. In fact, we’re looking for help growing the range of Setup activities that can be done using this approach. If you have suggestions as to what we should prioritize to add to this, leave a comment below.
Also see the additional Developer Deep Dive video at the bottom of this post.
Picklist Value Modification
This app has been enhanced to support bulk picklist value management, addressing parts of a long-standing feature request.
The app provides the following functionality:
- For custom picklist fields you’ve created yourself, you can Activate and Deactivate picklist values but you can’t delete them.
- For standard picklist fields, you can’t do anything.
This feature set is something of a disappointment. When we set out to add bulk picklist management we hoped to be able to carry out Activate, Inactivate, Delete on all picklists. Unfortunately some of the combinations are not yet supported by any of the public APIs. Still, we hope that the ability to do mass activation and deactivation of custom picklist fields will prove useful!
Considerations
This only works on custom profiles and permissions sets. But then, you don’t want to be playing around with the standard ones anyways.
This doesn’t support defaults on profiles for person accounts.
Make sure the record types you work with are ACTIVE. For some reason, you can’t modify inactive ones: “Error occured processing component Partner Community Login User. Default record type must be visible: Account”
Some of the built-in profiles have special restrictions on them, and trying to modify them causes errors that aren’t obvious, like this beauty: An Apex error occurred: usf3.MetadataService.MetadataServiceExamplesException: Request failed with no specified error.
Install
This component requires that you first install or upgrade the Flow Base Packs
- FlowActionsBasePack Version 3.2.0 or later
- FlowScreenComponentsBasePack Version 3.0.10 or later
- Datatable Version 4.0.3 or later
Step 2 : Install the current version of SetupViaFlow
Version 3.0 7/30/22
Troubleshoot Installation Issues
Step 3 : If you don’t have one on your org, add a Remote Site Setting that points back to your own org.
The easiest way to do this for a new org is to run the flow in Debug mode and wait for this error:

which conveniently gives you the exact form of the URL you need to create a simple Remote Site Setting in Setup:

Source
Developer Deep Dive
Old Versions
Install Version 1.1.1 Unlocked (6-28-21)
Install Version 1.1.0 Unmanaged (4-20-21) adds Picklist Value Modification
Install Version 1.0.0 Unlocked 9/27/20