You can seamlessly integrate Bookly with Google Calendar to automatically synchronize new bookings between Bookly Calendar and Google Calendar in both directions.
Bookly PRO offers three modes of Google Calendar synchronization:
- One-way sync
- Two-way front-end only
- Two-way sync (Bookly Advanced Google Calendar (Add-on) required)
Before you select the synchronization mode, please read carefully the following instructions to set up the connection between two calendars.
To set up the connection, you'll need to enter your Client ID and Client secret in Bookly > Settings > Google Calendar.
To find your client ID and Client secret, do the following:
1. Go to the Google Cloud Platform.
2. Create a new project.
3. Enable the Google Calendar API:
-
-
- In the left sidebar, select Library.
- Search for Google Calendar API or click this link to go directly to the API page.
- Ensure that the API is enabled.
-
4. Configure application credentials:
-
-
- Select your project and click on Get Started to configure credentials.
- Add the required app and contact information, then click Create.
-
5. Create OAuth Client Credentials:
-
-
- On the next screen, click Create OAuth Client.
- Under Application type, select Web application and enter a name.
- In the Authorized redirect URIs field, enter the Redirect URI found in Bookly menu > Settings > Google Calendar.
- Click Create.
-
6. Enter credentials in Bookly:
-
-
- Under OAuth 2.0 Client IDs, select your project to view the Client ID and Client Secret.
- Copy and paste these values into Bookly menu > Settings > Google Calendar.
-
Important: for two-way sync, your website must use HTTPS. Google Calendar API will be able to send notifications to HTTPS address only if there is a valid SSL certificate installed on your web server.
When you're finished configuring the settings, go to the Staff Members section, select your employee, switch to Advanced tab and enable the connection to synchronize staff member's appointments with Google Calendar.
Finally, log in to your Google account and give the permission for plugin to access your Google Calendar.
Note
There is currently a limit of 50 refresh tokens per user account per client. If the limit is reached, creating a new refresh token automatically invalidates the oldest refresh token without warning. This limit does not apply to service accounts.
When you connect staff members to their Google Calendars you may see a warning that Google hasn't verified the app.
This screen means that your Google Application hasn't gone through the Google verification process. You may continue the process of connecting your staff, click on the Advanced and proceed.
To avoid this warning in future, you should go through a verification of your app on the consent screen of your application.
For current users, if experiencing syncing issues after adding new staff members:
Go to Bookly Settings > Google Calendar > Redirect URI. Copy the updated link and paste it in your Google API Console > Credentials > Web Application > Authorized Redirect URIs.
You did it in the past, and as the URI may change with regular updates of the plugin, you will occasionally need to tell Google API what new URI to authorize.
Doing this will most likely solve the sync issue. If it persists, please let us know at support@bookly.info.
Bookly allows you to set up the way your booking information will be displayed in Google Calendar.
Template for event title
Choose details for Google Calendar event description that is created via Bookly. Available codes are {service_name}, {category_name}, {staff_name} and {client_names}.
Template for event description
Use available codes for the appointment-related information that will be displayed in Google Calendar.
Starting from Bookly PRO 3.6 you should use {participant.client_email} instead of {client_email} and so on inside the {#each participants as participant}{/each} structure when you configure your GC event description. This was made to better display appointment details in Google Calendar for group bookings.
One-way sync
If you activate this synchronization mode, any new appointments created in Bookly Calendar, including custom fields, and subsequent modifications, will be reflected in Google Calendar.
Two-way front-end only
If you choose this synchronization mode, any updates made in Bookly will be automatically reflected in your Google Calendar. However, events originally created in Google Calendar will not be copied and shown in your Bookly Calendar. Google Calendar events will be considered when presenting available time slots to clients in your booking form. Therefore, if there's an event in Google Calendar, the corresponding time slot won’t be open for booking because Bookly will regard that time as occupied.
Please be aware that the synchronization of appointments between two calendars may take some time, potentially causing delays when loading the Time step in a booking form. To ensure optimal performance, we recommend that you limit the number of fetched events associated with this feature. Too many events in Google Calendar could lead to memory issues in PHP when Bookly attempts to retrieve all events.
Two-way sync
If you activate the Two-way sync option (requires the installation of the Advanced Google Calendar (Add-on) for Bookly), you'll benefit from comprehensive two-way synchronization. This ensures that all your Bookly calendar data, along with any subsequent schedule modifications, remains synchronized with Google Calendar. Any new bookings created or updated in Bookly Calendar will be automatically reflected in Google Calendar, and vice versa.
Important
Before enabling and saving this sync option, it's crucial to configure settings in Google Calendar first. Additionally, please ensure that your website uses HTTPS for a seamless synchronization process.
Please read the following instructions carefully, and visit this page for more details about the implementation of calendar data "incremental synchronization".
Bidirectional synchronization involves two stages:
1. Initial full sync occurs once at the start to align the client's state with the server's state. The client obtains a sync token that it needs to persist.
When you activate the two-way sync and click Save, a comprehensive synchronization is initiated. All appointments from Bookly will be copied to Google Calendar, and vice versa.
In the Sync appointments history field, specify the number of past calendar days you want to sync. For instance, if you enter 1, both calendars will sync appointments history from yesterday.
The duration of the initial sync may vary based on the volume of events to synchronize.
2. Incremental synchronization is a recurring process that continually updates the client with changes since the last sync. During each iteration, the client supplies the previous sync token acquired from the server and stores the new sync token received in the response.
Incremental sync becomes operational after the initial full sync is completed. Bookly initiates incremental sync when Google Calendar notifies your Bookly Calendar of changes through push notifications.
Registering your domain
You must register the domain for any URLs you plan to use to receive push notification messages. In addition, prior to domain registration, you must verify ownership. This step is an abuse-prevention measure to stop anyone from using push to send messages to someone else’s domain.
Step 1: Verify that you own the domain
Before you can register your domain, you need to verify that you own it. Complete the site verification process using Search Console. For more details, see the site verification help documentation.
Step 2: Register your domain
To register a verified domain name as one of the allowed domains for your project, do the following:
1. Go to the Domain verification page in the API Console.
2. Click Add domain.
3. Fill in the form, then again click Add domain.
At this point, the Google API Console checks all domains in the list against the ones that you have verified in Search Console. Assuming that you properly verified all the domains, the page updates to show your new list of allowed domains. You now can use any of these domains to receive push notifications.
If you need more technical information, please refer to these links:
https://developers.google.com/calendar/v3/sync
https://developers.google.com/calendar/v3/push
Manual synchronization
You can initiate a new incremental sync by clicking on the Google Calendar button located at the top right of the Bookly Calendar.
Note
When you create All day event in Google Calendar, its status is set to Free by default. You should change its status to Busy to display this event in Bookly Calendar.
DEMO VIDEO TUTORIALS MAIN BOOKLY SETTINGS FAQ ADD-ONS
Check these articles for troubleshooting the most common issues with Google Calendar sync:
I am unable to connect a staff member to Google Calendar
There are discrepancies between my website and Google Calendar. What can I do?
Google Calendar sync has stopped working properly after an update. How do I fix it?