Configuring Google Calendar 2-way sync in Amelia WordPress Booking Plugin

With Google Synchronization, all employees in Amelia can sync their working schedule with their Google Calendar. Each appointment booked in Amelia will be added to their Google calendar with the customer added as a participant.


If Employee already has events in Google calendar marked as busy, those will not be available for booking in Amelia – this will prevent overbooking. Rescheduling, cancelling or deleting the appointment needs to be done in Amelia. Suppose you reschedule the appointment in Google Calendar. In that case, that will not reflect in Amelia, but if you reschedule the appointment in Amelia, it will be updated in Google Calendar as well.

Client ID and Client Secret

Before you can integrate Amelia with Google Calendars, you must create a “Client ID” and “Client Secret”.

  • Go to the Google Developers Console.
  • Click on “Select a project”, or if you have some other projects active, simply click on the drop-down to create a new project.
  • In a new window that appears, click on “NEW PROJECT” in the top right:
  • Enter the project name, select “No organization” and click on “CREATE”:
  • You will see the project is being created in the top right, and when it is created you will see a notification similar to what you can see here:
  • If you click on this notification, it will take you to the Project’s dashboard:
  • In that window, hover over “APIs & Services” on the left, and then select “OAuth consent screen”
  • The first step in the OAuth consent screen is to select the User Type. Since your employees will be registering with their own Gmail accounts, you need to select “External”, and click on “Create”.
  • A new window will open where you need to type “Application name” and enter your domain under the “Authorized domains” section. When you enter the domain name hit ENTER to add it.
  • After you enter the domain name click “Save”.
Save Google calendar configuration Amelia WordPress booking plugin
  • The console will then display the details of the OAuth consent. Here, you need to click on “Library” in the left-hand menu and it will take you to the API library.
  • Search for the Google Calendar API on the next screen:
  • You will see two results. Click on “Google Calendar API
  • Next, click on the “Enable” button.
  • When the API is enabled, you will see it’s “Overview” screen. Click on “Create Credentials button on the far right.
  • This will open the “Credentials” window. There you need to select:
  1. Google Calendar API
  2. Web browser (Javascript)
  3. User data
  • And click on “What credentials do I need?”
  • At the second step, give the “Name” of your OAuth client ID and in the “Authorized redirect URIs” field, enter the URL from “Redirect URI” field. You can find the “Redirect URI” field in “Google Calendar Settings” dialog on Amelia Settings page. After that click on “Create OAuth client ID” button.
  • At the third step click on “Done” button. After that select your recently created OAuth client IDs.
  • When you access the OAuth client, please double check if the “Authorized Redirect URIs” is actually added.
  • If it is missing, please copy the “Redirect URI” from Amelia’s Google Calendar Settings again, and hit enter. The successfully added URI will look like this:
  • Copy and paste “Client ID” and “Client Secret” into related fields in “Amelia Settings/Integrations/Google Calendar” dialog in Amelia. After that, you or your employee (if the employee has access to the WordPress dashboard) will be able to connect Google Calendar with Amelia from employee edit dialog. Read more at this page to see how to connect employee with the Google Calendar.
  • You can always go back into any of the previously mentioned settings by navigating to “APIs & Services“/Credentials or OAuth consent screen, and always make sure you’re selecting the proper Project.

Redirect URI

Read-only field that you should add to “Authorized redirect URIs” field in process of creating Google project.

Event Title

Here you can configure the title of the event that will be displayed in the Google Calendar. This option works with placeholders from the Notifications page so to set the title you will need to copy placeholders from the notifications page and paste them here. You will find these placeholders once you click on the </> Show Email Placeholders on the Notifications page.

Event Description

Here you can configure the description of the event that will be displayed in the Google Calendar. This option works with placeholders from the Notifications page so to have information you want here, you will need to copy placeholders from the notifications page and paste them here. You will find these placeholders once you click on the </> Show Email Placeholders on the Notifications page.

Insert Pending Appointments

When this option is enabled, appointments with pending status will be added to employee’s calendar.

Add Event’s Attendees

Enable this option if you want your employees to see customers that attend the appointment in the Google event. You can share an event with customers by adding them as attendees. This places the event on their calendar.

Customers will not be able to see other attendees of the same appointment in Google calendar.

Allow customers to see other Attendees

This option allows you to choose whether your customers will see other attendees in Google Calendar events if they choose to add scheduled group appointment in their Google Calendar. By default, this option is disabled so your customer will only see themselves in their events. If enabled, each customer that adds the group appointment to their calendar will see other customers as attendees in the list.

Send Event Invitation Email

If enabled, this sends an invitation email to the customers. This option can be enabled, only if Add Event’s Attendees option is turned on.

Remove Google Calendar Busy Slots

Enable this option if you want to remove the time slots of the Busy events in your employees’ Google Calendars from their work schedules in Amelia. When enabled, time slots in the Amelia Calendar will be removed whenever there is a Busy event in the Google Calendar.

Please note: In order to use 2-way Google synchronization properly your employees should set statuses of the events in their Google calendars as Busy. In that way, time slots occupied by those events will be removed from Amelia calendar.

Include Buffer time in Google events

This option is made for you to choose if the buffer times that you add for each service will be added in the Google events. If you enable it, the buffer times for scheduled appointments will be added together with the appointment in employee’s Google Calendar preventing the employee to add an event to the Google that would overlap his buffer time of the appointment scheduled in Amelia.

Maximum Number Of Events Returned

Here you can set the maximum number of events that will be returned from your employees’ Google Calendar into the Amelia calendar. These events will not be visible as they only affect the available time slots in the Amelia calendar.

Connect employees with their Google accounts

Once you’ve completed these settings, there’s one more thing to set on the employees’ side. Each employee should log in and connect to their Google calendar for the synchronization to work. All they need to do is to open the Employee dialog and click on the button beside the Google Calendar option. They will then be redirected to choose their Google Account. Once they have chosen it, they will be returned to their profile in the Amelia Plugin with the selected Google Calendar email (if the account is successfully connected the button should change the color from blue to red).

If your employees experience one of the following issues during the connection please configure your security system so that it doesn’t block requests from Google, or click on the browser URL field, delete this part at the end of the URL: “=”, and press Enter.

“Not Acceptable!
An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.”

Google auth problem Amelia WordPress Booking plugin


You don’t have permission to access this resource.”

Again, if you see this “Forbidden” error, please delete this part at the end of the URL: “=”, and press Enter, and your employee will be connected to the calendar.

Please note: Synchronization with Google calendar is not supported for Events at the moment, just for Services. So if you use Events in Amelia and have assigned employees to them, they will not have Amelia events in their Google calendar automatically.