• Instructions to Ask a Question

    Click on the "Ask a Question" button and select the application for which you would like to ask questions.

    We have 5 different products namely - Pabbly Connect, Pabbly Subscription Billing, Pabbly Email Marketing, Pabbly Form Builder, Pabbly Email Verification.

    The turnaround time is 24 hrs (Business Hours - 10.00 AM to 6.00 PM IST, Except Saturday and Sunday). So your kind patience will be highly appreciated!

    🚀🚀Exclusive Discount Offer

    Just in case you're looking for any ongoing offers on Pabbly, you can check the one-time offers listed below. You just need to pay once and use the application forever -
     

    🔥 Pabbly Connect One Time Plan for $249 (🏆Lifetime Access) -  View offer 

    🔥 Pabbly Subscription Billing One Time Plan for $249 (🏆Lifetime Access) - View offer

Potential Bug: Overwriting raws when processing multiple webhook responses at once on Google Sheet

GauravBR

Member
Use Case: Update a raw or create raw in Google Sheet based on response from Aftership's webhook response on courier status.

It works almost fine but it skips / overwrites raw when there are multiple webhook's are fired at the same time from Aftership. I've noticed this almost three times and fortunately, I get a few more updates for each status and that way I can create skipped/overwritten raw as a new raw and maintain my database, but this might not be for everyone who only gets one webhook push for each raw. May be queing each webhook's response may resolve during triggering action? Like only process action if earlier job was completed to avoid this scenario. You know it better and may have better alternative.

Hope this helps :)
 

Supreme

Well-known member
Staff member
Hey @GauravBR

We checked your workflow and your history logs. And found that the condition which you have mentioned in the Router step is wrong.

Maybe that's why it is skipping or duplicating the entries in your Google Sheets. As a solution pick the appropriate condition in the steps.

2021-06-02_16h23_38.png
 
Last edited by a moderator:

GauravBR

Member
Hey @GauravBR

We checked your workflow and your history logs. And found that the condition which you have mentioned in the Router step is wrong.

Maybe that's why it is skipping or duplicating the entries in your Google Sheets. As a solution pick the appropriate condition in the steps.

View attachment 1301
Here both the conditions are different, that's why it seems like I am duplicating respond. It should either complete first step or second - which seems to be working fine if you check Google Sheet Add New Row Action and Update Row action in your screenshot.



Since it was difficult to explain; I've copied a few responses that were overwritten in my sheeet.

These both responses were added in same column means one was overwritten. (Verified!)
IjIyMDA3NjgyIg_3D_3D
IjIyMDA3NjgwIg_3D_3D

These two faced same situation (Both has similar output response: (Verified)
IjIyMDA3Njc5Ig_3D_3D
IjIyMDA3NjgzIg_3D_3D

There are 4 or more instances I noticed today but due to limitation of sharing personal information, I am not pasting log here.

This happens when multiple webhooks are received and data needed to be updated as add new raw in excel.
 

Supreme

Well-known member
Staff member
Hey @GauravBR

We have checked your given history logs in your workflow and found the mistake in the position of the iterator step in the workflow because of that the "Index value" in the Google Sheets "Update Row" is getting distorted. Due to the position of the iterator, the router was also getting missed.

So as a solution we have placed the iterator inside the router before the "Update Row" Action event. I hope this might help you.

Please try the workflow at your end and let us know if the problem persists.​

2021-06-03_18h06_43.png
 
Last edited by a moderator:

GauravBR

Member
Thank you @Supreme Verma

I have to use iterator prior to check condition as condition is to find relevant data first.

Here's my flow id: Ijc2ODcwIg_3D_3D

What I am doing as, When a response comes in for shipping status - I use simple response and use four data/time formatter to modify date for Shipping Generated Date, Origin Received Date, Expected Delivery Date and Last Updated Time. and then search Google sheet for tracking ID.
1. If Found - It will update Status / Last Update Date & Expected Delivery Date
2. If Not Found - It will add a new raw with all the details.

This way, I update and add shipping status. I am not sure which iterator you suggested me to move into Router. Can you please guide me in detail about how to achieve?
 

Supreme

Well-known member
Staff member
Hey @GauravBR

Thanks for providing us the use case, but could you please confirm that the workaround which we have provided is working accordingly?

And the condition which you are using in the Router module is the response coming from the Google Sheets Lookup endpoint, which is prior to the Router and seems fine.
 

GauravBR

Member
No, I don't think any alternative ways to get task done. There is no way I can bypass requirment. It happens when multiple webhooks recieved by Pabbly. I don't see any error in logic I provided. Can pabbly create a queue for each task in single work flow before starting next job? I think that way this kind of problem can be solved and it is logical. Currently when multiple webhook fires, pabbly process a few at same time and that is why pabbly updates two responses in same raw because when they process task, they look for last raw and add new. When two task check count of raw at same time, it obviously is going to get same response causing this trouble.

I shared my flow above, If you think there's any possibility to change flow, Guide me
 

Neeraj

Administrator
Staff member
No, I don't think any alternative ways to get task done. There is no way I can bypass requirment. It happens when multiple webhooks recieved by Pabbly. I don't see any error in logic I provided. Can pabbly create a queue for each task in single work flow before starting next job? I think that way this kind of problem can be solved and it is logical. Currently when multiple webhook fires, pabbly process a few at same time and that is why pabbly updates two responses in same raw because when they process task, they look for last raw and add new. When two task check count of raw at same time, it obviously is going to get same response causing this trouble.

I shared my flow above, If you think there's any possibility to change flow, Guide me
Can you create a video so that we can see what issue are you getting?

We write more than 100 rows through automation on Google Sheets, the webhooks were coming in realtime but it never overwrite the same row.

Need more data to analyse this issue.
 

GauravBR

Member
It is almost impossible for me to know when I am going to receive multiple webhook updates and it wouldn't be possible for me to create video due to that. What I can do is, Find those webhook response in Pabbly and provide you task ID like I earlier provided.

These both responses were added in same column means one was overwritten. (Verified!)
IjIyMDA3NjgyIg_3D_3D
IjIyMDA3NjgwIg_3D_3D

These two faced same situation (Both has similar output response: (Verified)
IjIyMDA3Njc5Ig_3D_3D
IjIyMDA3NjgzIg_3D_3D
 
Top