Allow any Holdex team member to share a booking link that displays real-time availability from their own Google Calendar (and, optionally, selected teammates' calendars). External contacts can choose an available time and book it directly—eliminating back-and-forth scheduling emails and reducing the risk of double-booking.
Go to https://wizard.holdex.io/calendar/settings.
This is a one-time setup for each team member. This page requires you to already be logged in to Wizard with your GitHub account — if you're not, you'll be redirected to log in first before you can continue.
@holdex.io email).The settings page shows which Google account is currently connected and allows you to disconnect it at any time.
Go to https://wizard.holdex.io/calendar/bookings/new or click Create Booking Link button from settings page.
Configure the booking link:
If no shared availability exists within the selected window, Wizard will display an error before creating the booking link. In that case, try one of the following:
When the booking link is created successfully, copy the shareable URL. The booking page is hosted on the Holdex website, and the URL is built from the participants' first names and the meeting duration, plus a short random suffix that keeps it unguessable:
https://holdex.io/book/vadim-mark-30min-Afn2
Older links that point at wizard.holdex.io/book/... — including pre-slug /book/<token> addresses — keep working and redirect to the same page on holdex.io.
Share the link using your preferred communication channel, such as email or telegram. Wizard does not send the booking link automatically.
When the recipient opens the booking link, they will see a calendar with available dates highlighted. They can:
Once the booking is confirmed:
Because Google Calendar does not notify the organizer about events they create themselves, Wizard also sends you a confirmation email containing:
Each booking link can only be used once. A link becomes inactive after:
If you need to schedule another meeting with the same participants, simply create a new booking link.
Go to https://wizard.holdex.io/calendar/bookings (or click View booking links on the calendar settings page) to see every booking link you've created — name, slot length, included teammates, shareable URL, and status (Active, Booked, Expired, or Deactivated). You only see links you created yourself.
Availability is checked in real time whenever the booking page is opened. It is not cached when the booking link is created. If your calendar changes after sharing the link, recipients will only see time slots that are still available.
Availability is also re-checked at the moment of booking, not just when the page loads. If a creator's or teammate's calendar changes while the recipient has the page open — after it loaded, but before they submit — and their chosen slot is no longer free, the booking is rejected instead of double-booking anyone. The recipient sees "That time is no longer available — please pick another" at the top of the page, and the calendar refreshes to show only genuinely current availability. If this happens, the recipient just needs to pick a different (still-available) slot.
Every member gets a default availability of 9:00 AM – 6:00 PM, Monday to Friday, in their own timezone — not a single shared timezone across everyone involved. A slot only counts as available if it falls inside working hours for every included person (creator and all selected teammates).
Each member can customize this on the calendar settings page: define one or more named availabilities (start and end time, days of the week, timezone). When creating a booking link, the creator picks which availability applies for themselves and for each included teammate; anyone with a single availability is used automatically. Weekends are only offered if a selected availability explicitly includes Saturday or Sunday.
A teammate can only be selected after they have connected their own Google Calendar through Wizard.
Booking links work well when you can hand someone a self-service link. Slot Reservations are for the other case: you already know who the meeting is for (a contact in Attio) and you want to hold a short list of specific times for them, chase them if they go quiet, and let either of you finalize the pick — all from a GitHub issue.
From any GitHub issue, run:
@holdex calendar reserve <attio-person-id> [options]
See Commands — Calendar Reserve for the full flag reference and defaults.
--with=user1,user2. Every named teammate must have already connected
Google Calendar with write access (see below) — if not, the whole
command is rejected up front and nothing is reserved.--buffer=<minutes> to require that much busy buffer immediately
before and after the booked slot, on your calendar and any included
teammates'. Once a slot is actually booked, Wizard adds a "Buffer"
placeholder event around it (internal only — the contact never sees it).
Defaults to 0.You share that message with the contact over whatever channel you already use — Wizard does not send it for you.
When the contact opens the pick-link, they see only the reserved slots, in
their own timezone (adjustable if it's wrong — for example, while traveling),
with their email address partially masked (e.g. n***@a***.ai) so anyone the
link is shared with can't read it in full. They can pick a slot directly, or
add extra guests before confirming.
If the contact replies out of band instead ("let's do the 4:15 one Tuesday"), open the same pick-link yourself and click that slot on their behalf — same page, same effect, recorded as your pick instead of theirs.
If none of the offered times work, the contact can say so on the page instead of picking one; Wizard posts a heads-up back in the issue thread so you can re-propose or cancel. The holds stay in place either way until you cancel them or they expire.
@holdex calendar cancel in the same issue at any time before a pick to
release every held slot without booking anything. See
Commands — Calendar Cancel.When you reserve slots, Wizard opens a follow-up task on the contact's Attio People record so a going-cold contact gets chased before the holds lapse. The task auto-completes the moment the reservation is booked or cancelled — you don't need to manage it yourself.
Placing a hold on someone else's calendar needs more than the read-only access used for booking links — it needs calendar event-write consent. Connect (or upgrade) yours at https://wizard.holdex.io/calendar/settings. If a command names a teammate who hasn't granted this yet, Wizard tells you in the thread and the reservation isn't created until they do.