dusk botintegrationsgoogle calendar
ask ai which google calendars are busy at a given time
find a room without reading everyone's meeting titles. name the calendars, dates and time zone. the bot returns busy intervals, which you can compare before booking.
use find free slots for calculated openings. dusk classes this query as a write. allow this action alone, or use find free slots to keep the bot read only.

what it does
busy times can answer the question without exposing the meeting. this reads accessible calendars or groups within an exact window. it returns busy stretches and any access errors. it doesn't name appointments or calculate openings.
name the calendars or let the bot list them first. it needs at least free-busy access to each one. ask it to explain the intervals here; use find free slots for calculated openings.
when you would use it
- choose between workshop rooms. compare two calendars without collecting their meeting subjects.
- find an interview window. compare the busy periods for the colleagues you name.
- plan a handover call. see booked intervals on the shared duty calendar.
- keep private appointments private. ask for availability alone when meeting details add nothing.
try it
paste this into a chat with your bot
every monday at 1, read the busy times for studio east and studio west for this friday, 13:00 to 17:00, london time. return each room's busy intervals here.
list access failures separately. never call a calendar free when its lookup failed. don't create, move or cancel events.- when
- mondays at 13:00; covers friday afternoon in london time
- needs
- google calendar read and write for this query only; free-busy access to both room calendars
what comes back looks like this (an example)
friday, london time
- studio east: busy 13:00-14:00
- studio west: access error; availability unknown
elodie needs access to studio west before choosing. no titles read and no room booked.set it up
- connect the calendar account. name both calendars and the time zone you want in the answer.
- allow this specific query. read only blocks it. an exact action list avoids granting event creation or edits.
- try a short window. look for a result or named access error beside each calendar.
- schedule the room comparison. pause it when the rooms or planning window change.
what it needs from you
| input | required | what it is |
|---|---|---|
items | yes | List of calendars and/or groups to query. |
timeMax | yes | The end of the interval for the query formatted as per RFC3339. |
timeMin | yes | The start of the interval for the query formatted as per RFC3339. |
timeZone | no | Time zone used in the response. |
groupExpansionMax | no | Maximal number of calendar identifiers to be provided for a single group. |
calendarExpansionMax | no | Maximal number of calendars for which FreeBusy information is to be provided. |
from composio's catalog for Google Calendar (action GOOGLECALENDAR_FREE_BUSY_QUERY, read 12 november 20264). your bot fills these in from what you tell it.
how dusk bot handles it
dusk bot counts Query Calendar Availability as a change: it alters something in Google Calendar, and the sending setting does not cover it. a bot you allow only to read can never call it.
the permissions Google Calendar asks for to run it: calendar, calendar.readonly, calendar.freebusy, calendar.events.freebusy.
where it stops
- no time zone means utc. name yours so afternoon meetings stay in the afternoon.
- keep the span around 90 days or less. longer requests can return empty or weaker results.
- one request covers up to 50 calendars. an access error leaves that calendar unknown.
- book separately when you choose. the query holds no room; someone else can book between the result and your decision.
try it in 2 minutes
- name two room calendars
- pick one date and a two-hour window
- state the time zone
- ask for busy times and errors, with no booking
before you offer a time
- both calendars returned successful results
- the dates and response time zone match your request
- you understand the busy intervals
- you will still need to book the room
mistakes people make
calling an empty result free time
look for a successful lookup before offering the slot. an access error leaves availability unknown.
forgetting the time zone
state it in the request. the response otherwise uses utc.
questions
can it tell me why someone is busy?
no, this returns times alone. reading titles needs an event-listing action and access to those details.
why does an availability check need write access in dusk?
dusk classifies this query as a write. restrict access to this action. you can leave event creation and editing off.
sources
drafted with ai help from the dusk bot docs and the sources listed on this page, then checked against them. if something here is wrong or out of date, write to [email protected].
a calendar bot that finds you room to think
a sunday evening preview of next week's calendar
find the actual dates in a recurring calendar series
an ai chief of staff for the loose ends
an ai executive assistant for inbox and calendar work
ai agents for founders and solopreneurs