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 ProfilesAssigning 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!


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.


This component requires that you first install or upgrade the Flow Base Packs

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:



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