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

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

Google Calendar Settings Amelia WordPress Booking Plugin

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”
  • 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 a notification that you need to enable APIs before you can enter credentials to access the chosen APIs. Click on the “Enable the APIs you plan to use” link in that notification.
  • 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 “Google Calendar Settings” dialog. After that, you or your employee (if it 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 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.

Insert Pending Appointments

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

Add Event’s Attendees

Enable this option if you want your employees to see in the event customers that attend the appointment. 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 him in his events. If enabled, each customer that adds the group appointment in calendar will see other customers as attendees on 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 busy slots in your employees’ Google Calendars from their work schedules in Amelia. When enabled, time slots from the Amelia Calendar will be removed whenever there is an 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.

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 number of available time slots in the Amelia calendar.

Connect employees with their Google accounts

Once you’ve completed your 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 the following issue during the connection:
“Not Acceptable!
An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.”
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: “&scope=”, and press Enter.

Google Calendar Mod Security Amelia WordPress Booking Plugin

Please note: Synchronization with Google calendar is not supported for Events at the moment, so if you use Events and have assigned employees they will not receive event into their Google calendar automatically.