TeamDesk Knowledge Base & Support

   Home      FAQ      Forum      Idea Exchange      Ask a Question      My Stuff      Help   
  
Team Desk Webhooks and Google Calendar Event Update?
I am able to create events in google calendar via the Call URL action. But I wondering how to set up the webhooks in TD to be able receive calendar event updates. I currently do this via Zapier, but I am trying to save on tasks.

Is this possible? If so, any tips would be greatly appreciated. Thanks!
ID
1446
Category
Integration/API
Author

Admin Account
Date Created
5/18/2021 6:02:24 PM
Date Updated
5/21/2021 5:39:34 PM
Comments
Pierre 5/19/2021 2:41:08 AM
Hello <Admin>

I am curious to the answer to your question, which I am not able to provide.

On the issue to " save on tasks", you could consider using integromat.com instead of zapier.com
- Zapier : 10,000 tasks/month: 129 USD/month
- Integromat: 10,000 operations/ month : 10 USD/ Month (beware : a complex task = many operations; a simple task = one operation)
Integromat works very well (Thanks again to Kirill for the advice)

Kind regards,

Pierre
Admin Account 5/19/2021 11:29:21 AM
Thanks for the reply Pierre. I have actually tried Integromat, though not for google calendar I must admit. I currently use Zapier primarily for Quickbooks integration. I have tried to get Integromat working for Quickbooks and just have not been able to figure it out. I would love to migrate over. It is just time consuming to try and learn it at the moment. So.... If you happen to have any tips that would be great!
Pierre 5/19/2021 11:44:40 AM

1) Integromat has a 'Google Calendar' module - I have not used it yet.

2) To work with Integromat:
- You first need to read TeamDesk REST API document. If you already have , the rest is very quick.
- In Integromat you create a scenario and then fill it with blocks.
- To Use webhooks you insert a 'WEBHOOK- custom webhook' block in your scenario. Integromat starts to listen at the web hook. You need to send data to the webhook so that the systems figures out the data structure
- To update / upsert data to Teamdesk, you use there the 'HTTP' block of Integromat
- A very convenient block of Integromat is the 'ITERATOR'. when you receive via an API a whole JSON table [] or list {}, you can process it an distribute it back to TeamDesk

Hope this helps
Kind regards,
Pierre

Kirill Bondar  Staff  5/21/2021 6:28:04 AM
Hi <Admin>

I crafted a demo for you -- please check "Demo: Google Calendar 2-Way Sync" in your database list. No third-party services, it's just between us and Google :)

-- Outline --

Many Google APIs and gCal API as well provide "push notifications" -- that's essentially webhooks. To let Google notify you about calendar changes, you should call gCal API "watch" method. Then your webhook starts to receive requests after every calendar change. But Google requests contain no data about what was changed -- they are used just to indicate the fact of change. So, we call gCal's "list" method to retrieve the list of changed events, take first one, check if it does not exists in TeamDesk to create a dummy event and then update event info from gCal's "get" method.

Synchronization from TeamDesk to gCal is much more straightforward and the process is outlined here:
https://www.teamdesk.net/blog/tips-tricks/google-calendar-synchronization/

-- Limitations --

So far we can not process multiple events if "list" method reports more than one changed. Yet on our observations push notification is received instantly after the change and chances that the "list" method will report multiple changes are quite low.

--

Next week we'll prepare a blog article with more detailed description of the process.
Admin Account 5/21/2021 5:39:34 PM
Kirill,

Thank you so much. This was extremely helpful!
Feedback
Back to Search Results