Scheduling command center for multiple people's calendars
See every calendar you can reach on one board, find times that work for everyone at once, and book, move, or cancel meetings without leaving the page.
I want a scheduling command center I keep open all day to run meetings across several people's calendars at once. Build it as an app on Aurinko, with Slack Bot for optional team notifications. The people whose calendars I manage may sit on Gmail, Office 365, Exchange, iCloud, or IMAP, and the app should behave identically regardless of which. That provider-agnostic surface is the whole reason to build this here rather than inside one provider's calendar UI.
The main view is a day and week board. On load, call List Calendars to get every calendar the connected mailbox account can reach, and let me choose which ones are pinned to the board. For the selected date range, call List Events In Range for each pinned calendar and lay the events out side by side, one column per calendar, aligned on a shared time axis so I can read across them. Use Get Calendar when I need the details of a single calendar, such as its display name or timezone.
The board flags three problems visually. Double bookings, meaning two overlapping events on the same calendar. Back to back meetings with no travel time, meaning a gap smaller than my configured buffer. And anything sitting outside that calendar's working hours window. Each flag should be obvious at a glance on the card itself, not hidden behind a click, because the point of the board is catching these without reading every event.
A find a time panel sits alongside the board. I tick the calendars that must attend, set a duration and a date window, and get back ranked candidate slots. Compute them by calling Get Free/Busy for each selected calendar across the window and intersecting the results, keeping only the gaps that are free on every selected calendar at once and long enough to fit the duration plus the buffer on both sides. Availability across people is intersectional rather than additive, and working that out by hand is exactly what standard calendar tools force assistants to do. Rank the surviving slots by how comfortably they sit inside everyone's working hours and how little they fragment the surrounding day.
Booking a candidate slot creates the meeting with its attendees using Create Calendar Event. Dragging a card on the board moves it using Update Calendar Event. Cancelling removes it using Delete Calendar Event. Event updates use ETag optimistic concurrency through an If-Match header, so the drag to move handler must refetch the event and retry when it receives a 409, which is what happens when someone else edited that event in the meantime.
After any create, move, or cancel, generate a pre-filled confirmation email with Create Draft, addressed to the attendees and summarizing what changed, including the new time rendered in each attendee's timezone. Show it to me inside the app so I can edit it, and only call Send Draft once I approve. Never send without my review. Optionally, and only when I have switched it on, also post a short note to a coordination channel using Slack Bot Send a Message.
Persist my settings per user: which calendars are pinned to the board, a working hours window per calendar, a buffer duration between meetings, my display timezone, and the channel used for coordination posts.
Support a hold versus confirmed distinction so tentative options can sit on the board before one is locked in. A hold renders visually distinct from a confirmed meeting, and locking one in should offer to clear its sibling holds in the same batch. Label every candidate slot and every event card with its timezone, since cross timezone coordination is where double bookings actually originate.
Two constraints to bake in. First, the Aurinko access token is tied to a single mailbox, but List Calendars returns every calendar that account can see, so an assistant holding delegate access to their executives gets all of those calendars on one board with no extra setup. Second, Aurinko exposes no contacts or tasks operations, so attendees must be typed in directly or drawn from the attendee lists of events already on the board, never looked up from an address book. Calendar id accepts the literal string primary to target the account's own calendar without looking it up first, and all time ranges are ISO 8601 with a timezone offset.
What does this prompt do?
- Lays every calendar your mailbox can reach side by side in a day or week view, so you stop switching between schedules to spot conflicts.
- Flags double bookings, meetings stacked back to back with no travel time, and anything falling outside someone's working hours.
- Finds times that work for a group by overlapping everyone's free space, then ranks the candidate slots so you can book the best one in a click.
- Books, reschedules, and cancels meetings, then hands you a pre-filled confirmation email to review before it goes out, plus an optional note to your team channel.
What do I need to use this?
- An Aurinko account connected to your work mailbox, which can be Gmail, Office 365, Exchange, iCloud, or IMAP.
- Access to the calendars you want on the board. If you have delegate access to someone's calendar, it shows up automatically.
- A Slack workspace, only if you want meeting changes posted to a coordination channel.
How can I customize it?
- Set the buffer you want between meetings, so a slot only counts as open if there is real breathing room on either side of it.
- Set working hours per calendar, since an executive on the west coast should not be offered an 8am eastern slot.
- Choose which calendars load on the board by default, and which channel gets the confirmation notes.
FAQs
Does everyone need to be on the same calendar system?
Can I see calendars that are not my own?
Will it email people without me looking first?
How does it find a time that works for several people at once?
Can I float a few options before anything is final?
Can I add anyone as an attendee, or only people I have met before?
Related templates
See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.
One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.
Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.
Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.
Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.
A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.
Stop rebuilding everyone's schedule in your head.
Get one board for every calendar you manage, with the conflicts already flagged and the next workable slot already ranked.