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

  1. Open Conversations and find the message affected.
  2. Open the message details and click the Workflow link to jump straight to the execution with the right contact and time loaded.
  3. If the link isn't there, open Automation > Workflows, choose the workflow, go to Logs, and filter by contact and time window.
  4. 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?