We've the following design for the requirement.
Design: Custom Object - ("CusObj" for reference) & Opportunity Relationship between Opportunity & CusObj - Master Detail CusObj fields in scope of issue: 1. Submitter (User lookup) 2. Submitted Date (DateTime)
Opportunity fields in scope of issue: 1. Submitter Email (Email)
Scenario: CusObj record can be submitted for approval. When a CusObj record submitted for approval, the 'Submitted Date' value is updated by field update in approval process for 'Initial Submission' action. 'Submitter' value is updated with before update trigger. It fetches the corresponding 'SubmittedById' from the approval process's ProcessInstanceStep object. There is a workflow rule with field update on CusObj. The entry criteria for workflow rule is 'Submitter' not equal to null. The field to update here is 'Submitter Email' in Opportunity with 'Submitter__r.Email' from 'Submitter' field in CusObj.
Testing: This workflow rule is not firing even though the 'Submitter' value is populated in CusObj. To test the workflow rule firing, I manually changed / populated the Submitter value in CusObj record and saved. The workflow rule fired as expected and updated the 'Submitter Email' field in Opportunity. So, is there any limitation in trigger workflow rule for this scenario. Kindly help here. Thanks