Services Plugins FAQs

(Google Calendar Offline: Start Watching Events) delivering empty webhooks from google

I’ve been loving all of the zeroqode plugins! We have used many of them with great success!

I am having an issue with this one though. I have been able to successfully start and stop watching events from google calendar using channel id’s but when I make a change to the calendar and receive the webhook it is empty. (0 characters) I’ve read through all of the documentation from google but I must be missing something. Anyone know what the problem could be? All of my other calendar calls work great.

I should also mention: I have tried sending the webhook directly into a backend workflow but this also renders an empty json body.

I was thinking it might have something to do with TLS encryption as google requires a valid SSL Certificate but I have this already enabled for a long time now with our custom domain. See documentation below on the subject:

Hello @jon8,

Thank you for reaching out to us.

It’s great to hear about your progress with the plugin, and that it proves helpful for you. To better assist you with the challenges you’ve encountered, could you please provide more details about your use case? Specifically, we’d appreciate screenshots and screencast illustrating how you’ve set up the workflow. Please include information on the specific action that is causing concerns, how it’s configured, and a recording in step-by-step mode of what exactly occurs, along with any error messages you receive.

This information will enable us to better understand your situation and provide a more accurate answer.

Thanks again, and we look forward to your response.

Best regards,
Stefan

Yes! Thank you so much for your response! Here is a loom video of the issue:

UPDATE!

I have successfully accomplished keeping a database copy with the sync token. I poll every 15 min and update if necessary. This costs an avg. of 1-2 WU for every calendar every update and with just shy of 100 updates per day I could assume an avg. of 140 WU per person or close to 5000 WU per month per user. If I have 100 users this adds up quickly, so my next project is to use hookdeck to transform the channel id from the header into the body so I can simply use it as a trigger to poll with the sync token only upon calendar updates instead of every 15 min.

Also I noticed an improvement that could be made:

“start date” and “end date” (used for all-day events - not to be confused with startdate time and enddate time which will be empty for an all-day event) are formatted as text making it difficult to parse as a date. When I set up the call manually I was able to change the data type to date for these json fields which saved me a bunch of work.

Lastly, I found out bubble can expose headers when detecting incoming data. This negates the transformation and simplifies the solution. I have now completed this module of my app!

Screenshot 2024-09-07 at 9.50.11 AM

1 Like

Hello @jon8,

Thank you for your update, and we apologize for the delayed response over the weekend.:pray:

As you have already discovered, you must indeed enable “Include headers in detect data” to successfully retrieve the response in backend.

If you will have any more questions or need further assistance with the plugin, please let me know.

Thank you once again, and have a great week ahead!

Best regards,
Stefan