Google Calendar Integration

Work in progress for release 20!

This is a one-way integration that will sync Appointments, Project Activity Appointments, Project Activity Tasks, and Salesforce Tasks and Events from improveit! 360 to a user's Google Calendar.

Create Google OAuth 2 Access (Setup once per org)


  1. For the org that needs to be connected to Google Calendar, log into the improveit! 360 org as the System Administrator (i.e., under the Admin account).
  2. In the URL, replace the characters after ".com" with "/apex/i360__management". Press Enter. (e.g., if the URL was originally https://improveit360-8784.cloudforce.com/home/home.jsp, it would be https://improveit360-8784.cloudforce.com/apex/i360__management)
  3. The Google Calendar Integration page should display showing the necessary information to create a new Google Client ID. Keep this page open.
  4. In a separate tab or window, log in to the improveit! 360 Gmail account. (Go to mail.google.com > enter username improveit360 and the password. If needed, obtain the password from the Product Manager or Development Manager)
  5. After logging in to the i360 Gmail account, access the Google Developer Console by changing the URL to https://console.developers.google.com/
  6. Go to Projects -> Calendar Sync -> APIs & auth -> Credentials
  7. In the OAuth section, click the Create new Client ID button
  8. Select the radio button "Web Application" (selected by default)
  9. From the client's Google Calendar Integration page, copy the URL's into the Authorized JavaScript Origins fields AND the Authorized Redirect URL fields, within the "Create Client ID for Web Application" dialogue page.
  • Note: In the Authorized JavaScript Origins field contains two (2) URLs, enter each URL on a separate line.
  • Note: In the Authorized Redirect URL fields, you will enter three (3) URLs, enter each URL on a separate line. You will use the Authorized Redirect URL as well as the two (2) Authorized JavaScript Origins URLs for the three redirect URLs.

10. Click the Create Client ID button
11. Once the Client ID has been created, copy the necessary information from the Google Client ID over to the improveit! 360 Google Calendar Integration page.
12. Create the OAuth Token. A message indicating that the "Google Calendar Integration Exists" will appear.

Individual User Setup


  • The user wanting to integrate should be logged into both Google and improveit! 360 in the same browser (best results are achieved when working in Google Chrome).
  • Go to the Staff tab in improveit! 360.
  • Find the user's Staff record and click on it to view the Staff details.
  • Click Authorize Google Calendar (NOTE: The Authorize Google Calendar button will only show up on the logged in user's corresponding Staff record. If you don't see the button, you're probably on the wrong staff record, or the integration has already been authorized).
  • A screen will appear asking you to Allow access to Google. Click Accept.
  • When you are returned to the staff page, be patient for several seconds while the user's information is updated in improveit! 360 and events are added to their Google Calendar. You will receive a popup when it's safe to navigate from the page.
  • You're done!

Change Calendar Event Reminders


  • Go to your Google Calendar.
  • Click on the down arrow next to ImproveIT 360 calendar on the left.
  • In the popup menu, click Calendar Settings.
  • Click the Reminders and notification near the top of the page.
  • The Event Reminders section allows you to change the default reminder for your events.
  • The Choose how you would like to be notified section allows you to be notified when changes are made to your calendar.
  • Be sure to click Save so that your changes aren't lost.

Change Data shown in Google Task and Event descriptions


You can control the information shown in the Google Calendar Task and Event descriptions by modifying different Field Sets in improveit! 360.

  • To modify what shows for Appointments, go to the Appointment object and edit the field set called Google Calendar Event Description.
  • To modify what shows for Project Activity Appointments, go to the Project Activity object and edit the field set called Google Calendar Event Description.
  • To modify what shows for Project Activity Tasks, go to the Project Activity object and edit the field set called Google Calendar Task Description.
  • To modify what shows for standard Salesforce Tasks go to the Activities section under Customize and modify the Task field set called Google Calendar Event Description.
  • To modify what shows for standard Salesforce Events go to the Activities section under Customize and modify the Event field set called Google Calendar Event Description.

Remove Permissions


Troubleshooting - Is the Job Running?


  • To check to see if the Job is running, go to Setup and type Apex Jobs in the Quick Find box.
  • Take a look at the jobs and you should see an Apex Class named GooglePublishAppointmentEvents that is completed. See image:
  • GoogleJobComplete.jpg
  • If you do not see the class listed:
    • Check the OAuth Service and the Management page to make sure the service is setup.
    • Check the User record to make sure they have been assigned a Google Calendar ID and a Google Tasklist ID. If they do not have these id's, they are not setup.
    • Check to make sure there aren't more than 5 jobs with the Status of Pending or Queued, if there are, the job won't be scheduled. Look to see why the jobs are backed up.
    • Otherwise, contact development.
  • If you do see the class listed and it says Pending in the Status column, be patient for the system to catch up. Salesforce will only execute so many jobs at once.
  • If you do see the class listed and it says Completed in the Status column, you should see the calendars updated.