Connect Google Calendar so your public booking availability can account for busy time and Cedros bookings can be added to the connected calendar. The current Integrations tab supports Google Calendar; it does not offer Outlook, Apple Calendar, or a calendar-subscription URL connection.
There are two setup steps: a site administrator configures the Google OAuth client once, then each host connects their own Google account. Saving the site's credentials does not connect every teammate's calendar.
Before you connect
Open Calendar → My calendar → Configure → Integrations. You need a saved scheduling profile and permission to manage scheduling. Adding, replacing, or removing the site's Google OAuth credentials also requires permission to change site settings. If a credential save is denied, ask a site administrator to complete that step; see Understanding roles and permissions.
Check your profile's timezone, booking types, and weekly hours first. The connection supplies additional calendar conflicts; it does not create working hours. See Setting your availability.
The setup starts with the connected account's primary calendar. When connected, Cedros shows Calendar: with the calendar identifier. The current tab does not include a picker for combining several Google calendars. Verify the displayed calendar rather than assuming all calendars visible in your Google account are included.
Read the two cards separately:
- Google OAuth credentials → Configured means the site has a client ID and secret available.
- Google Calendar → Not connected means this host has no stored connection.
- Connected means a connection is stored and sync is enabled.
- Sync paused means the connection remains stored but sync is off.
These labels describe configuration. They are not a successful live test of Google's access permissions, busy-time lookup, or event delivery.
Configure the site's Google OAuth client
If Google OAuth credentials is already Configured, ask the administrator whether it is the intended client and continue to connecting your account. Do not replace a working site-wide client just to connect another host.
For a new setup:
- In the site's Google Cloud project, enable the Google Calendar API and configure the OAuth consent screen and audience. Google's Calendar setup guide describes these prerequisites; you do not need to run its sample application.
- In Google Cloud Console, open Google Auth platform → Clients and create an OAuth client with Application type → Web application. See Google's credential setup instructions.
- In Cedros, use Copy beside the redirect URI shown in Google OAuth credentials. Add that exact value to the client's Authorized redirect URIs in Google.
- Return to Cedros and enter the matching Client ID and Client secret.
- Select Save credentials and wait for Google OAuth credentials saved. Confirm that the card now shows Configured.
Use the redirect URI shown by the site you are connecting, including its scheme, hostname, and path. Do not substitute a booking-page link or copy another environment's callback. Google requires an exact match, including case and trailing slashes. Google's redirect URI requirements
Cedros requests calendar-event and free/busy access, with offline access so it can continue working after the sign-in window closes. Configure the app's audience and access for the hosts who will connect. If the Google app is restricted to testing or an organization, make sure the intended host is allowed before starting sign-in.
Keep the client secret in the credential field; do not include it in a public page, screenshot, or support message. Saving credentials checks and stores the values, but does not prove that Google accepts them. The next step completes that check through authorization.
The configured summary says whether credentials are saved for this site or supplied from your server environment variables. Stored credentials take precedence. Replace changes the site-wide client; Remove clears stored credentials and can reveal an environment-provided fallback. These controls do not disconnect an individual host. Coordinate client changes with the site administrator because other hosts may rely on the same client.
Connect your Google account
- In Integrations → Google Calendar, select Connect Google Calendar.
- Allow the sign-in popup if the browser blocks it.
- In the Google window, choose the account whose calendar should be used and review the requested access. Complete the authorization.
- Return to Cedros and wait for Google Calendar connected. The page normally refreshes its connection state automatically.
- Confirm that the status is Connected, check the displayed calendar, and continue with availability and booking-delivery checks.
A successful connection enables sync. If the status is Sync paused, select Resume sync when you are ready to use the integration.
If the popup closes without a clear result, return focus to Cedros or reload Integrations and inspect the status before trying again. An open or closed popup alone does not establish success. Start a fresh connection attempt if the authorization link expired or was already used.
Each host completes this flow from their own My calendar profile. Connecting yours does not authorize Google access for another teammate.
Check that busy time affects availability
- In the connected Google calendar, identify an existing period marked busy that falls inside this offering's weekly hours and booking window.
- Copy the exact offering's public link from Booking types and open it in a private browser window.
- Check the public calendar's display timezone so you are comparing the same interval.
- Confirm that a booking cannot overlap the busy period. Also inspect a nearby free period long enough for the meeting, allowing for other booking constraints.
- Refresh after changes and repeat for the offerings you rely on. Stop before selecting a time if you only need a read-only check.
An empty day alone does not prove Google blocking works: minimum notice, time off, duration, booking limits, or other bookings may also remove slots. Use Setting your availability to check those rules.
Google access errors can prevent availability from loading. Treat an error as a connection problem to resolve, rather than evidence that you are free. A saved Connected status can remain visible when an authorization has expired or been revoked.
Verify booking delivery and meeting links
Busy-time lookup and adding a booking to Google are separate behaviors. To verify delivery, use a deliberate test booking with an address and time you control. This creates a real booking, can send invitations or confirmations, and can start payment checkout for a paid type.
- Make the test booking through the intended public offering.
- Open My calendar → Bookings and locate it. A confirmed booking can still be waiting for Google delivery.
- Allow background processing to finish, refresh the bookings list, and check for a sync error. Confirm that the event actually appears in the connected Google calendar at the correct time.
- For Google Meet — automatic link, check that a usable meeting link is available. Join Google Meet appears on the confirmed booking when its link is ready.
- If you also need to verify changes or cancellation, perform those through the Cedros booking flow and confirm the Google event updates. Clean up the deliberate test through Cedros when finished.
Syncing with Google Calendar… means work is pending. On Google Calendar records that an event identifier exists; check the event and any error before treating it as fully current. A pending or failed Google sync does not by itself mean the Cedros booking failed, so do not submit duplicate bookings to retry delivery.
Google Meet offerings require the connected calendar and enabled sync. Phone, in-person, and custom-location offerings have different meeting requirements; see Creating a booking type.
Use Cedros to manage Cedros bookings. Reading Google's busy periods does not mean that moving or deleting an event directly in Google reschedules or cancels the corresponding Cedros booking. The integration is not a general import of every Google event into your Cedros calendar.
Pause and resume sync
Select Pause sync to retain the connection while turning sync off. Wait for Google Calendar sync paused. and confirm the Sync paused status.
While paused, Google busy periods no longer restrict public availability, and new bookings are not added to Google through normal sync. Cedros's own availability rules still apply. A Google Meet offering may be unable to accept bookings while its required connection is paused.
Existing Cedros bookings and Google events remain. Pausing is not an undo action for previously delivered events, and it does not close your public schedule. Use a time-off block if you need to stop new bookings.
Select Resume sync to re-enable it, then repeat the busy-time and delivery checks. Resuming or reconnecting can queue recovery for upcoming confirmed Google Meet bookings missing a meeting link. Do not assume it imports all past bookings or automatically repairs every kind of missed update; inspect the affected bookings.
Reconnect and recover a failed booking
Use Reconnect when the saved authorization no longer works or the host needs to authorize the connection again. Complete the Google sign-in flow and confirm Connected, then test availability.
For an upcoming confirmed booking showing Google Calendar sync failed. Check your connection in Integrations, then retry.:
- Resolve the account, credential, or calendar-access problem under Integrations first.
- Return to My calendar → Bookings and find the affected booking.
- Select Retry Google sync if the action is available.
- Refresh bookings to check progress, then confirm the event and any required Google Meet link in Google.
A queued retry is not completed delivery. If the error returns, record the displayed message and booking details and ask for help. Reconnecting to a different Google account does not migrate existing events from the old account; review outstanding bookings before changing accounts.
Disconnect a host's calendar
Select Disconnect, review Disconnect Google Calendar?, and confirm Disconnect. Wait for Google Calendar disconnected. and check Not connected.
This removes the host's stored connection and disables sync. Cedros also attempts to revoke the grant at Google. If you need to confirm access has been removed at Google as well, review the account's connected-app access there; a successful local disconnect does not guarantee that Google's revocation request succeeded.
Existing Cedros bookings stay, and disconnecting does not delete already-created Google events. Google busy time will no longer protect new availability. Check Google Meet offerings and any bookings that still need delivery before disconnecting, and use time off if you need to suspend bookings.
Removing the site's OAuth credentials is a different action with a broader effect. Use Disconnect for a host connection, rather than clearing the shared client to remove one person's access.
Fix common connection problems
Connect is disabled. Check scheduling permissions, the saved profile, and whether Google OAuth credentials is configured. Credential changes require site-settings permission as well.
Google reports a redirect mismatch. Compare the exact URI shown in Cedros with the allowed redirect URI on the matching Google client. Check the current site or backend domain after a domain change. Do not guess a callback address.
The popup never opens or stays waiting. Allow popups, finish the Google window, then return to Cedros and refresh the status. Restart an expired attempt instead of reusing an old authorization URL.
Google refuses the account or requested access. Ask the site administrator to check the app audience, test-user access where applicable, and Google Workspace restrictions. A configured client does not override Google's account policies.
The connection works briefly and then expires. Check whether the OAuth app uses an external audience in Testing status. Google normally expires those refresh tokens after seven days for calendar access; the site administrator should review the intended app publishing setup. Other revocations can also require reconnection. Google's refresh-token expiration guidance
Busy time is still bookable. Check that sync is enabled, the event is busy on the displayed connected calendar, and you are comparing the same timezone and exact offering. Refresh the public page and investigate connection errors before relying on the schedule.
A booking exists but the event or Meet link is missing. Check its sync state, calendar access, and Google conferencing permissions. Use Retry Google sync for an eligible failed booking after fixing the cause. Do not create a duplicate booking as a repair.
For help, include the site, affected offering, date and timezone, and the visible error, with secrets and private invitee details removed. See Getting help and reporting a problem.