We are considering leveraging headless (no-UI) flows created using the Process Builder in a managed package. The managed package would contain some fixed logic and call out to flows (named in some configuration) at defined points so customers can add their own custom logic.
A block to this appears to be that the necessary creation/referencing at runtime (by name) is not supported as described in this idea Dynamically obtain a Flow Interview instance from within Apex. (Please vote for that idea if it makes sense to you.) The flow name and the interview itself has to be known at compile time as illustrated in the Interview Class documentation.
Or is it possible to include a version 1 of the flow in the managed package (that essentially defines the interface but has a default or empty implementation) that is always called and then for version 2, 3, 4 etc of the flow to be created in the org that the managed package is installed in containing the specific implementation?
Any insight appreciated.