Skip to content

SSO

Google
API integration

Ship SSO features without building the integration. Full Google API access via Proxy, normalized data through Unified APIs, and 110+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
Google

Use Cases

Why integrate with Google

Common scenarios for SaaS companies building Google integrations for their customers.

01

Sync employee directories for automated provisioning

SaaS companies building HR, IT management, or security products need to pull the full Google Workspace user directory to auto-populate employee lists, detect new hires, and trigger onboarding workflows — without asking every employee to authenticate individually.

02

Read and send emails on behalf of users

Sales engagement, CRM, and recruiting platforms need to send emails directly from a user's Gmail account for better deliverability and thread continuity, while also monitoring incoming replies to trigger automated sequences or log correspondence.

03

Schedule meetings with calendar availability lookups

Scheduling, ATS, and customer success tools need to read a user's Google Calendar availability, create events with Google Meet links, and keep both sides in sync — enabling features like candidate interview booking or customer meeting scheduling directly from the SaaS UI.

04

Store and manage files in Google Drive programmatically

Contract management, project management, and compliance SaaS products need to upload documents to Google Drive, organize them into shared drives, and set granular permissions — keeping Google Drive as the system of record without manual file shuffling.

05

Enable Google SSO and workspace-level app management

Security and identity platforms need to enumerate apps installed across a Google Workspace, audit user-to-app assignments, and enforce access policies — requiring deep integration with Google's SSO and admin APIs.

What You Can Build

Ship these features with Truto + Google

Concrete product features your team can ship faster by leveraging Truto’s Google integration instead of building from scratch.

01

One-click interview scheduling with Meet links

Let recruiters check interviewer availability from Google Calendar, book a slot, and auto-generate a Google Meet link — all without leaving your product.

02

Automated email sequence engine via Gmail

Send personalized drip campaigns directly from a sales rep's Gmail account so emails land in their Sent folder and replies are tracked in real time.

03

Company-wide employee directory sync

Pull every user, group, and role from Google Workspace's directory to auto-populate your platform's org chart, permission model, or onboarding pipeline.

04

Executed document auto-upload to Shared Drives

When a contract or report is finalized in your app, automatically push the PDF to the correct Google Shared Drive with the right permissions already set.

05

Unified search across Gmail, Drive, and Calendar

Surface relevant emails, files, and events from a user's Google Workspace in a single search bar embedded in your product.

06

Google Workspace SSO app audit dashboard

Enumerate all third-party apps connected to a customer's Google Workspace and display user-to-app assignments for security review and compliance reporting.

SuperAI

Google AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_google_files

Retrieves the user's files stored in Google Drive. This method allows filtering results using the q parameter, which accepts search queries to find specific files based on name, type, ownership, and other metadata. The response includes key file attributes such as id, name, mimeType, createdTime, modifiedTime, owners, driveId, shared, and permissions.

get_single_google_file_by_id

Retrieves metadata or content from a single file on the user's Google Drive. It always requires the ID to fetch.

list_all_google_folders

List all Google Drive folders. Returns folder objects including id, name, and mimeType, filtered automatically to items of type folder.

get_single_google_folder_by_id

Get a single Google Drive folder by id. Returns the full folder metadata including id, name, mimeType, and parents. Required: id.

list_all_google_drive

List all shared drives available in Google Drive. Returns an array of drive objects including their metadata.

get_single_google_drive_by_id

Get a single Google Drive shared drive by id. Returns the full drive object including its metadata. Required: id.

list_all_google_search

Retrieves the user's files stored in Google Drive. This method allows filtering results using the q parameter, which accepts search queries to find specific files or folders based on name, type, ownership, and other metadata. The response includes key file attributes such as id, name, mimeType, createdTime, modifiedTime, owners, parents, driveId, shared, and permissions.

get_single_google_file_export_by_id

Export a Google Drive file to a specified MIME type. Returns the exported file content as a binary stream. Required: id (the Drive file ID), mimeType (the target export format, e.g. "application/pdf").

list_all_google_drive_items

List files and folders in Google Drive, including items from all shared drives. Returns an array of file metadata objects.

get_single_google_drive_item_by_id

Get a single Google Drive file or folder by id. Returns the full file metadata object. Required: id.

list_all_google_user_info

Retrieves basic profile information about the authenticated user in Google Calendar. The response includes essential details such as the user's unique identifier (sub), full name (name), first name (given_name), last name (family_name), profile picture URL (picture), and email address (email).

get_single_google_form_by_id

Get a single Google Form by id. Returns the full form object including its structure, title, and items. Required: id.

list_all_google_forms

List all Google Forms accessible in Google Drive. Returns an array of file objects representing forms, including id, name, and mimeType.

list_all_google_responses

List all responses submitted to a specific Google Form. Returns an array of form response objects. Required: form_id.

get_single_google_response_by_id

Get a single response submitted to a Google Form by its id. Returns the full response object. Required: form_id and id.

list_all_google_conference_records

List Google Meet conference records. Returns a collection of conferenceRecords objects from the Google Meet API.

get_single_google_conference_record_by_id

Get a single Google Meet conference record by id. Returns the conference record object. Required: id.

list_all_google_conference_record_transcripts

List transcripts for a Google Meet conference record. Returns a collection of transcript objects associated with the specified conference record. Required: conference_record_id.

get_single_google_conference_record_transcript_by_id

Get a single transcript from a Google Meet conference record by id. Returns the transcript object for the specified conference record and transcript. Required: conference_record_id and id.

list_all_google_conference_record_transcript_entries

List transcript entries for a specific Google Meet conference record transcript. Returns a collection of transcript entries. Required: conference_record_id, conference_record__transcript_id.

get_single_google_conference_record_transcript_entry_by_id

Get a single transcript entry from a Google Meet conference record transcript by id. Required: conference_record_id, conference_record__transcript_id, id.

list_all_google_conference_record_participants

List participants for a specific Google Meet conference record. Returns an array of participant objects. Required: conference_record_id.

get_single_google_conference_record_participant_by_id

Get a single participant from a Google Meet conference record by id. Returns the participant object. Required: conference_record_id and id.

list_all_google_documents

List Google Drive documents (Google Docs files). Returns an array of file objects including id, name, and mimeType, filtered to documents only.

get_single_google_document_by_id

Get a single Google Drive document by id. Returns the full file metadata object. Required: id.

create_a_google_document

Create a new Google Docs document. Returns the created document object including its document id and title. Required: title.

list_all_google_document_content

Get a Google document by page_id. Returns the full document object including its body content, title, and revision metadata. Required: page_id.

google_document_content_batch_update

Apply one or more structured updates to a Google document identified by document_id. Returns the document id and an array of replies corresponding to each applied request. Required: document_id and requests.

calendar_list_calendars

List the calendars on the authenticated user's Calendar List (owned plus subscribed). Use when browsing available calendars or resolving a display name to a calendar id before calling events list or get. Results are summaries; fetch full calendar metadata via this resource's get method or calendars get. Returns one page; pass the response's next_cursor to fetch subsequent pages.

calendar_get_calendar_list_entry

Read one Calendar List entry: access role, colors, and visibility for a calendar the user has subscribed to. Use when checking how a calendar appears in the user's list (not the calendar's own metadata — use calendars get for that). Obtain id from the calendar list.

calendar_add_calendar_to_list

Add an existing calendar to the authenticated user's Calendar List (subscribe). Use when the user wants another calendar to appear in their list. Do NOT use this to create a brand-new secondary calendar — use calendars create for that. Returns the new list entry including the calendar id.

calendar_update_calendar_list_entry

Update a Calendar List entry's preferences (color, visibility, reminders) for a subscribed calendar. Use when changing how a calendar appears in the user's list without changing the calendar itself. Obtain id from the calendar list.

calendar_remove_calendar_from_list

Remove a calendar from the user's Calendar List (unsubscribe). Use when the user no longer wants a subscribed calendar shown. Does not delete the underlying calendar — use calendars delete for that. Returns an empty 204 response on success. Obtain id from the calendar list.

calendar_watch_calendar_list

Open a push-notification channel for changes to the user's Calendar List. Use when an app needs webhook alerts when calendars are added or removed from the list — not for reading the list itself (use the calendar list). Returns a channel with id and expiration.

calendar_get_calendar

Read a Google Calendar's metadata: display name, description, time zone, and location. Use when resolving a calendar id to human-readable details before listing or creating events. Obtain id from the calendar list or calendars create.

calendar_create_calendar

Create a secondary Google Calendar with a summary (display name). Use when the user needs a new calendar separate from their primary one. Returns the created calendar including its id — store it for subsequent event calls. Do not use this to add someone else's calendar to the list; use the calendar list create for that.

calendar_update_calendar

Update a Google Calendar's metadata (summary, description, time zone, location); only fields provided are changed. Use when renaming a calendar or correcting its details. Obtain id from the calendar list.

calendar_delete_calendar

Delete a secondary Google Calendar by id. Use when permanently removing a calendar the user owns (not the primary). This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. To wipe events but keep the calendar, use calendars clear instead. Obtain id from the calendar list.

calendar_clear_calendar

Delete every event on a Google Calendar identified by calendar_id, leaving the calendar itself. Use when the user wants to wipe a calendar clean without deleting it. This clears all events and cannot be undone; confirm the calendar and get explicit user confirmation before calling. To remove the calendar entirely, use calendars delete. Obtain calendar_id from the calendar list.

calendar_list_events

List events on a Google Calendar for a time window. Use when asking what's on the schedule, finding free slots, or resolving an event title to an id. Pass calendar_id (from the calendar list; primary is usually 'primary'). Results are summaries; fetch a full record via this resource's get method. For expanded occurrences of a recurring series, use event instances instead. Returns one page; pass the response's next_cursor to fetch subsequent pages.

calendar_create_event

Create a structured Google Calendar event with title, start/end, attendees, and optional location or conference data. Use when scheduling a meeting with known fields. For a one-line natural-language create ("Lunch Friday 1pm"), prefer events quick-add. For importing an existing iCalendar payload, use events import. Returns the created event including its id.

calendar_get_event

Read a single Google Calendar event: title, time, attendees, location, and description. Use when you already know the event id and need full details. For browsing many events, use events list instead. Obtain id from events. Requires calendar_id of the calendar that owns the event.

calendar_update_event

Partially update an existing Google Calendar event; only fields provided are changed. Use when rescheduling, renaming, or editing attendees on a known event. Obtain id from events. Requires calendar_id.

calendar_quick_add_event

Create a Google Calendar event from a free-text phrase (natural language). Use when the user describes an event in one sentence without structured fields. For full control over attendees, recurrence, or conference data, use events create instead. Returns the created event including its id.

calendar_move_event

Move a Google Calendar event from one calendar to another. Use when the user wants an event on a different calendar without recreating it. Pass the source calendar_id, event_id, and destination calendar id. Obtain ids from the calendar list and events.

calendar_delete_event

Delete a Google Calendar event by id. Use when the user asks to cancel or remove a specific event. This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. Obtain id from events. Requires calendar_id.

calendar_import_event

Import an existing iCalendar event into a Google Calendar, preserving the original event id when possible. Use when migrating or syncing an external .ics event. For creating a brand-new event from structured fields, use events create instead.

calendar_watch_events

Open a push-notification channel for event changes on a Google Calendar. Use when an app needs webhook alerts for creates/updates/deletes — not for reading the schedule (use events list). Returns a channel with id and expiration. Requires calendar_id.

calendar_list_event_instances

List expanded instances of a recurring Google Calendar event within a time range. Use when you need each occurrence of a series (with concrete start/end times), not the master recurring event. Pass calendar_id and event_id of the recurring series. For ordinary event browsing, use events list instead. Returns one page; pass the response's next_cursor to fetch subsequent pages.

calendar_query_free_busy

Get free/busy information for a set of calendars in Google Calendar. Requires timeMin, timeMax, and items with calendar or group ids. Returns busy time ranges and any errors per calendar.

list_all_google_search_contacts

Get a list of contacts matching the query in Google Calendar. Requires query and readMask. Returns matched contacts with fields specified in readMask such as names, emailAddresses, phoneNumbers, and organizations.

get_single_google_search_contact_by_id

Get information about a specific contact by id in Google Calendar. Requires personFields parameter specifying which fields to return such as names, emailAddresses, phoneNumbers, and organizations.

delete_a_google_search_contact_by_id

Delete a contact person by id in Google Calendar. The response is empty if successful. Non-contact data will not be deleted. Mutate requests must be sent sequentially to avoid latency and failures.

list_all_google_other_contacts

Get a list of other contacts matching the query in Google Calendar. Requires query and readMask parameters. Returns matched contacts with fields emailAddresses, metadata, names, and phoneNumbers.

calendar_list_acl

List who can access a Google Calendar and their roles (reader, writer, owner). Use when auditing sharing or resolving who has access before changing permissions. Pass calendar_id. Results are summaries; fetch a full record via this resource's get method. Returns one page; pass the response's next_cursor to fetch subsequent pages.

calendar_get_acl_rule

Read one ACL rule for a Google Calendar: the subject (user/group/domain) and their role. Use when inspecting a known sharing rule. Obtain id from calendar ACL. Requires calendar_id.

calendar_delete_acl_rule

Revoke a Google Calendar sharing rule by deleting an ACL entry. Use when removing someone's access. This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. Obtain id from calendar ACL. Requires calendar_id.

calendar_update_acl_rule

Change the role or scope of an existing Google Calendar ACL rule. Use when upgrading/downgrading someone's access. Obtain id from calendar ACL. Requires calendar_id.

calendar_create_acl_rule

Grant access to a Google Calendar by creating an ACL rule (role + scope). Use when sharing a calendar with a user, group, or domain. Returns the created rule including its id. Requires calendar_id.

calendar_watch_acl

Open a push-notification channel for ACL changes on a Google Calendar. Use when an app needs webhook alerts when sharing rules change — not for listing ACL (use calendar ACL). Requires calendar_id.

calendar_stop_channel

Stop watching resources through a channel in Google Calendar. Returns an empty response on success.

calendar_list_colors

List the palette of calendar and event color ids with background/foreground hex values. Use when mapping a colorId on a calendar or event to a display color. Read-only; does not change any calendar.

calendar_list_settings

List the authenticated user's Google Calendar settings (locale, time zone, default event duration, etc.). Use when reading preference values that affect how events are displayed or created. Returns one page; pass the response's next_cursor to fetch subsequent pages.

calendar_get_setting

Read one Google Calendar user setting by id (key/value). Use when you need a specific preference such as timezone or locale. Obtain id from settings.

calendar_watch_settings

Open a push-notification channel for Google Calendar settings changes. Use when an app needs webhook alerts for preference updates — not for reading settings (use settings list).

get_single_google_customer_by_id

Get a Google Admin Directory customer by id. Returns the customer object from the Admin Directory API. Required: id.

list_all_google_licenses

List Google Workspace product licenses assigned to users for a given product. Returns user license assignment records. Required: product_id.

list_all_google_usage_reports

List Google Admin usage reports for all users on a specific date. Returns usage activity records per user for the given date. Required: date (in YYYY-MM-DD format).

list_all_google_users

List all Google Workspace users in the directory. Returns a collection of user objects including id, primaryEmail, and name.

get_single_google_user_by_id

Get a single Google Workspace user by id. Returns the full user object including id, primaryEmail, name, and associated account details. Required: id.

create_a_google_user

Create a new Google Workspace user in the directory. Returns the created user object including id and primaryEmail. Required: primaryEmail, name (givenName and familyName), and password.

update_a_google_user_by_id

Update an existing Google Workspace user by id, replacing the resource with the supplied fields. Returns the updated user object including id and primaryEmail. Required: id.

delete_a_google_user_by_id

Delete a Google Workspace user by id. Returns an empty 204 response on success. Required: id.

list_all_google_groups

List groups in the Google Directory. Returns an array of group objects for the customer.

get_single_google_group_by_id

Get a single Google Directory group by id. Returns the full group object. Required: id.

create_a_google_oauth_token

Exchange an authorization code or refresh token for a Google OAuth access token via the Google OAuth2 token endpoint. Returns: access_token, token_type, expires_in, and optionally refresh_token. Required: grant_type, client_id, client_secret, and either code with redirect_uri (for authorization_code grant) or refresh_token (for refresh_token grant).

list_all_google_roles

List all roles defined in the Google Admin Directory for the authenticated customer. Returns an array of role objects from the directory.

list_all_google_role_assignments

List all role assignments for your Google Admin Directory customer account. Returns a collection of role assignment items from the Google Admin SDK.

list_all_google_tokens

List all OAuth tokens issued by a Google user to third-party applications. Returns a collection of token items associated with the user. Required: user_id.

list_all_google_accounts

List all Google Analytics accounts accessible to the authenticated user. Returns a collection of account objects including their id, name, and related metadata.

list_all_google_group_members

List all members of a Google group. Returns member records for the specified group. Required: group_id.

get_single_google_group_member_by_id

Get a single member of a Google group by id. Returns the member record for the specified group and member. Required: group_id, id.

create_a_google_group_member

Add a new member to a Google group. Returns the created member record. Required: group_id.

update_a_google_group_member_by_id

Update an existing member of a Google group by id. Returns the updated member record. Required: group_id, id.

delete_a_google_group_member_by_id

Remove a member from a Google group by id. Returns an empty response on success. Required: group_id, id.

list_all_google_account_users

List Google Analytics account user links (entityUserLinks) for a specific account. Returns a list of items representing user-to-account associations. Required: account_id.

gmail_list_emails

Search and list Gmail messages matching a query. Use when locating specific emails by sender, subject, label, or unread state. Pass q with Gmail search syntax (from:, to:, subject:, label:, is:unread, has:attachment, after:, before:). Results are summaries (id and threadId only); hydrate via this resource's get with format=metadata. For conversation previews with snippets, prefer threads list instead. Returns one page; pass the response's next_cursor to fetch subsequent pages.

gmail_get_email

Read a single Gmail message: sender, subject, date, and snippet by default via format=metadata. Use when you know the exact message to inspect. Pass format=full only when you need the body to reply or summarize — metadata is faster and usually enough. Obtain id from messages list or threads get.

gmail_send_email

Send a Gmail message on behalf of the authenticated user. Returns the sent message resource including its id and threadId.

gmail_modify_email_labels

Modify labels on a Gmail message (addLabelIds / removeLabelIds) without changing the body. Use when starring, marking read/unread, archiving (remove INBOX), or applying user labels. Does NOT edit subject or body — use drafts for composition. Obtain id from messages.

gmail_trash_email

Move a Gmail message to Trash (recoverable). Use when the user asks to delete an email and a soft delete is acceptable. Prefer this over messages delete. Obtain id from messages.

gmail_list_conversations

Search and list Gmail conversations (threads) with a preview snippet per thread. Use when browsing recent correspondence or getting a conversation overview. Pass q with Gmail search syntax. For pinpointing one specific email, use messages list instead. Use threads get only when you need every message in the conversation. Returns one page; pass the response's next_cursor to fetch subsequent pages.

gmail_get_conversation

Read a full Gmail conversation (thread) including its messages. Use when summarizing or replying in-thread and you need the complete exchange. For a single message, use messages get instead. Obtain id from threads.

gmail_modify_conversation_labels

Modify labels on every message in a Gmail thread. Use when archiving, starring, or labeling a whole conversation at once. Obtain id from threads.

gmail_trash_conversation

Move an entire Gmail conversation (thread) to Trash, including all messages. Use when the user wants to discard a whole thread. Prefer this over threads delete. Obtain id from threads.

gmail_list_labels

List all Gmail labels (system and user-created) in one response. Use when resolving a label name to its id before filtering mail or applying labels. Gmail does not paginate this endpoint. To apply labels to mail, use messages update or threads update — not this method.

gmail_get_label

Read one Gmail label: name, type, and visibility settings. Use when inspecting a known label id. Obtain id from labels.

gmail_create_label

Create a user-defined Gmail label. Use when the user wants a new mailbox label for organizing mail. Returns the created label including its id. System labels cannot be created this way.

gmail_delete_label

Permanently delete a user-created Gmail label by its immutable id (e.g. Label_31 from labels). Use when removing a custom label. System labels (INBOX, STARRED, …) cannot be deleted — remove them from messages via messages update instead. This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. Obtain id from labels.

gmail_update_label

Update a user-created Gmail label's name or visibility. Use when renaming a label. Obtain id from labels. System labels cannot be renamed.

gmail_get_attachment

Get a specific attachment from a Gmail message by attachment id. Returns the attachment payload including its base64url-encoded data and size. Required: message_id and id. user_id defaults to "me" (the authenticated user).

list_all_google_permissions

List permissions for a Google Drive file. Returns: id, role, type, emailAddress, domain, allowFileDiscovery, and permissionDetails for each permission entry. Required: file_id.

list_all_google_drive_labels

List Google Drive labels available in the account. Returns a collection of label objects from the Drive Labels API with full label view details.

list_all_google_file_labels

List labels applied to a specific Google Drive file. Returns an array of labels associated with the file. Required: file_id.

list_all_google_org_units

List Google organizational units for the customer. Returns an array of organizationUnits objects from the Google Admin Directory API.

list_all_google_people

List people from the Google directory via the People API. Returns a collection of people objects from the caller's domain directory.

list_all_google_comments

List all comments on a Google Drive file. Returns: id, content, author, createdTime, modifiedTime, resolved, and replies for each comment. Required: file_id.

get_single_google_comment_by_id

Get a single comment on a Google Drive file by id. Returns: id, content, author, createdTime, modifiedTime, resolved, anchor, htmlContent, and replies. Required: file_id, id.

list_all_google_revisions

List all revisions for a Google Drive file. Returns a collection of revision objects for the specified file. Required: file_id.

get_single_google_revision_by_id

Get a single revision of a Google Drive file by revision id. Returns the full revision object for the specified file and revision. Required: file_id and id.

gmail_list_drafts

List Gmail drafts with each draft id and underlying message/thread ids (no body). Use when browsing unsent mail or resolving a draft to edit or send. Results are summaries; fetch content via this resource's get method. Pass q with Gmail search syntax when filtering. Returns one page; pass the response's next_cursor to fetch subsequent pages.

gmail_get_draft

Read one Gmail draft including its message headers and snippet (format=metadata) or full MIME (format=full). Use when reviewing or editing an unsent message before send. Obtain id from drafts.

gmail_delete_draft

Permanently delete a Gmail draft by id (not moved to Trash). Use when discarding an unsent message. This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. Obtain id from drafts.

Why Truto

Why use Truto’s MCP server for Google

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for Google

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified HRIS API

Employees

Represents an employee in HRIS

View Docs

Groups

Groups represent the groups for an Employee

View Docs

Unified Forms API

Fields

View Docs

Forms

View Docs

Responses

View Docs

Unified Knowledge Base API

Page-Content

Represents the content of a page

View Docs

Pages

Represents the pages, posts, articles in a knowledge base

View Docs

Unified Emails API

Attachments

Attachments are the files associated with an email.

View Docs

Emails

An email is a digital message sent and received electronically over the Internet. It typically contains a subject, sender, recipients, body content, and sometimes attachments.

View Docs

Folders

The folder is a container used to organize and manage email messages.

View Docs

Users

Users represent the people using the underlying emails system. They are usually called agents, team members, admins, etc.

View Docs

Unified User Directory API

Role Assignments

View Docs

Roles

The Role object represents a role of a User.

View Docs

Users

The User object represents a User.

View Docs

Workspaces

Workspaces represent concepts like teams, workspaces, projects in apps that support them

View Docs

Unified Conferencing API

Attendees

The attendees represent the individuals who join the meeting.

View Docs

Meetings

The meeting represents the actual meeting or video call conducted on the platform.

View Docs

Transcript Entries

The transcript entries represent the list of sentences in the meeting transcript.

View Docs

Transcripts

The transcript represents the written text of the spoken dialogue during the meeting.

View Docs

Unified Calendar API

Availability

Represents the availability of a person in a time period.

View Docs

Calendars

Represents a calendar of a user. Can have multiple events associated with it.

View Docs

Contacts

View Docs

Events

Events are the time-bound tasks that are associated with a calendar.

View Docs

Unified File Storage API

Comments

Comments represent discussion messages, review notes, annotations, or collaboration messages attached to a drive item in a file storage system.

View Docs

Drive-Items

Drive Items are the files and folders present in a file storage system. These items are usually part of a Drive. You can differentiate between files and folders using the type attribute.

View Docs

Drives

Drives is a collection of files and folders. They could have multiple Drive Items within them. Users could have multiple Drives accessible to them in a file storage system.

View Docs

Permissions

Permissions can answer your questions around which User has access to do what on a Drive Item or a Drive.

View Docs

Tags

Represents the tags in a file storage system

View Docs

Version History

Version History represents file revisions, file versions, or historical file states attached to a drive item in a file storage system.

View Docs

Unified Single Sign-On API

App Users

AppUsers represent the users assigned to an application.

View Docs

Apps

Applications represent the applications that are registered with the SSO service.

View Docs

Unified Search API

Search

Search endpoint for all the apps.

View Docs

How It Works

From zero to integrated

Go live with Google in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Google account

Use Truto’s frontend SDK to connect your customer’s Google account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Google

Truto’s Proxy API is a 1-to-1 mapping of the Google API. You call us, we call Google, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Google’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Google on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication work for Google integrations through Truto?

Google uses OAuth 2.0 for user-level authentication. Truto handles the full OAuth flow — token acquisition, refresh, and scope management — so your users just click 'Connect Google' and you receive a managed credential. For admin-wide access (e.g., pulling the entire company directory), Google also supports service account delegation, which Truto can manage on your behalf.

Which Google APIs map to Truto's Unified APIs?

Google Calendar maps to the Unified Calendar API (Events, Calendars, Availability). Gmail maps to the Unified Emails API (Emails, Attachments, Folders). Google Drive maps to the Unified File Storage API (Drive-Items, Drives, Permissions). Google Admin Directory maps to the Unified User Directory API and Unified HRIS API (Users, Groups, Roles). Google Meet maps to the Unified Conferencing API (Meetings, Transcripts). Google SSO data maps to the Unified Single Sign-On API.

How does Truto handle Google API rate limits?

Google enforces per-user and per-project rate limits that vary by API (e.g., Gmail allows ~250 quota units per second per user). Truto manages rate limiting, automatic retries with exponential backoff, and pagination transparently so your application doesn't need to implement this logic directly.

Can I read and write data, or is the integration read-only?

Truto supports both read and write operations where the underlying Google API allows it. For example, you can create calendar events, send emails, upload files to Drive, and create users in the directory — all through the corresponding Unified APIs.

What happens if specific tools I need aren't available yet?

Google integration tools are built on request. If you need a specific endpoint or data model that isn't yet covered, Truto's team will build and ship it for you — typically with fast turnaround. You can also use Truto's proxy mode to call any Google API endpoint directly while still benefiting from Truto's auth and token management.

How fresh is the data from Google APIs?

Data freshness depends on your polling interval or webhook configuration. Google supports push notifications for several APIs (Calendar, Gmail, Drive), enabling near-real-time sync. Truto can orchestrate these webhooks so your application receives changes as they happen rather than relying solely on periodic polling.

Google

Get Google integrated into your app

Our team understands what it takes to make a Google integration successful. A short, crisp 30 minute call with folks who understand the problem.