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 usUse Cases
Why integrate with Google
Common scenarios for SaaS companies building Google integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
Unified Knowledge Base API
Unified Emails API
Attachments
Attachments are the files associated with an email.
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.
Folders
The folder is a container used to organize and manage email messages.
Users
Users represent the people using the underlying emails system. They are usually called agents, team members, admins, etc.
Unified User Directory API
Unified Conferencing API
Attendees
The attendees represent the individuals who join the meeting.
Meetings
The meeting represents the actual meeting or video call conducted on the platform.
Transcript Entries
The transcript entries represent the list of sentences in the meeting transcript.
Transcripts
The transcript represents the written text of the spoken dialogue during the meeting.
Unified Calendar API
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.
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.
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.
Permissions
Permissions can answer your questions around which User has access to do what on a Drive Item or a Drive.
Tags
Represents the tags in a file storage system
Version History
Version History represents file revisions, file versions, or historical file states attached to a drive item in a file storage system.
Unified Single Sign-On API
Unified Search API
Search
Search endpoint for all the apps.
How It Works
From zero to integrated
Go live with Google in under an hour. No boilerplate, no maintenance burden.
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.
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.
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.
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.
From the Blog
Google integration guides
Deep dives, architecture guides, and practical tutorials for building Google integrations.
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.