How to stop duplicate data from reaching your Zap actions

Userlevel 1

In the realm of automation, bugs and glitches are an inevitable reality we sometimes have to deal with. In some cases, despite our best efforts to troubleshoot, duplicate data can creep into our workflows from trigger source apps. This can then lead to additional duplicates or errors downstream in the Zap’s actions, causing confusion and disrupting the seamless flow of operations. 

Depending on the exact details of the situation though, there is a way to stop the duplicate from getting all the way through.

This entails adding a few steps with Zapier-based apps, all free to use in terms of task count, so they won’t impact your billing or usage to employ while the bug is actively investigated and worked on!

To employ this workaround, here are the basic steps:


For this example, let’s assume that a Zap is using Google Sheets as a trigger. There is some issue where duplicate records are being added to multiple rows, all with the same record ID number. 


1. Set Up a Zapier Table:

Separate from your Zap workflow, begin by creating a basic table in Zapier Tables.

This should have at least one column for “ID Number”, but you can have additional columns to store the date and other details as well if you prefer.

(view larger)

This table will serve as a reference point for identifying duplicate entries.


2. Add a step with Delay by Zapier:

Back in the bug-impacted Zap, insert a Delay by Zapier action after the trigger step. Set this to specifically use the Delay After Queue option, and set to delay runs for one minute.


(view larger)

This delay sets each run to join a queue where they will take turns, letting one run go through all its Zap steps and finish before the other run starts up again and does the same.


3. Reference the Zapier Table:

Add a step to your Zap to “Find Record” with Zapier Tables and sync it with the table you created in Step 1 of this list.

Configure the step to search for a match in the "ID Number" field, using the data retrieved from the trigger app. 



(view larger)

Enable the option to create a new record if no match is found. Within those fields, map the data from the trigger app so it will be logged in the “ID Number” field in the Zapier Table. 


(view larger)


When you test this step, one piece of data in the output will be “Zap Data Was Found” and contain either a true or false value. A “true” would mean an existing value was found, while a “false” would mean no existing record was found, so a new one was created. 


4. Implement Filtering:

Next, add a "Filter by Zapier" step, setting the condition to proceed only if the "Zap Data Was Found" status from the previous step was "false."

This filter will ensure that only the first run of information will proceed to the rest of the Zap.



(view larger)


Workflow Explanation

Here's how the workflow operates in action with this example Zap:



(view larger)


1. Two simultaneous runs are triggered from the source app (Google Sheets), resulting in duplicate data.

2. Both runs enter the Delay queue, where they await processing.

3. The first run searches the Zapier Table for a matching recording ID. Finding none, it creates a new record.

4. The first run successfully passes through the filter and proceeds to the final action.

5. After the one-minute delay, the second run processes.

6. This time, the record exists in the table, preventing the duplicate run from progressing further, thanks to the filter.



By implementing the workflow outlined above, you can ensure that duplicate data bugs are swiftly identified and managed, allowing your automation processes to run smoothly and efficiently. The added benefit of this workflow is that, because it uses all Zapier-based apps, these steps do not count towards your task limit and are thus free to set up and utilize!

0 replies

Be the first to reply!