The Apex class is not in a package, has global visibility, is Active, has passing tests with 86% coverage, and the method has the @InvocableMethod tag but it is still not showing up in the picklist when trying to add an Apex Action to a flow.

I'm wondering if there's anything I'm missing.

  • I am seeing a delay to populate the picklist when I did it yesterday....I am not sure if it is your case....
    – m Peixoto
    May 16, 2019 at 13:45
  • That could be it, how long was your delay?
    – nicolevy
    May 16, 2019 at 13:50
  • I believe I was not clear. When I click in the picklist to choice the class (process builder screen), looks like that the picklist is populated in this moment...So, there is a very small delay.
    – m Peixoto
    May 16, 2019 at 13:53
  • Are you on Summer 19? also can you try compile all classes and try again? May 16, 2019 at 13:56
  • I have the same issue. I type the first letter from my class and it come up.
    – m Peixoto
    May 24, 2019 at 8:02

7 Answers 7


For anyone still experiencing this issue try updating your class metadata apiVersion to 48. I had the same problem and tried everything else. When I updated the apiVersion, it works immediately.



It's definitely a bug in the new flow designer. It's not because of Sum19 release. I also faced a similar issue recently in Spring 19 scratch org and when switched back to legacy flow builder, I was able to add invocable action in flow. This link also reports the same issue. https://success.salesforce.com/answers?id=9063A000000E47kQAC I wasn't able to find a bug reported on success community.

  • That's disappointing to hear :( thanks for the info
    – nicolevy
    May 16, 2019 at 14:29
  • Yeah. I am hoping that it gets fixed ASAP because my current work is heavyily dependent on flows and invocable actions. May 16, 2019 at 14:42
  • I ran all the unit tests and then is appeared for me.
    – Robs
    Jul 20, 2019 at 13:27

I had had the same issue but after adding label and description of @InvocableMethod. That was strange...it works to me.

public class Abc {

    @InvocableMethod(label='Method Label' description='Method description')
    public static <YourReturnType> invokeMethod(params here) {

      //put your code here


Here's the list of things you can try:

  • change parameter type
  • recompile all classes
  • run tests
  • add label and description to invocable attribute

This happened to me and the issue was the class had become invalid due to a dependent class being refactored.

Try save the class, and resolve an errors that may occur.


Copy the code from current class and create a new class with some different name. And then try to search the new name in Flow. Most of the time this trick works. Please try and check.

  • Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Apr 4, 2023 at 21:23

To get rid of this, go to setup -> session settings -> uncheck "Enable secure and persistent browser caching to improve performance" box under caching.

  • 3
    Welcome to SFSE! Please take the tour and read How to Answer. At first glance, I don't really see how this would be a browser caching issue. Can you go into more detail about how this is supposed to resolve the issue that the question is asking about?
    – Derek F
    Aug 16, 2019 at 11:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .