Skip to main content
Question

How can I prevent duplicate records in a Zap?

  • September 16, 2026
  • 4 replies
  • 92 views

juliawhites

Hi everyone,

I’m setting up a Zap that sends information from one app to another, but I’m sometimes getting duplicate records when the Zap runs more than once.

What’s the best way to check whether a record already exists before creating a new one? I’d like to avoid duplicates without making the Zap unnecessarily complicated.

Would appreciate any suggestions or best practices for handling this.

4 replies

Troy Tessalone
Zapier Orchestrator & Solution Partner
Forum|alt.badge.img+14
  • Zapier Orchestrator & Solution Partner
  • September 16, 2026

Hi ​@juliawhites 

Depends on the apps being used in the Zap steps.

Many Zap apps have actions such as Find Record, that have a checkbox to create record if not found, so the step becomes Find/Create record.

Or you can add a Filter/Paths after to then create record if Found = False.


SamB
Community Manager
Forum|alt.badge.img+11
  • Community Manager
  • September 24, 2026

Hi ​@juliawhites 👋 Just wanted to check how you got on with Troy’s suggestions here? Were you able to use a Find/Create action or did Filter/Paths help to prevent those duplicate records?

Let us know if you’re still stuck or got it sorted!


On top of Find/Create: duplicates often come from the trigger, not the action. Google Sheets "new or updated row" fires again on every edit, so use "new row" where you can. Normalise the key first (Formatter: lowercase and trim the email) so "A@x.com" and "a@x.com " match. For intake flows, key on the form's submission ID or email, and only continue when Find returns nothing.


Echoing what's already been said, especially the point about the trigger — that's where most of the duplicates I've seen actually come from. A couple of practical additions:

 

First, double-check which trigger you're using. Variants like "new or updated row" fire again every time the source record changes, so a record that was created cleanly can still come back through the Zap later. If you only need brand-new items, switching to the plain "new record/row" trigger removes a whole class of duplicates.

 

Second, pick one field as your dedupe key and guard on it — an email address, an order ID, whatever is truly unique for your data. A Find step keyed on that field (or a Find/Create, as Troy mentioned) before the Create step handles most cases. Where the app doesn't offer a Find action, I've had good luck using Storage by Zapier to keep a list of already-processed IDs, with a Filter that stops the Zap when the incoming ID is already on the list.

 

One more edge case: if the source system updates a record several times in quick succession (form autosaves, syncing tools), each update can trigger the Zap. In those situations a short Delay step plus a second Find check right before the Create can catch the race.