Because Won and Lost are statuses, and Lead is a different entity, and SQL is the only step that is truly a stage... let's try to come up with something easier since you aren't really using "stages" as they are defined in a business process flow.
Firstly, setup your Option Set on the Contact entity. Let's called it Relationship Status (there's a default Relationship type but I'll leave that to you to decide whether or not to re-purpose it)
- Relationship Status
- Lost Prospect
- Customer
- SQL
- Qualified Prospect
Now let's get the Status portion out of the way.
Workflow 1: Update on Status change
Entity: Opportunity
Trigger: On Status Change, On Create
Logic:
- Check Condition
- IF Customer (Contact) Relationship Type does not equal Customer
- THEN Check Condition
- IF Status = Won
- Update Record (Contact)
- SET Relationship Type = Customer
- Conditional Branch
- IF Status = Lost
- Update Record (Contact)
- SET Relationship Type = Lost Prospect
- Conditional Branch
- IF Status = Open
- Update Record (Contact)
- SET Relationship Type = Qualified Prospect
note: If a Lead is qualified to an Opportunity and a Contact is created this will automatically set your Contact's Relationship Type to "Qualified Prospect". The check condition at the start is to ensure you're not changing a customer's relationship type just because they have a new opp, or lost one recently.
before we do workflow 2 I have to ask, how are we identifying that we're in discovery? can we make it a new field, call "in discovery" like a checkbox on the Opportunity? I don't want to go into stages and workflows on business process flows if we're just writing 1 single stage name. If that's ok, see below, also this would be the easiest way.
Workflow 2: In Discovery, Update Contact
Entity: Opportunity
Trigger: On fields change (check off the proposed "In Discovery" field)
- Check Condition
- IF Customer (Contact) Relationship Type does not equal Customer
- THEN Check Condition
- IF In Discovery = Yes
- Update Record (Contact)
- SET Relationship Type = SQL
If you have your heart set on redefining your business process flow into a stage like process with updates such as, New Lead -> In-Talks -> Nearing Deal -> Customer (if won), and Lost Prospect (if lost) then we can talk about creating a workflow off your Business Process Flow instead.
Let me know, and mark as the suggested answer if you like the approach I provided with the 2 workflows.