Meetings & scheduling
The calendar it could not see, said out loud.
#design-teampublic channel2 tool calls
Free/busy answered for three of four people; the fourth's calendar was not shared, which comes back as an error in that entry rather than as an empty week. An empty week reads as free, so the difference is reported rather than guessed at, and nothing is booked until the asker chooses.
Mei2:41 PM
@attest_tag book the roadmap review with the four of us Thursday afternoon
attest_tagApp2:41 PM
- http_request · GET people.googleapis.com/v1/people:searchContacts · 3 matches
- http_request · POST www.googleapis.com/calendar/v3/freeBusy · 4 calendars · 1 error
Thursday 18 Sep, 14:00–15:00 ET is clear for you, Sam and Priya.
- Dan — free/busy returned
notACalendarUserfor his address: his calendar is not shared with you. That is not the same as free, so I have not counted him either way. - 15:30 is the next hour clear for the other three, if you would rather not overlap his usual review slot.
Say the word and I’ll book 14:00 and let Dan decline, or I’ll draft him a note asking which afternoon suits.
google/gemini-flash4.8k in310 out$0.0026Configure
How the turn went
The error is the answer, and a read that is not certain is not rounded up.
- 01
An error in one entry, not an empty week
Free/busy answers per calendar. A calendar the asker cannot see comes back with an error in that entry while the others return normally, so the call succeeds overall — which is exactly how the case gets missed. The entry is read, and its error is carried into the reply.
- 02
Unknown is not free
The difference matters only once, and it matters a lot: a person whose hours are unknown is reported as unknown. Nothing in the model’s answer is allowed to turn an absent list of busy blocks into an afternoon somebody is available.
- 03
Nothing is written while a question is open
No card appears, because no write was decided. The two ways forward are offered and the thread waits; the booking case is one sentence away if the asker wants it.
What it needs
The setup, in the console.
What it will not do
Enforced outside the model.
It will not report a calendar it could not read as free.
It cannot open the other person's calendar to find out; the only token in play is the asker's own.
Try it
Say it in a channel it is in.
The sentence as it was typed. It works in any channel the bot has been invited to that carries the connection above — no command syntax, no form, and follow-ups in the thread need no mention.
@attest_tag book the roadmap review with the four of us Thursday afternoon
http_request
More in Meetings & scheduling
The hour that suits four calendars, found by asking them.
- Find the hour nobody hates, and book it.#sales-ops · find an hour next week for me, Priya and [email protected], and book it — call it Q4 pricing
- Five minutes before the call, who they are and what is open.DM · every weekday at 8:45, brief me on today's external meetings
- The call is over; the doc and the board are not.#proj-atlas · write up this thread into the Atlas status doc and open tasks for the two things we agreed
Bring the channel this would live in.
Sign up, connect the service above in one channel, and type this sentence yourself — or run the same binary on your own infrastructure.