Extending application logic with Flow
In the previous section, an Apex Interface was defined and placed in the package to express to Developer X what they needed to implement to extend the application logic. This same principle can be applied to logic Developer X might prefer to express in Flow, without needing to write any code.
Though there is no way to define an “interface” for a Flow, you can provide documentation that describes an expected set of Flow parameter names and types for the correct input and output into Flows written by Developer X. The following code illustrates how at runtime, a Flow created by Developer X is called and parameters passed to and from it; this only applies to auto-launching Flows:
Map<String, Object> inputs = new Map<String, Object>();
inputs.put('contestants', contestants);
Flow.Interview myFlow =
Flow.Interview.createInterview(flowName, inputs);
myFlow.start()
String summary = (String) myFlow.getVariableValue...