I created a really simple process in automation which does this:
A step (“step1”) calls another process and sets the value of column col7 to a text and a time stamp
The process called by step1 calls a task to send an email which has the contents of col7 in it. The contents of col7 are included correctly in the email, i.e. the value set by step1 is shown
In a step directly after step1, a task to send another email is called. This email also includes the contents of col7. In this email, the contents of col7 included are whatever they were before step1 updated the column
Note: I used two different tasks to send the emails so that I could see which email was sent from where. But I get the same result if I swap the email tasks; the task that is called from a process underneath (i.e. called by) step1 produces the correct email but the task that comes after step1 produces an email where col7 has not been updated.
I find this very counter intuitive. If a step calls another step which uses an updated column, I would expect a step that comes after to be able to use the same updated column and get the same result.