Question

Polling GET Request trigger not triggering Zap automatically or when run manually

  • 13 August 2021
  • 5 replies
  • 296 views

Userlevel 1

I’ve built a custom API with a polling trigger, I’ve confirmed the request gives me an Array as desired within zapier developer. When I go through the testing steps, i am able to successfully run the zap from start to finish. However, once the zap is turned on it doesn’t trigger. I’ve also tried to manually run it, and nothing shows up in the zap history even though both green checkmarks display in the popup.


This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

5 replies

Userlevel 7
Badge +9

When the Zap runs for the first time, all data it receives from the first poll request is used to populate the deduplication database or “deduper”. Zapier keeps track of all IDs it has seen/processed so that it doesn’t process the same data over and over. The deduper is populated on first run so that only new data/events created from the moment the user turns the Zap on get handled by the Zap. 

So to ensure your Zap is working as expected, create some new data and validate that that is picked up and processed by the Zap. I think this is probably explains what you’re seeing. 

Userlevel 1

Hi @Zane 

 

Appreciate the clarification on the id tracking. Is there any sort of mechanism to see the id’s of the records that have already been processed? I have confirmed the ability to trigger a new record.

 

Also if I wanted to create a trigger that passed in updated records based on a timestamp, is there any setting for a trigger that takes the id tracking out of play?

 

Let me know if there is anyone I can contact to discuss this in further detail.

 

Thank you

Userlevel 7
Badge +9

When you want to create a trigger where the event is an update to an object, a common pattern is to synthesize an id value unique to that update. Could be something as simple as creating an id that is the value of id concatenated with last updated timestamp. You’ll take the real, raw,  object id and stuff it into its own field named something else, so users have access to it as they are mapping fields in subsequent Zap steps. Be sure to order your results in reverse chronological order by last updated timestamp.

With that, you’ll be up and running with a trigger that runs Zaps each time an object is updated, instead of just once when it’s created.

And to your other question: no, there is no mechanism to query Zapier’s dedup database.

Userlevel 1

@Zane 

 

Thank you for your continued response.

 

In my scenario, I don’t have the ability to change the ID in the system that my GET request is pulling from. Are you saying that there is a way to force Zapier to use a field other that the default ID field in its deduper? If so, how would I go about doing so?

Userlevel 7
Badge +9

What I’m describing here is switching to “code mode” in your Zapier integration, and using JavaScript to manipulate the result object after your API returns the value, but before your integration releases it to the next Zap step.  You won’t need to change your actual service/API.

 

pseudo code:

response.real_id = response.id;

response.id =  response.id + “|” + response.timestamp;

 

 

Except do that in a map function so it updates all objects in the array…