G Suite connector specifications

Integrate with G-Suite Directory to share employee contact information with your entire organization on any device, intranet, or messenger. Integrate with G-Suite Calendar to manage calendar events.

Version details

Citrix microapps supports the latest G Suite APIs.

Endpoints

Note:

Custom endpoints are not supported.

Directory

https://developers.google.com/admin-sdk/directory/

https://www.googleapis.com/admin/directory/v1

/users
/groups

Calendar

https://developers.google.com/calendar/overview/

https://www.googleapis.com/admin/directory/v1

/users
/resources
/calendar
/events

Service Actions

Directory

  • Create User - Create a new user (Admin)
  • Update User - Update an existing user
  • Delete User - Delete an existing user (Admin)
  • Create event - Create a one-time event. We can create an event to any calendar (even personal) to which the account (used to set up the connector) has access
  • Create recurring event - Create a recurring event
  • Add Attendee - Book a meeting room / Add attendee. For the selected event, you can book a resource - room or add an attendee
  • Load Specific Calendar Events - Loads calendar events

Key Entities

The following are the main business entities that this connector addresses:

Directory

  • User
  • Group

Calendar

  • Attachments
  • Attendees
  • Buildings
  • Calendars
  • Events
  • Rooms
  • Room Features
  • Room Availability

Entities with Attributes

The following is a full list of entities and their attributes (G Suite Directory v.0.6.0):

  • user_id: STRING(250), FK(user.id)
  • group_id: STRING(250), FK(group.id)
  • value: STRING(100), PK

group

  • id: STRING(250), PK
  • name: STRING(250)
  • etag: STRING(250)
  • direct_members_count: LONG
  • description: STRING(250)
  • admin_created: BOOLEAN
  • email: STRING(250)

member

  • sapho_id: STRING(100), PK
  • id: STRING(250)
  • etag: STRING(250)
  • role: STRING(100)
  • type: STRING(100)
  • status: STRING(100)
  • email: STRING(250)
  • group_id: STRING(250), FK(group.id)
  • group_member_id: STRING(250), FK(group.id)
  • user_member_id: STRING(250), FK(user.id)

organization_unit

  • org_unit_id: STRING(250), PK
  • etag: STRING(250)
  • name: STRING(250)
  • description: STRING(250)
  • org_unit_path: STRING(250)
  • parent_org_unit_path: STRING(250)
  • parent_org_unit_id: STRING(250), FK(organization_unit.org_unit_id)
  • block_inheritance: BOOLEAN

user

  • id: STRING(250), PK
  • e_tag: STRING(250)
  • given_name: STRING(100)
  • surname: STRING(100)
  • full_name: STRING(100)
  • email: STRING(100)
  • photo_url: STRING(500)
  • admin: BOOLEAN
  • delegated_admin: BOOLEAN
  • last_login_time: DATETIME
  • creation_time: DATETIME
  • deletion_time: DATETIME
  • agreed_to_terms: BOOLEAN
  • suspended: BOOLEAN
  • suspension_reason: STRING(100)
  • chng_pswd_at_next_login: BOOLEAN
  • ip_whitelisted: BOOLEAN
  • thumbnail_photo_etag: STRING(500)
  • customer_id: STRING(100)
  • org_unit_path: STRING(100), FK(organization_unit.org_unit_path)
  • mailbox_setup: BOOLEAN
  • enforced_in_2_sv: BOOLEAN
  • enrolled_in_2_sv: BOOLEAN
  • incl_in_glob_addr_list: BOOLEAN
  • gender_address_me_as: STRING(100)
  • gender_custom_gender: STRING(100)
  • gender_type: STRING(100)
  • note_value: STRING(100)
  • note_content_type: STRING(100)
  • phone: STRING(50)
  • title: STRING(100)
  • location: STRING(100)
  • relation: STRING(100)
  • department: STRING(100)
  • photo: BINARY
  • photo_mime_type: STRING(100)

user_address

  • id: STRING(100), PK
  • index: INTEGER(x32)
  • user_id: STRING(250), FK(user.id)
  • type: STRING(100)
  • custom_type: STRING(250)
  • source_is_structured: BOOLEAN
  • formatted: STRING(250)
  • po_box: STRING(100)
  • extended_address: STRING(250)
  • street_address: STRING(250)
  • locality: STRING(100)
  • region: STRING(100)
  • postal_code: STRING(100)
  • country: STRING(100)
  • primary: BOOLEAN
  • country_code: STRING(100)

user_email

  • id: STRING(100), PK
  • index: INTEGER(x32)
  • user_id: STRING(250), FK(user.id)
  • address: STRING(100)
  • type: STRING(100)
  • custom_type: STRING(100)
  • primary: BOOLEAN

user_external_id

  • id: STRING(100), PK
  • index: INTEGER(x32)
  • user_id: STRING(250), FK(user.id)
  • type: STRING(100)
  • custom_type: STRING(100)
  • value: STRING(100)

user_imaccount

  • id: STRING(100), PK
  • index: INTEGER(x32)
  • user_id: STRING(250), FK(user.id)
  • type: STRING(100)
  • custom_type: STRING(100)
  • primary: BOOLEAN
  • protocol: STRING(100)
  • custom_protocol: STRING(100)
  • im: STRING(100)

user_organization

  • id: STRING(100), PK
  • index: INTEGER(x32)
  • user_id: STRING(250), FK(user.id)
  • name: STRING(100)
  • title: STRING(100)
  • primary: BOOLEAN
  • type: STRING(100)
  • custom_type: STRING(100)
  • department: STRING(100)
  • symbol: STRING(100)
  • location: STRING(100)
  • description: STRING(100)
  • domain: STRING(100)
  • cost_center: STRING(100)
  • full_time_equivalent: INTEGER(x32)

user_phone

  • id: STRING(100), PK
  • index: INTEGER(x32)
  • user_id: STRING(250), FK(user.id)
  • type: STRING(100)
  • custom_type: STRING(100)
  • value: STRING(100)
  • primary: BOOLEAN

user_relation

  • id: STRING(100), PK
  • index: INTEGER(x32)
  • user_id: STRING(250), FK(user.id)
  • type: STRING(100)
  • custom_type: STRING(100)
  • value: STRING(100)

user_website

  • id: STRING(100), PK
  • index: INTEGER(x32)
  • user_id: STRING(250), FK(user.id)
  • value: STRING(100)
  • type: STRING(100)
  • custom_type: STRING(100)
  • primary: BOOLEAN

The following is a full list of entities and their attributes (G Suite v.0.1.0):

attachment (List of Attachments to a calendar event)

  • generated_attachment_id: STRING(128), PK
  • file_id: STRING(100)
  • generated_event_id: STRING(128), FK(event.generated_event_id)
  • file_url: STRING(1024)
  • icon_link: STRING(1024)
  • mime_type: STRING(250)
  • title: STRING(250)

attendee (List of Attendees to a calendar event)

  • generated_id: STRING(128), PK
  • attendee_id: STRING(100)
  • generated_event_id: STRING(128), FK(event.generated_event_id)
  • display_name: STRING(250)
  • email: STRING(250)
  • comment: STRING(2000)
  • organizer: BOOLEAN
  • optional: BOOLEAN
  • resource: BOOLEAN
  • response_status: STRING(250)

building (List of Buildings)

  • etag: STRING(250)
  • building_id: STRING(100), PK
  • building_name: STRING(100)
  • description: STRING(250)
  • latitude: FLOAT(prec=10, scale=4)
  • longitude: FLOAT(prec=10, scale=4)

calendar (A collection of all existing calendars)

  • calendar_id: STRING(191), PK
  • summary: STRING(2000)
  • description: STRING(2000)
  • location: STRING(2000)
  • time_zone: STRING(100)

calendar_acl (Calendars’ Access Control List)

  • id: STRING(128), PK
  • acl_id: STRING(100)
  • calendar_id: STRING(191), FK(calendar.calendar_id)
  • room_calendar_id: STRING(191), FK(room.resource_email)
  • resource: BOOLEAN
  • etag: STRING(250)
  • scope_type: STRING(64)
  • scope_value: STRING(100)
  • role: STRING(64)

event (List of Events from a calendar)

  • generated_event_id: STRING(128), PK
  • calendar_id: STRING(191), FK(calendar.calendar_id)
  • user_calendar_id: STRING(191), FK(user_calendar.calendar_id)
  • google_event_id: STRING(1024)
  • i_cal_uid: STRING(250)
  • name: STRING(250)
  • description: STRING(-1)
  • color_id: INTEGER(x32)
  • status: STRING(250)
  • created: DATETIME
  • updated: DATETIME
  • all_day_event: BOOLEAN
  • start_time_original: DATETIME
  • start_time: DATETIME
  • end_time: DATETIME
  • location: STRING(1024)
  • visibility: STRING(250)
  • html_link: STRING(1024)
  • hangout_link: STRING(1024)
  • creator_id: STRING(250)
  • creator_display_name: STRING(250)
  • creator_email: STRING(250)
  • organizer_id: STRING(250)
  • organizer_display_name: STRING(250)
  • organizer_email: STRING(250)
  • multi_day_event: BOOLEAN

room (List of Rooms)

  • resource_id: STRING(100), PK
  • etag: STRING(250)
  • building_id: STRING(100), FK(building.building_id)
  • resource_name: STRING(100)
  • generated_resource_name: STRING(100)
  • resource_type: STRING(100)
  • resource_description: STRING(250)
  • resource_email: STRING(191), FK(calendar.calendar_id)
  • capacity: INTEGER(x32)
  • floor_name: STRING(100)
  • floor_section: STRING(100)
  • resource_category: STRING(100)
  • user_visible_description: STRING(250)
  • feature_list: STRING(2000)

room_availability (List of availability intervals for room calendars)

  • id: STRING(128), PK
  • room_id: STRING(100), FK(room.resource_id)
  • start_time: DATETIME
  • end_time: DATETIME

room_feature (List of Room Features)

  • id: STRING(128), PK
  • room_id: STRING(100), FK(room.resource_id)
  • name: STRING(100)
  • etag: STRING(250)

sync_token (Internal use sync token storage table)

  • token_key: STRING(191), PK
  • token: STRING(128)

user_calendar (The collection of calendars in the user’s calendar list)

  • id: STRING(128), PK
  • user_id: STRING(100)
  • calendar_id: STRING(191), FK(calendar.calendar_id)
  • etag: STRING(250)
  • summary: STRING(2000)
  • description: STRING(2000)
  • location: STRING(2000)
  • time_zone: STRING(100)
  • summary_override: STRING(2000)
  • color_id: STRING(100)
  • background_color: STRING(100)
  • foreground_color: STRING(100)
  • hidden: BOOLEAN
  • selected: BOOLEAN
  • primary: BOOLEAN
  • access_role: STRING(250)

G Suite connector specifications