Google Calendar
Included with Macro DeckShow your Google Calendar events on your deck, count down to the next meeting and join it with one press.
Calendar widgets with an agenda of the coming days, the next event with a countdown and a compact agenda
- Agenda and next event on a Calendar widget
- Triggers before, when and after an event starts
- Join the current meeting with one press
- Connect several Google accounts
- Read-only access to your calendars
The Google Calendar integration reads the calendars of your Google account and makes their events available to Macro Deck's calendar features: the Calendar widget, the calendar triggers and the Join Meeting action. Macro Deck only reads. It never creates, changes or deletes an event.
Macro Deck connects through an OAuth client of your own in Google Cloud. Setting it up is free and needed once; the setup in Macro Deck walks you through it and links to the right pages in the Google Cloud Console. After that, you sign in with your Google account in the browser and allow Macro Deck to see your calendars.
What you can do with it
- Calendar widget: the Agenda layout lists your upcoming events, and the Next event layout counts down to the next one. Press it to see the details of an event, with its location, description, who is invited and a Join meeting button.
- Triggers: Event Starts Soon, Event Started and Event Ended run actions around your meetings, in an automation or on a widget. They can be limited to one account or one calendar.
- Join Meeting: opens the meeting link of the event that is running or about to start, on the computer running Macro Deck.
Some example setups:
- A key on your deck with Join Meeting, so you join the current call without looking for the link.
- An automation on Event Starts Soon, 5 minutes before each event in your work calendar, that mutes your music.
- An automation on Event Ended that switches your deck back to your everyday profile.
How it behaves
Macro Deck reads your calendars every five minutes, from yesterday through about a week ahead. The Refresh Calendars action reads them right away. Recurring events show every occurrence. Calendars you hid in Google Calendar's own list are left out of Macro Deck too.
You can connect as many Google accounts as you like, each as its own configuration, and the same OAuth client works for all of them. When an account cannot be read, the widgets keep its last known events and say that some calendars could not be updated, and Integrations shows a notice for the account.
Everything a calendar widget shows, including descriptions and participants, can be seen on every device connected to your Macro Deck.
What you need
- Macro Deck 3 on Windows, macOS or Linux
- A Google account with Google Calendar
- A Google Cloud project with the Google Calendar API enabled
- An OAuth client ID of the type Desktop app, with its client ID and client secret
- A browser on the computer that runs Macro Deck, for the Google sign-in
Set it up
Step 1: Open the Google Calendar setup
In the sidebar, click Integrations and then Google Calendar. Click Add configuration under Configuration on the Overview tab. Turning on the switch at the top right opens the same dialog, and the integration is turned on once the setup is done. The Connect Google Calendar dialog lists the steps below, with links to the Google Cloud Console and a Redirect URI you can copy.
Step 2: Enable the Google Calendar API
In the Google Cloud Console (
https://console.cloud.google.com), create or pick a project and enable the Google Calendar API for it. The setup links to the page as Enable the Google Calendar API.Step 3: Set up the OAuth consent screen
Set up the OAuth consent screen of the project and set its publishing status to In production. While it stays in Testing, Google ends every sign-in after 7 days, and you would have to connect the account again every week.
Step 4: Create a Desktop app client
Under APIs & Services > Credentials, create an OAuth client ID with the application type Desktop app. A Desktop app client accepts the Redirect URI the setup shows, such as
http://127.0.0.1:8193/api/integrations/oauth/callback, without adding it anywhere.Step 5: Enter the client ID and secret
Copy the client ID and client secret of the new client into the Client ID and Client Secret fields of the dialog and click Continue. Your browser opens the Google sign-in. Google warns that it has not verified the app; that is expected for a client of your own. Choose Advanced, continue to your app and allow access to your calendars.
Step 6: Add a Calendar widget
On the Deck page, add a Calendar widget. In its settings, choose the Layout, Agenda or Next event, and the Calendars to show. Leave Calendars empty to show every connected calendar.
Step 7: Add Join Meeting to a button
On the Deck page, make sure the deck is unlocked (the button at the top right reads Lock) and click a button. The editor opens with Short Press selected. Click + Add action, choose Calendar on the left of the Add action dialog and pick Join Meeting. Starts within sets how early it joins an upcoming event, 15 minutes by default, and Calendar limits it to one calendar.
Actions3
Put these on a button or run them from a flow.
- Join Meeting
- Opens the meeting link of the event that is running or about to start, on the computer running Macro Deck.
- Refresh Calendars
- Reads the events of all connected calendars right away instead of waiting for the next update.
- Show Calendar Details
- Opens the details of a Calendar widget: the event the Next event layout shows, or the list of an Agenda.
Triggers3
A button or flow can react to these events.
- Event Starts Soon
- Runs a set time before a calendar event starts, 15 minutes by default.
- Event Started
- Runs when a calendar event starts.
- Event Ended
- Runs when a calendar event ends.
Variables1
Show these values on buttons and widgets, or use them in conditions.
calendar_next_title,calendar_next_countdown,calendar_next_minutes,calendar_next_meeting_url- Widget variables that each Calendar widget keeps about the event it shows: its title, the countdown to it, the minutes until it starts and its meeting link. The widget also keeps its start, end, location and calendar, and whether it is running.
Widgets1
Add these to your deck from the widget picker.
- Calendar
- Shows your upcoming events as an agenda, or your next event with a countdown.
Frequently asked questions
Why do I need my own Google Cloud client?
Macro Deck reads Google Calendar through an OAuth client of your own. It is free, and the setup links to every page you need. The same client works for all the Google accounts you connect.
Why does Google ask me to sign in again every week?
The OAuth consent screen of your Google Cloud client is still in Testing, and Google ends every sign-in after 7 days. Set its publishing status to In production, then sign in again with Edit connection next to the account on the Google Calendar page.
Can I connect more than one Google account?
Yes. Click Add configuration on the Google Calendar page and sign in with the other account. If you connect an account that is already connected, Integrations shows Google account connected twice: remove the older configuration.
What does Macro Deck get access to?
Macro Deck asks Google only for read access to your calendars and for your email address, which names the account. The client secret and the sign-in are stored encrypted on the computer that runs Macro Deck, and the client secret is only ever sent to Google.
Why does a new event not show up right away?
Macro Deck reads your calendars every five minutes. Use the Refresh Calendars action to read them right away. Events further than about a week ahead are not read.
Why does the sign-in not come back to Macro Deck?
Check that the OAuth client's application type is Desktop app; other types only accept redirect addresses you register yourself. If Macro Deck only accepts HTTPS, set Listener mode in Settings > Network to Use additional HTTPS port, or turn HTTPS off while you connect the account.
More in Calendar and email
Outlook Calendar
Included with Macro DeckShow your Outlook and Microsoft 365 calendar on your deck and join Teams meetings with one press.
Email (IMAP)
Included with Macro DeckSee unread emails and the newest messages of any IMAP inbox on your deck, and react when mail arrives.