Skip to content

Google Drive & Calendar

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.

ParameterTypeRequiredDescription
credentials_idcredentialsYesGoogle OAuth account configured in the system
operationselectYesOperation to perform: listDriveFiles, uploadToDrive, downloadFromDrive, listCalendars, listCalendarEvents, getCalendarEvent, createCalendarEvent, updateCalendarEvent, deleteCalendarEvent

List Drive Files:

ParameterTypeRequiredDescription
pageSizenumberNoNumber of files to retrieve (1-100, default: 10)
driveQuerytextNoSearch filter, e.g.: ‘name contains “report“‘
outputKeytextNoOutput key for the list (default: files)

Upload to Drive:

ParameterTypeRequiredDescription
fileNametextYesName of the file to upload
mimeTypetextNoMIME type (default: application/octet-stream)
parentFolderIdtextNoDestination folder ID in Drive
fileContentKeytextNoKey in input data with the content (default: fileContent)

Download from Drive:

ParameterTypeRequiredDescription
fileIdtextYesFile ID in Google Drive
fileIdKeytextNoKey in data with the file ID (default: fileId)
outputKeytextNoOutput key (default: fileContent)

List Calendar Events:

ParameterTypeRequiredDescription
calendarIdgoogle_calendarNoCalendar ID (default: primary)
maxResultsnumberNoMaximum events (1-250, default: 10)
timeMincalendar_datetimeNoMinimum date/time in ISO format
timeMaxcalendar_datetimeNoMaximum date/time in ISO format

Create Calendar Event:

ParameterTypeRequiredDescription
calendarIdgoogle_calendarNoDestination calendar (default: primary)
summarytextYesEvent title
descriptiontextareaNoEvent description
startDateTimecalendar_datetimeYesStart date/time (ISO)
endDateTimecalendar_datetimeYesEnd date/time (ISO)
timeZoneselectNoTime zone (default: America/Mexico_City)
attendeestextNoAttendee emails separated by comma

Update Calendar Event:

ParameterTypeRequiredDescription
eventIdtextNoEvent ID (or dynamic variable)
eventIdKeytextNoKey in data with the ID (default: id)
summarytextNoNew title
descriptiontextareaNoNew description
startDateTimecalendar_datetimeNoNew start date
endDateTimecalendar_datetimeNoNew end date

Delete Calendar Event / Get Calendar Event:

ParameterTypeRequiredDescription
eventIdtextNoEvent ID
eventIdKeytextNoKey in data with the ID (default: id)

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()
{
"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"
}
}
{
"credentials_id": "mi-cuenta-google",
"operation": "listDriveFiles",
"pageSize": "20"
}
{
"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"
}
  • Google Drive API v3 (googleapis)
  • Google Calendar API v3 (googleapis)
  • Values can be passed from config or from the input data (data)
  • The eventId field 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
  • 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)