URGENT Zapier JSON Issue

I know that at this point using Make might be a better option, but I’m currently locked into Zapier and need to resolve an urgent issue by tomorrow.

The context: I have a set of inspection steps that need to be copied into a specific Glide table tied to a given date. These steps must be hard copied so that if the master steps are changed in the future, historical records are not affected. Right now, the only way I’ve found to add multiple rows in Glide is by sending a webhook to Zapier (or Make), and then having Zapier send a webhook back to the Glide API to insert the rows. If there’s another approach that doesn’t require this extra round trip, I’m open to hearing suggestions.

The issue I’m facing is that my Zap is unexpectedly running multiple times, even though Glide is only sending a single webhook call. This results in duplicate data being sent back to Glide. The webhook body looks correct when I inspect it, but it seems Zapier is treating each object in the JSON array as a separate trigger, causing the entire Zap to fire once per object rather than once for the full payload.

To be clear, this is not a case where a step inside the Zap is looping. Instead, the Zap itself is being triggered repeatedly — the number of runs matches the number of objects in the array. As shown in the attached screenshot, Glide is only sending a single webhook request, but Zapier is firing the Zap multiple times.

My suspicion is that Zapier may be parsing the payload in a way that automatically splits the array, or perhaps there’s some unflattening behavior happening under the hood. I’ve already confirmed that “Unflatten” is disabled in the Webhook trigger step.

You’ll also notice “REMOVE” tags in the payload. These are present because the Zap doesn’t run properly if there’s only one object in the array. The tags are removed within Zapier before the data is sent back to Glide.

If the best solution here is to move this workflow to Make, I’m happy to do so — but it would be very helpful to understand why Zapier is interpreting a single incoming request as multiple triggers and whether there’s a fix or configuration adjustment I can make on my end.

Thank you!!!

The Catch Hook in Zapier:

1 Like

Have you checked out using Glide’s API to add multiple rows? It’s a bit of setup, but eliminates the need to use Zapier or Make. Not sure if this is relevant in your use case, but thought I’d mention it.

Marco Volpato tutorial

3 Likes

I guess an alternative to this is looping through the original inspections table, filter for rows to copy, and then add them to the new table. Does it work like that?

1 Like

This worked! Tried this before but had some sort of syntax issue – this demo made it super clear. THANK YOU!

One day I’ll figure out the looping workflows function… could never seem to get it to work.

1 Like

Let me know if you have any questions. I’ll be happy to help.

1 Like

It doesn’t look like your Zapier automation is triggering several times. It looks like you have several mutations and are looping through them in your zap. Zapier will show each loop as a separate run even though it was only triggered once.

2 Likes

Yes – Zapier replied to a ticket and confirmed it is “forking”. Because the JSON body wasn’t packaged it was running for every mutation instance.

1 Like