How to override a Salesforce Object UI with a Flow?

Its often better for instances of your Flows to appear as records in Salesforce. This allows users to simply open a running Flow as easily as they open a record. ManyWho automatically manages the state so the Flow will always continue from where you left off. This is how you do it…

  1. Create an Object in Salesforce
  2. Create a new Field for this Object called: JoinUri (it should be a URL field)
  3. Go to Apex and open the ManyWhoFlowController
  4. Copy the code and create a new Apex class. Paste the code into the new class.
  5. Change the name to ManyWhoFlowNameOfObjectController (all instances of ManyWhoFlowController)
  6. Change every instance of ManyWhoFlow__c to your object name __c
  7. Save the class
  8. Clone the visualforce page and give it a name
  9. Change the controller to the name of your controller. Change the standardController=”ManyWhoFlow__c” to your object name
  10. Change all instances of object-id to id
  11. Need to hard code the flow-id for this to work
  12. Save the page
  13. Go to the Object in salesforce
  14. In the Buttons, Links and Actions section, change the Edit, View, New views to your VF page.

In ManyWho

  1. Make sure you refresh the Service to get the latest object changes
  2. Create an operator in your Flow
  3. Create a Value for your Object
  4. Set the JoinUri property to the $JoinUri system Value
  5. Create a Database Save
  6. Save your Value back to Salesforce (this will create the record and associate that record with the instance of the Flow)