@Maneesh Thank you, but unfortunately that does not work as the data I need to insert is stored in contact data as opposed to journey data. So %%FirstName%% works fine for the email itself but not when it is embedded in a journey.
If the field exists, and it is spelled properly, it is likely a permissions problem with the user running the query.
Also, if you wish to just get the Id of the related record, you can just do Approver__c instead of Approver__r.Id for simplicity.
Do not break the loop. What's happening is that you're processing until the first error, and it gets aborted, so the list is retried with the remaining records, which also gets an error, and then aborted, and then the third attempt happens, and an error here results in this exception. You need to try to add all the errors in a single pass, so that means ...
If I understand you correctly, you have 2 objects, and the Lookup from the child to the parent is called Lookup_Field__c.
If that is the case, an easy way to achieve what you are looking for would be to
create a checkbox formula field in your child object Parent_Object_Protected_State__c that references the value you want to check (ISPICKVAL(...
According to the documentation, you cannot get the previous value in a formula field, as it is not available there.
This function is available only in:
Workflow rules if the evaluation criteria is set to Evaluate the rule when a record is: created, and every time it’s edited .
The database stores the record Id. Most UI elements will instead display a link whose text is more user-friendly, such as the Name, CaseNumber, etc. Process Builder or Apex Trigger can both change which record you look up to, but there is no way to change which field is displayed in standard UI elements.