Fix Timing Conflicts (Race Conditions) in Workflows
Sometimes a workflow log says an action succeeded, yet the contact record shows no change. A frequent cause is a race condition: two updates hit the same contact within the same second, and one overwrites or outruns the other.
What it looks like
A classic example is a workflow that enrols a contact and, in the very next step, adds a tag. The log shows Add Tag as successful, but the tag is missing from the contact. Checking the timestamps reveals both steps ran in the same second.
Find the exact run
- Open Conversations and find the message affected.
- Open the message details and click the Workflow link to jump straight to the execution with the right contact and time loaded.
- If the link isn't there, open Automation > Workflows, choose the workflow, go to Logs, and filter by contact and time window.
- Compare the timestamps and order of the actions to see whether several fired in the same second.
Prevent it
Add a short Wait action between conflicting steps. A one-minute wait is plenty, and it removes any chance of the updates colliding.
Other habits that help:
- Avoid having two workflows change the same field or tag at the same instant.
- Put dependent steps after a wait, such as an update that relies on a previous step's result.
- When a trigger starts several workflows at once, stagger them with different wait times.
Re-test
Use a test contact, run the workflow again, and confirm the tag or field now sticks before you re-enrol real contacts.
Good to know: Race conditions are timing problems, not bugs in your logic, so the fix is almost always a short Wait rather than rebuilding the workflow.
Was this article helpful?
