Some website plugins allow for integration with outside services such as Google Calendar. This integration requires some additional set up on the Google account you wish use with this integration. This guide should aid you in completing those steps:
Client ID and Client Secret
Before you can integrate the Amelia booking plugin 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”:
Please note: If you’re using your business account (G-Suite), you do need to select your organization and the location associated with it. All other steps remain the same.
- 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:
- You need to click on “Select Project“, for this project to be selected. After you do this, you will be taken to the Project’s dashboard:
- From the left-hand side menu, select “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 its “Overview” screen. Click on the “Create Credentials“button on the far right.
- This will open the “Credentials” window. There you need to select:
- Google Calendar API;
- User data;
- Click on “Next”.
- When you click on “Next”, step 2 will open up, where you need to provide the “Name” of the App; select the email in the “User support mail” dropdown, and provide the email of the App developer (this is usually the same email as the “User support mail”):
- After you’re done, click on “Save and Continue“, below the “Developer contact information”, and skip the remaining steps by clicking on “OAuth Consent Screen” in the left-hand side menu:
- In here, the application will already be set as External, and the “Publishing status” should be set to “Testing”, so click on “Publish App” to push to production.
- A new modal will pop up, where you need to simply click on “Confirm“:
- Now, you can go to “Credentials” in the left-hand side menu, and you will see empty lines for “API Keys”, “OAuth 2.0 Client IDs” and “Service Accounts”.
- On the top, click on “+ Create Credentials“
- This will open a drop-down, where you need to click on “OAuth client ID“:
- Here, from the “Application type”, select “Web application” (1), enter the name of the application (2), and click on “+ Add URI” (3).
- A field will appear, where you need to paste the redirect URI, found in Amelia Settings/Integrations/Google Calendar/Redirect URI field. After you paste the URI, click on the “Create” button below.
Please note that with the latest update from Google, your website will need to be HTTPS, and adding URIs with HTTP will not work. Changing the App’s status to “Testing” will cause your employees to disconnect from their connected Google Calendar every day or two, so this is not recommended action.
- A new modal will open up, and from there you will need to copy and paste “Your Client ID” and “Your Client Secret” into related fields in the “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 the employee edit dialog.
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 to the WP backend 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).
- Please visit this page to see how to connect employees with their Google Calendar.
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: “=https://www.googleapis.com/auth/calendar”, and press Enter.
An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.”
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: “=https://www.googleapis.com/auth/calendar”, and press Enter, and your employee will be connected to the calendar.
Read-only field that you should add to the “Authorized redirect URIs” field in process of creating Google project.
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.
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 the 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 the 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 appointments 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. 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 the employee’s Google Calendar preventing the employee to add an event to 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. 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.