Best answer

Zap is being ran/duplicated multiple times unexpectedly

  • 19 December 2023
  • 19 replies
  • 229 views

Userlevel 1
Badge +1

As per the title, my zap is being duplicated/ran multiple times. I understand that the zap will run several times based on the loop step which is why I’m seeing it multiple times in the zap runs, but it’s also being output several times within Monday.com (the platform where I want my information to go via the zap). Here are some pictures of the duplicates. 

 

The items were added initially and they were added again so I had deleted them and then they were added again. 

Another example of the items being added multiple times. This in theory should only be added once unless there was an update and I should only have the 2 line items as per the Printavo order. 

 

Here’s the current layout of my zap. 

Step 1 is pretty self explanatory

Step 2 focuses on dealing with continuing only if it finds a certain order status

Step 3 is the code that focuses on formatting the terms, date and giving me a unique identifier per item created. I had added the unique identifier step because if there was ever duplicates there would have been a filter step to look for the item ID and if it found it it would be stopped there. I have taken that step out temporarily for simplicity.

Step 4 iterates over the line items

Step 5 adds the items into Monday.

 

I’m not too sure why I’m getting duplicates. Any help would be greatly appreciated!


Thank you

icon

Best answer by DarkRoom 2 January 2024, 19:40

View original

19 replies

Userlevel 7
Badge +14

Hi @DarkRoom 

It may be that the trigger step fires multiple times while in the same status that passes the Filter step conditions.

Check your Zap Runs to help you troubleshoot: https://zapier.com/app/get-help

Userlevel 1
Badge +1

Hi @Troy Tessalone 


It’s interesting because this only happens every so often. I’ve had a very high success rate otherwise with any other orders but for some reason this one and a handful of others duplicate.

 

As far as the trigger goes, does this also account for changes to the text in Printavo? I know that if the order in Printavo has a date change then it’ll be added again but I wonder if it’s some other aspect also updating that I’m just not seeing.

 

Is there maybe a filter or a check I can use that checks if the order was already added? I had tried that before with the unique identifier but the issue is that I was referencing that unique ID before it was even added to Monday.com so there would be issues as far as that went. 

 

Let me know what you think. Thank you

Userlevel 7
Badge +14

@DarkRoom 

We would need to see screenshots with how your Filter step is configured.

If the Quote/Invoice is updated in Printavo while in the same status as in the Filter condition, then the Zap could run multiple times.

You should use the Printavo Quote/Invoice ID as a value in a Monday Board column.

Then you can use that value to check before processing.

Userlevel 1
Badge +1

Here’s the filter step. 

 

As far as the ID I use goes, I have the code generate a unique ID based on the line items being created for that order. I have the data like the order number, order name and so on. I don’t have any dynamic data like the time or anything like that because that would be too erratic and it would cause some issues. So the unique ID would look something like #3333-Test Item. I have it set up so that every item being made has it’s unique ID. I feel free to correct me if I’m mistaken somewhere.

 

I also have it set up so that it would look for this unique ID before making the items in monday.com using the find a value by column step. You don’t see it in this zap because I have taken it out for simplicity. 

Userlevel 7
Badge +14

@DarkRoom 

If you are storing the Printavo Quote/Issue ID in its own Monday Board Column, then that could be used to lookup and determine if the Zap has already been run before after Step 2 and before Step 3.

Userlevel 1
Badge +1

@Troy Tessalone 
 

I’m probably confused. I would be trying to reference the unique ID before the code makes it. The code takes all the info I listed before and combines it in a way that makes it a unique ID. What step would be able to look for the unique ID before it’s created?

Userlevel 7
Badge +14

@DarkRoom 

Here’s what’s missing from your logic…

On the Monday Board add a column to save just the Printavo Quote/Issue ID for each Item. (different from the ID generated by the Code step)

Then as described above you can add a step to find a Monday Item by that ID.

If a Monday Item is found, then you know the Zap Run has already processed.

You would add a Filter step after that to Filter out the Zap Run to stop before the Code step.

Userlevel 1
Badge +1

Would you mind providing some clarification for me?

Would the zap run in it’s entirety (from the trigger down to the make item in monday step) for every line item/term that was found? Or is the loop step the only thing that will loop (along with the make an item in monday) and any subsequent updates will trigger the zap from the beginning and then that’s when the filter would come into play? 
 

My understanding is that if there’s 2 term matches that I want to be added, it will start the entire zap over after adding one item which would result in the zap being stopped due to the filter step you suggested I add. 

Userlevel 7
Badge +14

@DarkRoom

Only the Looping step and after will loop, so if a Zap Run gets filtered before a Loop step, then the Looping won’t happen.

Help: https://zapier.com/apps/looping/help

Userlevel 1
Badge +1

I see now. Thank you for the clarification! I had talked to Zapier support about a prior issue and it seems they gave me wrong information. I’ll go ahead and try your method. Thank you

Userlevel 1
Badge +1

What would be the best step to use for finding a specific item by column in Monday.com? I’ve been using ‘Get Item by Column Value’ but it’s very hit or miss. 

For context, the image shows how the step is set up. Every value is correct (as far as I can tell) and I have the unique identifier dynamic so it’ll work in all instances. 

 

I’ll get the error: Cannot read property 'column_values' of undefined

Any ideas as to what I should do? @Troy Tessalone 

Userlevel 7
Badge +14

@DarkRoom 

Can you show a screenshot of the Monday Board Item that has a value of 6929 in the Identifier column?

 

You can remove the selected column.

Check the field description.

 

Userlevel 1
Badge +1

Here’s the screenshot of the item in Monday.com 

 


Could this be a bug? I was also using the “Columns To Receive” function to limit what information the zap step gives me as what I’m using is just a test board and the real implementation of it would have 100+ orders to sift through and I wasn’t sure if it would cause any slowdowns at all. It had caused slowdowns when I had tested it initially.

 

 

Userlevel 7
Badge +14

@DarkRoom 

What type of field is the Identifier? (text, number, etc.)

 

Userlevel 1
Badge +1

It’s a text field @Troy Tessalone 

Userlevel 7
Badge +14

@DarkRoom 

I was able to replicate the issue.

You can try opening a ticket with Zapier Support: https://zapier.com/app/get-help

 

As an alternative you may want to explore using Airtable instead of Monday.

Userlevel 1
Badge +1

Interesting. I had read some other posts regarding this issue too and how it hasn’t been resolved yet. I was hoping this situation would have been different.

 

I wonder if there would be a workaround that I could do exclusively in Zapier. The duplicates are being made because whenever an update is made and it’s added to the Invoice History, it counts it as a new order and since the status (the thing I’m filtering to determine if an order should be added or not) has already passed a first time, it will be ran again no problem.

 

Any ideas? 

@Troy Tessalone  

Userlevel 7
Badge +14

@DarkRoom 

The workaround would be to use the Monday API: https://developer.monday.com/apps/docs/mondayapi

 

 

Userlevel 1
Badge +1

I found a workaround without using the Monday API. I have an additional step in the zap that adds the order number to a table within Zapier and then there’s a check to see if it exists within that table. 

 

The issue why it was being duplicated was when there was a status change that updated the order history within Printavo, it would make a duplicate. I thought that the trigger was only checking one field within Zapier but it in reality was checking if anything within the invoice had changed.

 

Thanks for the help though!

Reply