Memory

Google Drive

Try it

Connect agents to Google Drive through managed OAuth for file and folder operations.

What it does

Routes Google Drive API requests through an authenticated gateway that automatically injects OAuth tokens. Supports listing, searching, retrieving metadata, downloading, creating, copying, moving, renaming, sharing, and deleting files and folders, plus exporting Google Workspace documents to formats like PDF. The connection lifecycle — create, list, get, delete — is managed through the Maton control plane.

When to use it

  • Listing and searching files in a Drive account
  • Creating folders or new file metadata entries
  • Exporting Google Docs or Sheets to PDF
  • Sharing files with specific users via permissions

The skill document

Google Drive

Access the Google Drive API with managed OAuth authentication. List, search, create, and manage files and folders.

Quick Start

# List files
curl -s -X GET 'https://gateway.maton.ai/google-drive/drive/v3/files?pageSize=10' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Base URL

https://gateway.maton.ai/google-drive/drive/v3/{endpoint}

The gateway proxies requests to www.googleapis.com and automatically injects your OAuth token.

Authentication

All requests require the Maton API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Environment Variable: Set your API key as MATON_API_KEY:

export MATON_API_KEY="YOUR_API_KEY"

Getting Your API Key

  1. Sign in at maton.ai
  2. Go to maton.ai/settings
  3. Copy your API key

Connection Management

Manage your Google OAuth connections at https://ctrl.maton.ai.

List Connections

curl -s -X GET 'https://ctrl.maton.ai/connections?app=google-drive&status=ACTIVE' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Create Connection

curl -s -X POST 'https://ctrl.maton.ai/connections' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{"app": "google-drive"}'

Get Connection

curl -s -X GET 'https://ctrl.maton.ai/connections/{connection_id}' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Response:

{
  "connection": {
    "connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80",
    "status": "ACTIVE",
    "url": "https://connect.maton.ai/?session_token=...",
    "app": "google-drive"
  }
}

Open the returned url in a browser to complete OAuth authorization.

Delete Connection

curl -s -X DELETE 'https://ctrl.maton.ai/connections/{connection_id}' \
  -H 'Authorization: Bearer YOUR_API_KEY'

API Reference

List Files

GET /google-drive/drive/v3/files?pageSize=10

With query:

GET /google-drive/drive/v3/files?q=name%20contains%20'report'&pageSize=10

Only folders:

GET /google-drive/drive/v3/files?q=mimeType='application/vnd.google-apps.folder'

Files in specific folder:

GET /google-drive/drive/v3/files?q='FOLDER_ID'+in+parents

With fields:

GET /google-drive/drive/v3/files?fields=files(id,name,mimeType,createdTime,modifiedTime,size)

Get File Metadata

GET /google-drive/drive/v3/files/{fileId}?fields=id,name,mimeType,size,createdTime

Download File Content

GET /google-drive/drive/v3/files/{fileId}?alt=media

Export Google Docs

GET /google-drive/drive/v3/files/{fileId}/export?mimeType=application/pdf

Create File (metadata only)

POST /google-drive/drive/v3/files
Content-Type: application/json

{
  "name": "New Document",
  "mimeType": "application/vnd.google-apps.document"
}

Create Folder

POST /google-drive/drive/v3/files
Content-Type: application/json

{
  "name": "New Folder",
  "mimeType": "application/vnd.google-apps.folder"
}

Update File Metadata

PATCH /google-drive/drive/v3/files/{fileId}
Content-Type: application/json

{
  "name": "Renamed File"
}

Move File to Folder

PATCH /google-drive/drive/v3/files/{fileId}?addParents=NEW_FOLDER_ID&removeParents=OLD_FOLDER_ID

Delete File

DELETE /google-drive/drive/v3/files/{fileId}

Copy File

POST /google-drive/drive/v3/files/{fileId}/copy
Content-Type: application/json

{
  "name": "Copy of File"
}

Share File

POST /google-drive/drive/v3/files/{fileId}/permissions
Content-Type: application/json

{
  "role": "reader",
  "type": "user",
  "emailAddress": "user@example.com"
}

Query Operators

Use in the q parameter:

  • name = 'exact name'
  • name contains 'partial'
  • mimeType = 'application/pdf'
  • 'folderId' in parents
  • trashed = false
  • modifiedTime > '2024-01-01T00:00:00'

Combine with and:

name contains 'report' and mimeType = 'application/pdf'

Common MIME Types

  • application/vnd.google-apps.document - Google Docs
  • application/vnd.google-apps.spreadsheet - Google Sheets
  • application/vnd.google-apps.presentation - Google Slides
  • application/vnd.google-apps.folder - Folder
  • application/pdf - PDF

Code Examples

JavaScript

const response = await fetch(
  'https://gateway.maton.ai/google-drive/drive/v3/files?pageSize=10',
  {
    headers: {
      'Authorization': `Bearer ${process.env.MATON_API_KEY}`
    }
  }
);

Python

import os
import requests

response = requests.get(
    'https://gateway.maton.ai/google-drive/drive/v3/files',
    headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'},
    params={'pageSize': 10}
)

Notes

  • Use fields parameter to limit response data
  • Pagination uses pageToken from previous response's nextPageToken
  • Export is for Google Workspace files only

Error Handling

StatusMeaning
400Missing Google Drive connection
401Invalid or missing Maton API key
429Rate limited (10 req/sec per account)
4xx/5xxPassthrough error from Google Drive API

Resources

Questions people ask

How is authentication handled?
A Maton API key is sent as a Bearer token to the gateway; Google OAuth is set up via the connections endpoint at ctrl.maton.ai, and the gateway injects tokens on every request.
What file operations are supported?
List, search, get metadata, download, export Workspace files, create file metadata, create folders, update metadata, move, copy, delete, and share through the permissions endpoint.
Are there usage limits?
Yes. The gateway is rate-limited to 10 requests per second per account, and 4xx/5xx responses are passed through unchanged from the underlying Google Drive API.

Related skills

Google Docs Connector: Google Docs: create, edit, format documents. Tables, images, headers, page breaks. Export to PDF/DOCX/HTML. Share and manage permissions. Use when an agent needs google docs connector, document automation, report generation, template creation, collaborative editing, batch update, document id, requests through AgentPMT-hosted remote tool calls. Discovery terms: google docs connector, document automation, report generation, template creation, collaborative editing.

1 installs

Google Drive (workspace.google.com). Use this skill for ANY Google Drive request — reading, creating, updating, and deleting data. Whenever a task involves Google Drive, use this skill instead of calling the API directly.

10 installs

Read, search, and edit your Google Contacts through the Google People API with managed OAuth.

by byungkyu

Browse Google Drive folders and read the files inside them. Use when the user points at a Drive folder or file, asks for data stored in Drive (CSV/Excel/PDF exports, shared reports), or wants files organised, uploaded, or shared in Drive. Uses Composio for OAuth so no client-side Google credentials are needed.

2 installs

Create and manage Google Slides presentations via the Slides API through a managed OAuth proxy.

by byungkyu1 installs

Read and write Google Sheets data with managed OAuth authentication through a single API gateway.

by byungkyu1 installs

More from byungkyu

Browse all skills

Send SMS, place voice calls, and manage Twilio phone resources through an OAuth-authenticated proxy.

by byungkyu173 installs8 stars

Read and write Google Sheets data with managed OAuth authentication through a single API gateway.

by byungkyu1 installs

Manage Google Meet spaces, records, participants, recordings, and transcripts with managed OAuth.

by byungkyu

Read, send, and manage Outlook mail, folders, calendar events, and contacts through Microsoft Graph with managed OAuth.

by byungkyu

Create and manage Google Slides presentations via the Slides API through a managed OAuth proxy.

by byungkyu1 installs

Route calls to third-party APIs through a managed gateway without handling OAuth or API keys yourself.

by byungkyu