files
Google Drive Files
Use this managed skill when the user wants to create folders, upload files, inspect file metadata, or share files created or uploaded through Shift in Google Drive.
This skill uses Shift's local Skill Router. Do not ask the user to paste Google credentials into chat.
Invocation
Base URL:
SHIFT_LOCAL_GATEWAY
Endpoint:
POST /skill-router/invoke
Request body to list files created or uploaded through Shift:
{
"skillProvider": "google-drive",
"skill": "files",
"action": "list",
"input": {
"query": "mimeType = 'application/vnd.google-apps.folder'",
"pageSize": 10,
"orderBy": "modifiedTime desc"
}
}
Request body to get file details for a Shift-created or Shift-uploaded file:
{
"skillProvider": "google-drive",
"skill": "files",
"action": "get",
"input": {
"fileId": "1AbCdEfGhIjKlMnOp"
}
}
Request body to create a folder:
{
"skillProvider": "google-drive",
"skill": "files",
"action": "create-folder",
"input": {
"name": "Launch assets",
"parentIds": ["1AbCdEfGhIjKlMnOp"]
}
}
Request body to upload a local file:
{
"skillProvider": "google-drive",
"skill": "files",
"action": "upload",
"input": {
"filePath": "/tmp/launch.html",
"name": "launch.html",
"mimeType": "text/html",
"parentIds": ["1AbCdEfGhIjKlMnOp"],
"description": "Launch page draft"
}
}
Precompiled code-skill helper for uploading raw content:
node dist/index.js '{
"operation": "upload-content",
"name": "launch.html",
"mimeType": "text/html",
"content": "<html><body><h1>Launch</h1></body></html>",
"parentIds": ["1AbCdEfGhIjKlMnOp"]
}'
Precompiled code-skill helper for converting uploaded content into a Google Doc:
node dist/index.js '{
"operation": "upload-content",
"name": "launch.html",
"mimeType": "text/html",
"targetMimeType": "application/vnd.google-apps.document",
"content": "<html><body><h1>Launch</h1></body></html>",
"parentIds": ["1AbCdEfGhIjKlMnOp"]
}'
Request body to share a Shift-created or Shift-uploaded file:
{
"skillProvider": "google-drive",
"skill": "files",
"action": "share",
"input": {
"fileId": "1AbCdEfGhIjKlMnOp",
"type": "user",
"role": "writer",
"emailAddress": "teammate@example.com"
}
}
Authentication
This skill requires a Google Drive connection configured in Shift. It is intended for files created or uploaded through Shift.
Agent behavior
- Use
listbeforegetwhen the user has not provided a file id. - Use
uploadwhen the user already has a local file path available on the runtime machine. - Use
node dist/index.js '<json payload>'for direct content uploads or Google Doc conversion. - This skill is for files created or uploaded through Shift, not for browsing an entire existing Drive.
- Use
shareonly when the user clearly names the recipient and required role.