Zapier Webhook replacement

Hi all,
I was using Zapier webhook to get data from my orders website

They have something called retrieve poll, where I can call the api and it will look for new entries.

I tried a few things in make but I am getting stuck.

I create a http calling - this worked, but then do I have to store the data?

Have you tried the clickup app first? Have a look at the details and see if they may already have a way to get the information you need.

https://www.make.com/en/help/app/clickup

Hi Alex,

Sorry I meant I need to get data from my site which is an orders api.

I basically need to get the data, and everytime I call it downloads the full list… I only want it to check and retrieve the latest data

Does the API support a filter that allows you to send data past a certain date? You can use the date Mark functions to do some addday() math and schedule it daily. It would help if you sent some details for the api call and some snapshots.

It’s a Get Call

Regarding filter, in the API there is a date and timestamp when the order was placed, so can filter on that?
“orders_date”: “2022-03-15 11:31:56”,

All I am doing is calling the API, I am not sure if I have to use a storage facility
Its JSON… just a couple of samples:

[{
“order_note”: “Test1”,
“id”: 1001,
“order_status”: “Order in progress”,
“orders_date”: “2022-03-15 11:31:56”,
“user_type”: “Retailer”,
},
{
“order_note”: “Test2”,
“id”: 1002,
“order_status”: “Order in progress”,
“orders_date”: “2022-03-15 13:30:45”,
“user_type”: “Retailer”,
}
]

Sometimes the API call has a filter you can use on the call to return just the data you want. But if not yes you can use the route filter to process only orders within a certain time frame. Place the filter on the route after the api call.

This is where I am stuck,

Is there a way I can contact you?

Why not first read up on filters?

I don’t answer questions directly here because that won’t contribute to the community. So let’s keep the conversation here.

1 Like

@Elie start your scenario with a “search records” module of the data store app. Look for the latest record retrieved and make your GET call using that timestamp. Then you update your datastore with the latest record retrieved in your GET call. (you will have to create a datastore of course)

2 Likes

Hi Both

I managed to create my scenario but used 700+ operations in 1 go :slight_smile:

HTTP get > Parse Jason > Filtter to 15 mins time stamp… the time stamp had to filter 700… it all worked and was brillaint… but this cant be viable because after 2 hours i would run out? I wasnt sure where to go from here

I wasnt should if I should I create the data store and how to go about this from there?

Hey @Elie ,

You could try to do it the other way around like @loic.wiseflow suggests. By using a datastore you can save the latest timestamp and orderID which you ran before. So the steps in your scenario would be:

  1. Data Storage: search records. (find the latest record which holds the timestamp of last data you had before in a scenario run. This should contain atleast the timestamp, and you can also add the OrderID to also filter on this (to make sure it stops at that order))
  2. HTTP: Get request (make the GET request on that API you are calling, and use the timestamp of the data storage to filter down the data. Then in a filter after this module you can also add the OrderID to filter to make sure this doesn’t go through.)
  3. JSON: Parse JSON OR Aggregate JSON (I don’t know when you want to send the data to, but if the module supports an array of items you can also use the JSON aggregation. This only uses 1 operation and aggregates all the items into an array)
  4. Whatever module to send it to

Hope this helps you develop further. If you are still stuck or have questions, please also share some screenshots since this provides a lot of information.
Cheers!

~Bjorn