What happens when two automations update the same CRM field?
The last write wins, and nobody gets told. If a Zapier zap and a HubSpot workflow both set lead status, whichever runs second decides the value. The record looks fine, but it reflects timing rather than logic. Reps then act on a field that two systems fought over, and the loser of that fight left no trace.
This is one of the quietest failures in a revenue stack. Nothing errors. No run fails. Every tool reports success. The only symptom is a sales rep saying "this lead was marked qualified yesterday and now it says nurture," and nobody can explain why.
I see this in almost every CRM I audit that has been running automations for more than a year. It is rarely one bad build. It is two reasonable builds, made months apart by different people, that both decided they owned the same field.
Why do field collisions happen in the first place?
Collisions happen because automations get added one at a time, each solving a local problem. Marketing adds a scoring workflow. Sales ops adds an enrichment step. A founder adds a Make scenario for a partner form. Each one writes to a shared field like lifecycle stage, owner or lead source, and nobody keeps a map of who writes what.
The fields that collide are almost always the important ones. Lifecycle stage, lead status, contact owner, lead source and company size get touched by many systems because every system cares about them. That is exactly what makes them dangerous to share.
Tools make this easy to miss. A HubSpot workflow, a Zapier zap, an n8n flow and a Clay table can all write to the same property, and each tool only shows its own runs. There is no single screen that says "four automations write to this field." You have to build that view yourself.
How do you know if your CRM has this problem?
Look for fields that change more than once within minutes on the same record, especially right after a form submission or an import. Check the field's change history in your CRM, if it keeps one, and note the source of each change. Two different sources writing the same field in quick succession is the signature of a collision.
Start with complaints. Reps usually notice before anyone else, because they see a lead's status or owner flip. Take three of those records and read the change history line by line. You will often see the same pattern: a value set by one integration, then overwritten seconds or minutes later by another.
Then go wider. Pick your five most important fields and list every automation that writes to each. I mean every one, including the old zap someone set up two years ago and forgot about. The list is usually longer than people expect, and that list is the real diagnosis.
What is a field ownership map and why do you need one?
A field ownership map is a simple document that says, for each important field, which single system is allowed to write it and under what conditions. Every other system can read the field but not change it. It turns an invisible race into a rule that anyone on the team can check before they build something new.
The map does not need to be fancy. A table in Airtable or a shared doc works fine. For each field, record the owner system, the trigger that causes a write, and any systems that are allowed to suggest a value without writing it directly.
The rule I push hardest is one writer per field. If two systems both need to influence lead status, one of them should write a separate field, such as a score or a flag, and the owner system should decide the final status from those inputs. This is the same thinking behind the CRM fields an automation should never write, applied to automation versus automation instead of automation versus human.
How do you fix a collision without breaking the automations?
Pick one owner for the field, then change every other automation to write to its own input field instead. The owner reads those inputs and sets the final value. Make the change one automation at a time, test each on a small set of records, and keep the old version paused, not deleted, until you trust the new one.
Here is a common example. Marketing's scoring workflow sets lifecycle stage to marketing qualified lead when a score passes a threshold. An enrichment zap sets lifecycle stage back to lead when a company is too small. Both are reasonable. Together, they flip records back and forth.
The fix is to give each its own field. The scoring workflow writes a score. The enrichment step writes a fit flag. One workflow, the owner, reads both and decides the stage. Now the logic is in one place, the reasoning is visible, and a rep can see why a lead landed where it did.
Make the change in small steps. I add a guard to the old automation first, so it stops writing the shared field, before I switch on the new logic. That way there is never a window where both are writing or neither is.
Can timing rules or delays solve the problem?
Delays hide the problem rather than solve it. Adding a wait step so one automation runs after the other works until load changes, a tool slows down or someone edits the order. Then the collision returns, and now it is harder to find. Ownership rules are stable. Timing tricks are fragile.
I understand why people reach for delays. They are fast to add and they appear to work in testing. But production is not testing. An API slows down for an hour, a queue backs up, or a retry fires late, and the order you relied on flips.
The same goes for "only update if empty" conditions used as a fix. They help in some cases, and I use them to protect human edits, as I described in how to keep an AI step from overwriting human CRM edits. But two automations racing to fill an empty field still race. The first one wins, and which one is first can change.
How do you stop new collisions from appearing?
Make the ownership map part of how automations get built. Before anyone ships a new workflow, zap or scenario, they check the map and confirm the fields they plan to write. If a field already has an owner, they write to an input field instead. This takes minutes and prevents months of confusing records.
I add one line to every automation spec I write: "Fields this automation writes." That line is reviewed against the map before the build starts. It is the cheapest control in the whole system, and it catches most collisions before they exist.
A second control is a limit on how much any one automation can change in a run. If a new build suddenly writes a field on thousands of records, that should stop and alert someone. I wrote about that guardrail in how to limit how many records an automation can change per run. Together, the map and the limit cover most of the risk.
Who should own the field ownership map?
One person in revenue operations, or whoever plays that role on a small team. Ownership of the map is not about doing every build. It is about being the person who says yes or no when a new automation wants to write a shared field. Without a named owner, the map goes stale within a quarter.
On a seed-stage team, that is often the founder or the first marketing hire. On a larger team, it sits with RevOps. The role matters more than the title. Someone has to care that the CRM tells the truth.
I also review the map with clients every quarter. Automations get added, people leave and tools change. A short review catches drift before reps start losing trust in the data, and trust in the CRM is much harder to rebuild than a workflow.
What should you do next?
List your five most important CRM fields today and write down every automation that writes to each one. Where a field has more than one writer, pick an owner, move the others to their own input fields and test the change on a small batch. Then add a "fields this automation writes" line to every new build.
My honest view is that most CRM data problems are not bad data from outside. They are good data being overwritten from inside, by automations that were each built with good intentions. Once you see the collisions, they are not hard to fix. The hard part is looking.
If your CRM has fields that seem to change on their own and you want help untangling the automations behind them, reach out. I build websites and the automations behind them for lead generation, and cleaning up field ownership is often the first thing I do. Let's chat.
Get found, cited and the back office automated
Let's make your site the source AI engines quote and wire up the systems behind it.
Read more blogs
Let's get your website found and cited by AI
Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.