Google Calendar

Google Calendar

Your team's calendar events, reminders, and out-of-office status, right in Discord.

See it in action
At a glance

Connect your Google account first (see Google Workspace). Then your team's calendar comes to Discord: your admin subscribes channels to calendars so events post there, you get DMs about changes to your own calendar, and anyone can check who's out of office.

All Users

Event Notifications

When an admin subscribes a channel to a Google Calendar, that channel becomes the home for that calendar's events: new events, updates, reminders, and cancellations all post there, and event notifications carry Yes / No / Maybe RSVP buttons so the team can respond without leaving Discord. There's nothing to run; just watch the channel.

Calendar DMs

On top of the channel posts, Team Toolbox sends you a direct message when an event on your own primary Google Calendar is added, changed, or cancelled, so you catch changes to your schedule even if you're not watching a channel.

Changes are switched by the kind of change they are. Open the Google Calendar section of your User Settings dashboard to toggle New events, Cancelled events, and the three kinds of update: Date or time changes (on by default), Location changes, and Title or description changes. Changes save automatically.

When someone edits an event several times over -- moves it, then fixes the room -- the DM you already have is updated in place rather than joined by another one, so a round of tinkering reads as a single change.

Out of Office

Run /calendar ooo any time to see who's out right now and who's coming up, visible only to you.

/calendar oooSee who's currently and upcoming out of office (just for you).
Server Admins

Channel Subscriptions

You decide which channels follow which Google Calendars. Subscribe a channel to a calendar and it becomes the home for that calendar's events: new events, updates, reminders, and cancellations all land there. How far ahead the reminder goes out is one of the subscription's own settings, alongside the rest. These commands need the Manage Events permission.

/calendar subscriptions is the review-and-tune command. On its own it gives you one overview of the whole server — every channel and the calendars it follows. Name a channel and it narrows to that channel, one card per subscription, each with a Customize button for picking which notifications it sends (added, cancelled, started, reminder, and updates split into date/time, location, and title/description), how far ahead the reminder goes, which roles get pinged, and whether the subscription creates Discord events. Only date/time updates are on to begin with.

Post in Voice Channel is on to begin with: when an event's location points at a voice channel — through a mapped room resource, a channel mention, or just the channel's name — the reminder and start notices go to that channel's chat, where the people about to be in the meeting will see them. Everything else still posts in the subscribed channel, and so do these when the location names no channel. Switch it off to keep every notification in one place. Unsubscribing takes down any Discord events the subscription created.

Where Meetings is switched on, a subscription also decides whether its events start a meeting on their own. It's on to begin with, and only ever fires for an event whose location names a voice channel — someone who booked the room meant to meet in it. Switch it off for a calendar you follow for the notifications alone. A subscription that does start meetings answers for two things of its own, each standing in for the server-wide setting under Meetings in Server Settings: the Drive folder its notes and recording are filed in, chosen straight out of Drive and shown by name, and the channel its finished notes are posted to, which can also be none for a calendar whose meetings are nobody else's business. Both settings are hidden while the subscription isn't starting meetings, since neither has anywhere to apply.

A repeating event comes across as a repeating Discord event where Discord can express the same pattern -- every week or every other week on a day, monthly on the nth weekday, daily, weekdays, or annually. Anything outside that set (a monthly meeting on the 15th, say, or the last Friday) still appears, as the next occurrence on its own rather than as a series. A Discord event belongs to the server rather than to a channel, so a meeting gets one however many channels are following the calendar it's on, and a change to a single occurrence of a series leaves the series' event as it is.

/calendar subscribeSubscribe the current channel to a Google Calendar.
/calendar unsubscribeStop a channel from following a calendar.
/calendar subscriptionsSee every channel's subscriptions at a glance, or pass a channel to customize its own.
/calendar sync_eventsRebuild the server's Discord events from every calendar it follows.

Discord events are kept in step with the calendar on their own: a renamed or moved meeting updates in place, and one that becomes repeating (or stops) goes up again, since Discord only accepts a repeat when an event is created. /calendar sync_events does that pass over every subscription at once, and each subscription's card has a Sync Discord Events button that does the same for one channel — worth a run if an event ever looks out of date. A pass over a busy calendar takes a moment, so it reports what it's working on and what it has got through as it goes, rather than leaving you watching a spinner. A sync also tidies up. It checks the repeat each event is really holding rather than trusting its own notes, takes down any leftover copy of a meeting (keeping the one people have shown interest in), and goes back over every event it has ever put up rather than only what's coming next — so a meeting months out gets its new title, and one that's been called off or has run out of repeats comes down. That last part matters for a repeating meeting you changed from this and following events: Google ends the old series and starts a new one, and the old one was left standing on the server.

Resource Calendars

If your team books meeting rooms or shared equipment through Google, map those resources to voice channels so an event that books the room points people at the right place. Calendar resource mappings under Google Calendar in your Server Settings dashboard is where you add and remove them.

Team Toolbox checks that it can actually hold an event in the channel you pick — it needs View Channel, Connect and Manage Events there — and says so at mapping time rather than letting the event fail later. If those permissions disappear afterwards, events for that room still go up, with the room's name written out as a plain location instead.

Out-of-Office Summaries

Out-of-office summaries help the team see who's away at a glance: pick a channel and a weekly time, and Team Toolbox keeps a pinned summary there up to date.

The Google Calendar section of your Server Settings dashboard is where all of it lives — the channel, the weekly time, and the away role. Switch Post a weekly summary off there to stop the pinned summary without losing any of it — the away role keeps tracking who's out, and turning it back on picks up where it left off.

Configure it on the web

Channel subscriptions, resource calendars, and out-of-office summaries can all be managed from your Server Settings dashboard — and the dashboard carries the same per-subscription settings as /calendar subscriptions, so use whichever you prefer.

Need a hand?

Run /calendar help in Discord, join the community server, or check the Help page.