Help Center


Google Calendar Sync

You can integrate Bookly with Google Calendar so that all new bookings created in Bookly Calendar will be automatically copied to the Google Calendar, and vice versa.

Bookly offers three modes of Google Calendar synchronization:

Before you select the synchronization mode, please read carefully the following instructions to set up the connection between two calendars (this instruction can also be found in Bookly menu > Settings > Google Calendar).


Open Google Calendar tab in Bookly menu > Settings. Enter your Client ID and Client secret.

To find your client ID and client secret, do the following:

1. Go to the Google Developers Console and select a project, or create a new one.

2. Make sure that a Calendar API is enabled. Click on APIs and Services (on the left), look for Google Calendar API and enable it.

3. Click on Credentials on the left sidebar menu, and go to the OAuth consent screen. Give a name to the product and click Save.

4. Go back to the Credentials tab, click on Create credentials and select OAuth client ID in a drop-down menu.


5.  Select Web application and provide the necessary information to create your project’s credentials.

6.  For Authorized redirect URIs enter the Redirect URI (can be found in Bookly menu > Settings > Google Calendar). Then click Create.


7.  In a pop-up window, you’ll see your client ID and client secret. Use them to fill up the form in Bookly settings. Click Save.



After you’ve configured the settings, go to Staff Members tab, select your employee and click Connect to synchronize staff member’s appointments with Google Calendar.



The following video explains how to find the Google Calendar ID:

Finally, log in to your Google account and give the permission for plugin to access your Google Calendar.


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


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}, {staff_name} and {client_names}.

Appointment section

Use available shortcodes for the appointment-related information that will be displayed in Google Calendar.

Customer section

Use available shortcodes for the customer-related information that will be displayed in Google Calendar.


One-way sync

If you enable this type of sync, all new appointments created in Bookly Calendar, including custom fields, and any further changes will appear in Google Calendar.


Two-way front-end only

If you enable this type of sync, all updates in Bookly will automatically appear in your Google Calendar. Events that were initially created in Google Calendar will not be copied and displayed in your Bookly Calendar. Google Calendar events will be taken into account when offering available time slots to clients in your booking form. So if you have an event in Google Calendar, then the corresponding time slot won’t be available for booking because Bookly will consider this time slot as busy.

Please note that it can take some time to sync all appointments between two calendars which can result in a delay when loading the Time step in a booking form. We recommend that you limit the number of fetched events related to this feature as too many events in Google calendar may lead to a lack of memory in PHP when Bookly tries to fetch all events.


Two-way sync

If you enable this type of sync (available with installed Advanced Google Calendar add-on), you’ll get a full two-way synchronization which allows keeping all your Bookly calendar data and any further schedule updates in sync with Google Calendar. All new bookings created or updated in Bookly Calendar will be automatically reflected in the Google Calendar, and vice versa.

Important: it is necessary to configure settings in Google Calendar first, before selecting this type of sync and clicking Save. Your website must use HTTPS.

Please read the following instructions carefully, and visit this page for more details about the implementation of calendar data "incremental synchronization".

Bidirectional sync consists of two stages:

1. Initial full sync is performed once at the very beginning in order to fully synchronize the client’s state with the server’s state. The client will obtain a sync token that it needs to persist.

The first stage of the initial full sync will be performed at the time of the two-way sync activation. When you click Save, all appointments from Bookly will be copied to Google Calendar, and all appointments from Google Calendar will be copied to Bookly.

In the Sync appointments history field, you can specify how many days of past calendar data you wish to sync. For example, if you enter 1 in this field, both calendars will sync appointments history starting from yesterday.

Note: Initial sync may take a long time depending on the number of events to be synchronized.

2. Incremental sync is performed repeatedly and updates the client with all the changes that happened ever since the previous sync. Each time, the client provides the previous sync token it obtained from the server and stores the new sync token from the response.

Incremental sync starts functioning after initial full sync has been performed. Bookly triggers incremental sync when Google Calendar informs your Bookly Calendar about changes by push notifications.

Registering your domain

You must register the domain for any URLs you plan to use to receive push notification messages. In addition, before you register a domain, you must first verify that you own it. 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 want to get more technical information, follow these links:


Manual synchronization

You can force a new incremental sync by clicking on the Google Calendar button on 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.





See 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?

My google calendar synchronization is not working. I see this error in Staff Members tab: “Could not json decode the token.”

Have more questions? Submit a request


  • Avatar

    Hi Denis

    My client has problems with the plugin '' Bookly ''

    Bookly doesn't give exact time and day
    combine with google calendar and people can not make aan appointment while there is posable in google agenda.

    for example: on Tuesday 13 February, there was a possible time from 11:30 on her google agenda. but bookely give the possibility from 13:30 and no other open options!

    I have done all possible sitings for example: limiting the number of fetched events from 2500 to 500 en updating.

    If you need more info please contact me. you can also check it for

    yourself with this link

    I am awaiting for your reply



  • Avatar
    Product Team

    Hi Tawab, please check if the time zone is set correctly in WordPress settings. I advise choosing a city from your time zone instead of fixed hours, to avoid having issues with DST.

  • Avatar
    Jamie Smith

    You said that that the calendar plugin doesn't sync existing appointments and it only syncs appointments from the moment the plugin is connected to Google Calendar. You also stated that it's possible that from time to time the plugin will alter the Authorized Redirect URLs which requires the plugin to be reconnected to Google.
    Am I understanding it correctly that if the plugin alters the Authorized Redirect URL that Google Calendar with de-sync and then all of my existing appointments on Google Calendar will disappear? Then, after I reconnect the plugin to Google, only new appointments made from that point forward would show up on the Google Calendar? I might be misunderstanding but that's what I'm getting from the documentation.

  • Avatar
    Support Team

    HI Jamie, not really, in case the synchronization stopped, appointments will no longer be synchronized to Google calendar and events from Google calendar won't block our the time slots on Bookly's front-end, though you shouldn't lose the created appointments and events. Then, after you reconnect the calendar, the synchronization should be up and running again, the only problem that could occur is with the synchronized events from google calendar that remained in google calendar and were deleted from Bookly when the synchronization wasn't working. These time slots will be available for booking, as the plugin won't find the appointment in Bookly's calendar even though it remained in Google calendar.

  • Avatar
    Sylvain Giroir

    Tried on your demo to sync.
    I did everything from your doc (settings OK on Google Calendar Bookly settings), and when I click connect on a staff member calendar, i choose my main calendar, and it says eveyrtime :

    Error calling POST (401) Unauthorized WebHook callback channel:

    Do you know why? My redirect URL is same on Google App and Bookly settings, and there is normaly no more to do. Any ideas?

  • Avatar
    Sylvain Giroir

    Ok, seems like we have to validates the domain to have the autho. So we can't validates domain for your demo website, and so then, we can't do a proper test of the add-on... shame :/

  • Avatar
    Support Team

    Hi Sylvain, unfortunately, this option is not available for testing purposes.

  • Avatar


    Is there any way to synchronize it with third-party platforms? I have a supplier with whom I will sell tickets, and I need my provider to have all my appointments (rather the available spaces than the appointments) and so I can make the reservation. They would do it on their platform, but the most important thing is that my provider has the "gaps" available for them to make that reservation and the calendars are synchronized.

    This is possible? Could you give me the url where these free holes appear to them? Thank you

  • Avatar
    Support Team

    Hi, currently, this functionality is not supported, there's no option to synchronize with third-party platforms.

  • Avatar

    Hi, why did all of my appointments become erased after I synced my staff members with Google Calendar?

  • Avatar
    Support Team

    Hi Arnas, please send us an email to with this inquiry and your purchase codes to look into this matter.

  • Avatar
    Steven Blair

    Since the clocks recently changed here in Europe, calendar from bookly is correct, but the sync to google calendar is an hour behind, even though it seems to be correct on my google calendar that says GMT +1 and in Bookly its OK too..I have no idea how to solve this. Any suggestions would be great as I'm basically receiving notifications an hour early

  • Avatar
    Monique Smit

    Hi Steven, I encountered the same problem. I fount out that I had to set my timezone in WordPress to my specific location instead of UTC+1. In my case being Amsterdam. After I changed UTC+1 to Amsterdam in my WordPress settings, the timestamps on the bookings in my google calendar sync were ok.

  • Avatar
    Steven Blair

    Thanks for your help, Monique. I appreciate it. .I'm still at a loss with it working and have changed the location to Madrid- since I live in Spain. The UTC time zone says that its an hour behind the local time ( in Madrid, which is correct ) But I'm still receiving notifications an hour too early...perhaps someone else here can help.

  • Avatar

    hi so i would like to have all the customers info such as there address name time and service info added to my google calendar so far only the customers name phone number and email shows up on my google calendar. Is there a way to get there address to show up as well? thanks

  • Avatar
    Steve Levinson

    I downloaded the Bookly app. When I visit the section "settings" it looks different from the video and other snap shots I've seen of the tabs available in this section. Mainly I don't see a button in my version for Google Calendar which I am at the stage I want to integrate and set this up .. please advise

  • Avatar
    Jamie Smith

    Hello, This document says a Google calendar manual sync can be initiated but that button doesn't seem to exist. Did that feature get removed?
    Also, how frequently is the calendar updated automatically?

  • Avatar
    Quoc Nguyen

    After I choose a calendar after connecting to google. The calendar selection keeps resetting?

  • Avatar
    Privatecontractor 85


    i setup everything for calendar sync before updateing and worked perfectly. Now after upadate events created in bookly don't sync with calendar.

    I already cuted off all of staff members, copied again Client ID and Client secret to setings, copied Redirect URI to OAuth.... reconect Staff member to google calendar without errors... but when chosing calendar and hiting "SAVE" button below.... after refreshing page calendar it's not conected to staff member.... any help?

  • Avatar

    Same problem... after refreshing bookly lose the page calendar connection on staff member... any suggest?

  • Avatar
    Wade Short

    I also am having the same google calendar issue, after saving a selected calendar under a staff member (and yes, I tried to create a new staff member), if you reload the page, the selected calendar disappears. It also is not syncing with Google at all. Other integrations with Google Calendar API ask us to add the Calendar ID, which works, this is obviously interrogating the account and getting calendar names back to then select. Only as it doesn't save (despite saying 'saved') it is not actually connecting to a particular calendar.

  • Avatar

    Hi, please update the plugin and all add-ons to the last release:
    1) Bookly 16.7
    2) Bookly 1.3
    3) Then the rest of the add-ons.

    Regarding time zone please choose a city instead of a fixed hour, to avoid having issues with different times in google calendar and Bookly.

    Regarding address, if you want to display it in google calendar, please add the {client_address} code in Bookly -> Google Calendar -> Customer section.

  • Avatar

    If I modify or delete an appointment (which was generated by Bookly) in my Google Calendar, the modification is propageted to Bookly, but the customer isn't notified. Is there any way to notify the customer automatically?


    EDIT: Feature request created

    Edited by Maxime
  • Avatar

    Is it possible to add the remarks of the customer ('internal_note' field) into the Google Calendar event description?


    EDIT: Feature request created

    Edited by Maxime
Please sign in to leave a comment.
Powered by Zendesk