ResytechResytech Docs
Calendar Integrations

Connect Google Calendar

How to authorize Resytech to create, update, and delete events on your Google Calendar using OAuth.

Connecting Google Calendar lets Resytech automatically create calendar events whenever a booking is made for a specific activity. The connection uses Google's OAuth 2.0 flow, so your Google password is never shared with Resytech. Tokens are encrypted at rest using AES and refreshed automatically when they expire.

Before you begin

  • You need Dashboard access with permission to manage integrations for the activity you want to link.
  • You need a Google account with at least one writable calendar. The account you sign in with during the OAuth flow is the account whose calendars will be available.
  • Your browser must allow pop-ups from the Resytech Dashboard domain (the OAuth consent screen opens in a new window or redirect).

Steps

  1. In the sidebar, navigate to the activity you want to sync with Google Calendar.
  2. Open the activity's Settings or Integrations tab.
  3. Click Connect Google Calendar. The dashboard redirects you to Google's OAuth consent screen.
  4. Sign in to the Google account that owns the calendar you want to use.
  5. Google asks you to grant Resytech the following permissions:
Permission (OAuth scope)Why it is needed
calendar.eventsCreate, update, and delete booking events on the selected calendar.
calendar.readonlyList the calendars in your account so you can choose which one to sync to.
openid emailIdentify which Google account is connected (displayed in the dashboard).
  1. Click Allow. Google redirects you back to the Resytech Dashboard.
  2. Resytech exchanges the authorization code for an access token and refresh token behind the scenes. A list of your available calendars appears.
  3. Select the calendar you want bookings to appear on (see Configure Calendar Sync for details).
  4. Click Save. The calendar link is now active.

What happens after connecting

  • The connected Google account email is displayed next to the calendar link so you can tell which account is linked.
  • A CalendarLink record is stored for your activity. It holds encrypted OAuth tokens, the selected calendar ID, and the Google account email.
  • The access token is valid for approximately one hour. Resytech automatically refreshes it using the refresh token when it is within five minutes of expiry. If the refresh fails (for example, because you revoked access in your Google Account settings), sync will stop for that link until you reconnect.
  • New bookings for this activity will begin syncing immediately.

Connecting multiple calendars

You can connect more than one calendar to the same activity. Each time you click Connect Google Calendar, a new OAuth flow begins and a separate CalendarLink is created. This is useful when:

  • You want bookings to appear on both a shared team calendar and a personal calendar.
  • Different staff members need the same bookings on their own Google accounts.

Each calendar link operates independently -- if one link's token expires, the others continue to sync.

Troubleshooting

ProblemSolution
OAuth consent screen does not appearCheck that pop-ups are not blocked. Try a different browser.
"Access denied" or "App not verified" warningIf your Google Workspace admin restricts third-party apps, ask them to allow the Resytech OAuth client. You can also click Advanced and then Go to Resytech (unsafe) during development/testing.
Calendar list is empty after authorizationMake sure the Google account has at least one calendar. Shared calendars where you only have "read" access will appear but will be flagged as non-writable.
Events stop syncing after a whileThe refresh token may have been revoked. Go to the activity's integrations tab and check the calendar link status. If the token is invalid, disconnect and reconnect.

On this page