Google Drive & Calendar
Description
Section titled “Description”This module integrates two Google services in a single configurable node:
- Google Drive: List files and folders, upload files with configurable MIME type and destination folder, download files by ID.
- Google Calendar: List calendars, list events with date filters, get event details, create events with attendees and time zone, update existing events and delete events.
The operation is determined automatically by the sub-node used (List Drive Files, Upload to Drive, List Calendar Events, etc.) or via the operation parameter. It uses OAuth2 with automatic token refresh through the googleOAuthService. Each operation is logged for auditing.
The module supports continueOnError so the flow continues even when an error occurs.
Configuration
Section titled “Configuration”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credentials | Yes | Google OAuth account configured in the system |
| operation | select | Yes | Operation to perform: listDriveFiles, uploadToDrive, downloadFromDrive, listCalendars, listCalendarEvents, getCalendarEvent, createCalendarEvent, updateCalendarEvent, deleteCalendarEvent |
Parameters per operation (sub-nodes)
Section titled “Parameters per operation (sub-nodes)”List Drive Files:
| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | number | No | Number of files to retrieve (1-100, default: 10) |
| driveQuery | text | No | Search filter, e.g.: ‘name contains “report“‘ |
| outputKey | text | No | Output key for the list (default: files) |
Upload to Drive:
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileName | text | Yes | Name of the file to upload |
| mimeType | text | No | MIME type (default: application/octet-stream) |
| parentFolderId | text | No | Destination folder ID in Drive |
| fileContentKey | text | No | Key in input data with the content (default: fileContent) |
Download from Drive:
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | text | Yes | File ID in Google Drive |
| fileIdKey | text | No | Key in data with the file ID (default: fileId) |
| outputKey | text | No | Output key (default: fileContent) |
List Calendar Events:
| Parameter | Type | Required | Description |
|---|---|---|---|
| calendarId | google_calendar | No | Calendar ID (default: primary) |
| maxResults | number | No | Maximum events (1-250, default: 10) |
| timeMin | calendar_datetime | No | Minimum date/time in ISO format |
| timeMax | calendar_datetime | No | Maximum date/time in ISO format |
Create Calendar Event:
| Parameter | Type | Required | Description |
|---|---|---|---|
| calendarId | google_calendar | No | Destination calendar (default: primary) |
| summary | text | Yes | Event title |
| description | textarea | No | Event description |
| startDateTime | calendar_datetime | Yes | Start date/time (ISO) |
| endDateTime | calendar_datetime | Yes | End date/time (ISO) |
| timeZone | select | No | Time zone (default: America/Mexico_City) |
| attendees | text | No | Attendee emails separated by comma |
Update Calendar Event:
| Parameter | Type | Required | Description |
|---|---|---|---|
| eventId | text | No | Event ID (or dynamic variable) |
| eventIdKey | text | No | Key in data with the ID (default: id) |
| summary | text | No | New title |
| description | textarea | No | New description |
| startDateTime | calendar_datetime | No | New start date |
| endDateTime | calendar_datetime | No | New end date |
Delete Calendar Event / Get Calendar Event:
| Parameter | Type | Required | Description |
|---|---|---|---|
| eventId | text | No | Event ID |
| eventIdKey | text | No | Key in data with the ID (default: id) |
Credentials
Section titled “Credentials”Requires Google OAuth2 type credentials. Configured in the system with:
- Client ID and Client Secret from Google Cloud Console
- Scopes for Drive and/or Calendar
- The module manages token refresh automatically via
googleOAuthService.getAuthenticatedClient()
Output
Section titled “Output”{ "nextModule": "siguiente_modulo", "data": { "files": [ { "id": "abc123", "name": "documento.pdf", "mimeType": "application/pdf", "size": 1024, "createdTime": "2026-01-01T00:00:00Z", "modifiedTime": "2026-01-02T00:00:00Z" } ] }, "_meta_": { "operation": "listDriveFiles", "recordsProcessed": 1, "googleService": "drive", "nodeName": "List Drive Files" }}Usage Example
Section titled “Usage Example”Basic case - List files
Section titled “Basic case - List files”{ "credentials_id": "mi-cuenta-google", "operation": "listDriveFiles", "pageSize": "20"}Basic case - Create event
Section titled “Basic case - Create event”{ "credentials_id": "mi-cuenta-google", "operation": "createCalendarEvent", "summary": "Reunion de equipo", "startDateTime": "2026-03-25T10:00:00", "endDateTime": "2026-03-25T11:00:00", "timeZone": "Europe/Madrid"}API Used
Section titled “API Used”- Google Drive API v3 (googleapis)
- Google Calendar API v3 (googleapis)
- Values can be passed from config or from the input data (data)
- The
eventIdfield is searched in multiple locations: config.eventId > data[eventIdKey] > data.id > data.eventId - Reminders when creating an event include by default: email 24h before and popup 10 min before
- Supports dynamic variables in text fields (e.g.:
{{id}},{{summary}}) - OAuth audit is logged for each executed operation
Related Nodes
Section titled “Related Nodes”- List Drive Files (sub-node)
- Upload to Drive (sub-node)
- Download from Drive (sub-node)
- List Calendars (sub-node)
- List Calendar Events (sub-node)
- Get Calendar Event (sub-node)
- Create Calendar Event (sub-node)
- Update Calendar Event (sub-node)
- Delete Calendar Event (sub-node)