Openprise supports importing data from Google Calendar into Openprise via service account. To begin importing calendar data from your calendar or the calendars’ of users within your organization, follow the procedure below to obtain the appropriate credentials and grant all necessary permissions.
Creating a Google Calendar Service Account
- If you do not already have an account on the Google Cloud Platform, create one using your Google identity.
- Create a project in the Google Cloud platform. Fill in the required information including project name.
- Select the project.
- On the project dashboard, navigate to the APIs and Services tab, then select Library.
- Search for and select the Google Calendar API in the API library, then select enable.
- On the following screen, select Credentials, navigate to the + Create Credentials tab, then select Service Account
- Fill in the necessary descriptive details including Service Account Name, Service Account ID and Service Account Description, then click Create and Continue.
- For the Role option, choose Admin (owner), then click done. It is NOT necessary to add the optional user access roles.
- Navigate back to the Credentials page and take note of the Service Account Email address, then select the address.
- Select the Keys tab, then Create New Key.
- Generate a .json file containing the private key information. SAVE THIS INFORMATION IN A SECURE LOCATION - you will need these details to authenticate the new service account on the Openprise platform.
Creating a Data Source
- When setting up a Data Source, select gcalendar as the source technology. To learn more about Data sources, click HERE
- Select Add Account Information to authenticate to gcalendar (red arrow above).
This information is contained in the .json file you generated. An example is shown below:
- clientId - Google Cloud account ID
- clientEmail - Google Cloud account email (NOT personal)
- project_ID - Project ID where Openprise can run queries from
- privateKey - Private key tied to an end users Google Calendar service account, used to authenticate to Google
- privateKeyId - Private key ID tied to an end users Google Calendar account, used to authenticate to Google
- token_uri - URI that sends a token request to Google Calendar to authenticate the end user
- serviceAccountUser - User whose data will be displayed as an example of formatting in data parse screen during DS creation, does not have to be related to data being imported.
OPTIONAL:
Use the data inclusion option to filter the email address data based on other attribute values within the data source. If no inclusion filters are specified, all email addresses contained in the specified email address attribute will be included in the import.
Example: For Salesforce, you can supply the User table as the data source containing g-calendar emails, and add a filter to omit any user that has IsActive=false, and does not contain an email domain matching your organization's domain.
Specify the number of days into the past and number of days into the future (from time of import) from which to pull calendar data (look for the following symbol in below diagram). Default date range is 120 days in the past and 30 days into the future.
Explanation of Google Calendar Data Source Attributes:
- event_id: unique identifier of the event, used to uniquely identify events across calendar systems: Should never be blank
-
display_name: attendee’s name
If no value attribute field is blank -
attendee_email: attendee’s email
If no value attribute field is blank -
response_status: reflects the response status of the attendee whose name/email information are specified in the above attributes
If no value attribute field is blank -
summary: title of the event
If no value attribute field is blank -
location: geographic location of the event
If no value attribute field is blank -
description: description of the event
If no value attribute field is blank -
original_start_datetime: for recurring events, this is the time at which the event would start according to the recurrence data; uniquely identifies the instance even if the instance was moved to a different time
If no value attribute field is formatted with earliest possible date (i.e.: 01-01-1970) -
original_start_timezone: for recurring events, this is the timezone at which the event would start according to the recurrence data; uniquely identifies the instance even if the instance was moved to a different time
If no value attribute field is blank -
start_dateTime: start time of the event, formatted as a dateTime object
If no value attribute field is formatted with earliest possible date (i.e.: 01-01-1970) -
end_dateTime: end time of the event, formatted as a dateTime object
If no value attribute field is formatted with earliest possible date (i.e.: 01-01-1970) -
timeZone: timezone in which the start/end datetimes are specified
If no value attribute field is blank -
Conference_data_label: information regarding the conference technology used (i.e.: Google Meet address)
If no value attribute field is blank