Skip to content
How to get multiple...
 
Notifications
Clear all

How to get multiple free time slots from Google Calendar using a Telegram workflow

3 Posts
3 Users
0 Reactions
4 Views
FBosque
(@fbosque)
Posts: 1
New Member
Topic starter
 

Hello,

I'm looking to create a workflow that allows me to make a call via Telegram and retrieve one or more available 45-minute slots from my Google Calendar within a specified period.

I can successfully retrieve a single slot if I provide a start and end time, but I'm having trouble getting it to return all available free slots within a given date range.

How can I achieve this?

Thanks,
Frédéric
(Apologies for any English errors, I'm French)

:slight_smile:

My workflow:

:slight_smile:

 
Posted : 05/04/2025 10:22 pm
Ramphatech
(@ramphatech)
Posts: 1
New Member
 

Hello there!
I hope you’re doing well!
I know it’s been a while, but in case you haven't found a solution yet, here’s my approach:

Here’s what it does:

1 - Retrieves the date provided by the trigger and converts it into the ISO format required by Google Calendar. (The "-03:00" here reflects my local timezone; please adjust it as needed!)
I've set the working hours from 9 AM to 5 PM, but you can modify this to your preference.
2 - It accesses the Google Calendar "freeBusy" endpoint to fetch all currently unavailable time slots. This also uses my timezone, so remember to change it to your desired one.
3 - A code node is utilized to compare all the time slots and isolate only the available ones.

You can set up a new workflow and have an AI call it whenever you need the available time slots, and it will provide them.

:slight_smile:

 
Posted : 24/05/2025 12:51 am
Abrar_Sami
(@abrar_sami)
Posts: 3
Active Member
 

Are you currently using the Google Calendar node in callin.io or making API calls directly?

You can try using Google Calendar’s Freebusy API with a loop.

  • Instead of asking for one slot, use the “Freebusy” endpoint to get all busy times between your two dates.
  • Then, write a small loop (or use a Function node) to scan through the period, checking where the calendar is free for at least 45 minutes.
  • Collect all those free slots and return them.
  • This way, you get all free slots, not just one.

You could also use multiple “Time Range” queries and combine results:

  • Split your total period into smaller chunks (like every day or every few hours).
  • For each chunk, query for free slots of 45 minutes.
  • Then aggregate these slots from each chunk into a full list to return.

Hope this helps. Cheers!

 
Posted : 25/05/2025 4:03 am
Share: