Hey Morghan,
What do you have so far? This sounds very simple, what you probally want for ease is several flows that do the emails that have conditional start. You can configure conditional start in the options of the trigger.
you probally want one something like this on a modified trigger assuming a choice field for status:
@not(equals(triggerBody()?['Status']?['Value'],'Pending’))
This way the flow will run if the Status is not = pending i.e. Approved/Rejected you could then put a condition in to process what is required for Approved/Pending - you may also want another column that the flow updates to indicate that it will not run again if the value changes later.
Here are a few examples to get you started
Do not run on Create
@not(equals(triggerBody()?['Created'],triggerBody()?['Modified’]))
Do not run if created by a user
@not(equals(triggerBody()?['Editor']?['Email'],'svc-SPAppsFlowAdmin@company.com’))
Run if Status is one of these with a OR
@or(equals(triggerBody()?[‘Status']?['Value'],'Rejected by Procurement'), equals(triggerBody()?[‘Status']?['value'],'Completed'))