Cloud Services
AWS S3, Azure Blob, Google Cloud Storage, and Google Workspace integrations.
14 modules
| Module | Description |
|---|---|
| S3 Delete Object | Delete an object from an AWS S3 bucket |
| S3 Download | Download a file from an AWS S3 bucket to a local path |
| S3 List Objects | List objects in an AWS S3 bucket with optional prefix filter |
| S3 Upload | Upload a local file to an AWS S3 bucket |
| AWS S3 Download | Download a file from AWS S3 bucket |
| AWS S3 Upload | Upload a file or data to AWS S3 bucket |
| Azure Download | Download file from Azure Blob Storage |
| Azure Upload | Upload file to Azure Blob Storage |
| GCS Download | Download file from Google Cloud Storage |
| GCS Upload | Upload file to Google Cloud Storage |
| Calendar Create Event | Create a new event in Google Calendar |
| Calendar List Events | List upcoming events from Google Calendar |
| Gmail Search | Search Gmail messages using Gmail search query syntax |
| Gmail Send | Send an email via the Gmail API |
Modules
S3 Delete Object
aws.s3.delete
Delete an object from an AWS S3 bucket
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
bucket | string | Yes | - | S3 bucket name |
key | string | Yes | - | S3 object key to delete |
region | string | No | us-east-1 | AWS region |
access_key_id | string | No | - | AWS access key ID (falls back to env AWS_ACCESS_KEY_ID) |
secret_access_key | string | No | - | AWS secret access key (falls back to env AWS_SECRET_ACCESS_KEY) |
Output:
| Field | Type | Description |
|---|---|---|
bucket | string | S3 bucket name |
key | string | Deleted object key |
deleted | boolean | Whether the object was deleted successfully |
Example: Delete an object
bucket: my-bucket
key: uploads/old-file.txtS3 Download
aws.s3.download
Download a file from an AWS S3 bucket to a local path
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
bucket | string | Yes | - | S3 bucket name |
key | string | Yes | - | S3 object key (path in bucket) |
output_path | string | Yes | - | Local file path to save the downloaded file |
region | string | No | us-east-1 | AWS region |
access_key_id | string | No | - | AWS access key ID (falls back to env AWS_ACCESS_KEY_ID) |
secret_access_key | string | No | - | AWS secret access key (falls back to env AWS_SECRET_ACCESS_KEY) |
Output:
| Field | Type | Description |
|---|---|---|
path | string | Local file path where the file was saved |
size | number | File size in bytes |
content_type | string | MIME type of the downloaded file |
Example: Download a file from S3
bucket: my-bucket
key: data/report.csv
output_path: /tmp/report.csvS3 List Objects
aws.s3.list
List objects in an AWS S3 bucket with optional prefix filter
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
bucket | string | Yes | - | S3 bucket name |
prefix | string | No | - | Filter objects by key prefix (e.g. "uploads/") |
max_keys | number | No | 100 | Maximum number of objects to return |
region | string | No | us-east-1 | AWS region |
access_key_id | string | No | - | AWS access key ID (falls back to env AWS_ACCESS_KEY_ID) |
secret_access_key | string | No | - | AWS secret access key (falls back to env AWS_SECRET_ACCESS_KEY) |
Output:
| Field | Type | Description |
|---|---|---|
objects | array | List of S3 objects |
count | number | Number of objects returned |
truncated | boolean | Whether the results are truncated |
Example: List objects with prefix
bucket: my-bucket
prefix: uploads/
max_keys: 50S3 Upload
aws.s3.upload
Upload a local file to an AWS S3 bucket
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
bucket | string | Yes | - | S3 bucket name |
key | string | Yes | - | S3 object key (path in bucket) |
file_path | string | Yes | - | Local file path to upload |
region | string | No | us-east-1 | AWS region |
access_key_id | string | No | - | AWS access key ID (falls back to env AWS_ACCESS_KEY_ID) |
secret_access_key | string | No | - | AWS secret access key (falls back to env AWS_SECRET_ACCESS_KEY) |
content_type | string | No | - | MIME type of the file (auto-detected if not set) |
Output:
| Field | Type | Description |
|---|---|---|
bucket | string | S3 bucket name |
key | string | S3 object key |
url | string | Public URL of the uploaded object |
size | number | File size in bytes |
Example: Upload a local file
bucket: my-bucket
key: data/report.csv
file_path: /tmp/report.csvAWS S3 Download
cloud.aws_s3.download
Download a file from AWS S3 bucket
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
aws_access_key_id | string | No | - | AWS access key ID (defaults to env.AWS_ACCESS_KEY_ID) |
aws_secret_access_key | string | No | - | AWS secret access key (defaults to env.AWS_SECRET_ACCESS_KEY) |
region | string | No | us-east-1 | AWS region (defaults to env.AWS_REGION or us-east-1) |
bucket | string | Yes | - | S3 bucket name |
key | string | Yes | - | S3 bucket name |
file_path | string | No | - | S3 object key (file path in bucket) |
Output:
| Field | Type | Description |
|---|---|---|
content | string | File content (if file_path not provided) |
file_path | string | Path where file was saved (if file_path provided) |
size | number | File size in bytes |
content_type | string | MIME type of the file |
Example: Download to memory
bucket: my-bucket
key: data/config.jsonExample: Download to file
bucket: my-bucket
key: backups/database.sql
file_path: /tmp/downloaded.sqlAWS S3 Upload
cloud.aws_s3.upload
Upload a file or data to AWS S3 bucket
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
aws_access_key_id | string | No | - | AWS access key ID (defaults to env.AWS_ACCESS_KEY_ID) |
aws_secret_access_key | string | No | - | AWS secret access key (defaults to env.AWS_SECRET_ACCESS_KEY) |
region | string | No | us-east-1 | AWS region (defaults to env.AWS_REGION or us-east-1) |
bucket | string | Yes | - | S3 bucket name |
key | string | Yes | - | S3 bucket name |
file_path | string | No | - | S3 object key (file path in bucket) |
content | string | No | - | Local file path to upload |
content_type | string | No | - | MIME type of the file |
acl | string | No | private | MIME type of the file |
Output:
| Field | Type | Description |
|---|---|---|
url | string | S3 URL of uploaded object |
bucket | string | S3 URL of uploaded object |
key | string | S3 URL of uploaded object |
etag | string | Bucket name |
Example: Upload text content
bucket: my-bucket
key: reports/daily-${timestamp}.txt
content: ${report_text}
content_type: text/plainExample: Upload local file
bucket: my-bucket
key: backups/database.sql
file_path: /tmp/backup.sql
acl: privateAzure Download
cloud.azure.download
Download file from Azure Blob Storage
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
connection_string | string | No | - | Azure Storage connection string (use env var AZURE_STORAGE_CONNECTION_STRING) |
container | string | Yes | - | Azure Storage connection string (use env var AZURE_STORAGE_CONNECTION_STRING) |
blob_name | string | Yes | - | Azure container name |
destination_path | string | Yes | - | Blob to download |
Output:
| Field | Type | Description |
|---|---|---|
file_path | string | The file path |
size | number | Size in bytes |
container | string | The container |
blob_name | string | The blob name |
Example: Download backup
container: backups
blob_name: data/backup-2024.zip
destination_path: /tmp/backup.zipExample: Download image
container: images
blob_name: photos/vacation.jpg
destination_path: /tmp/photo.jpgAzure Upload
cloud.azure.upload
Upload file to Azure Blob Storage
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
file_path | string | Yes | - | Local file path to upload |
connection_string | string | No | - | Local file path to upload |
container | string | Yes | - | Azure Storage connection string (use env var AZURE_STORAGE_CONNECTION_STRING) |
blob_name | string | No | - | Azure container name |
content_type | string | No | - | Name for the uploaded blob (default: filename) |
Output:
| Field | Type | Description |
|---|---|---|
url | string | MIME type (optional) |
container | string | MIME type (optional) |
blob_name | string | URL address |
size | number | The container |
Example: Upload image
file_path: /tmp/screenshot.png
container: images
blob_name: screenshots/2024/screenshot.png
content_type: image/pngExample: Upload document
file_path: /tmp/report.pdf
container: documents
blob_name: reports/monthly.pdfGCS Download
cloud.gcs.download
Download file from Google Cloud Storage
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
bucket | string | Yes | - | GCS bucket name |
object_name | string | Yes | - | GCS bucket name |
destination_path | string | Yes | - | Object to download |
Output:
| Field | Type | Description |
|---|---|---|
file_path | string | The file path |
size | number | Size in bytes |
bucket | string | Storage bucket name |
object_name | string | Object name in storage |
Example: Download backup
bucket: my-backups
object_name: data/backup-2024.zip
destination_path: /tmp/backup.zipExample: Download image
bucket: image-storage
object_name: photos/vacation.jpg
destination_path: /tmp/photo.jpgGCS Upload
cloud.gcs.upload
Upload file to Google Cloud Storage
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
file_path | string | Yes | - | Local file path to upload |
bucket | string | Yes | - | Local file path to upload |
object_name | string | No | - | GCS bucket name |
content_type | string | No | - | Name for the uploaded object (default: filename) |
public | boolean | No | False | MIME type (optional) |
Output:
| Field | Type | Description |
|---|---|---|
url | string | Make file publicly accessible |
bucket | string | Make file publicly accessible |
object_name | string | URL address |
size | number | Storage bucket name |
public_url | string | Object name in storage |
Example: Upload image
file_path: /tmp/screenshot.png
bucket: my-bucket
object_name: screenshots/2024/screenshot.png
content_type: image/png
public: trueExample: Upload CSV data
file_path: /tmp/report.csv
bucket: data-backup
object_name: reports/daily.csvCalendar Create Event
google.calendar.create_event
Create a new event in Google Calendar
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
access_token | string | Yes | - | Google OAuth2 access token with Calendar write scope |
summary | string | Yes | - | Title of the calendar event |
start_time | string | Yes | - | Event start time in ISO 8601 format |
end_time | string | Yes | - | Event end time in ISO 8601 format |
description | string | No | - | Detailed description of the event |
location | string | No | - | Event location or meeting link |
attendees | string | No | - | Comma-separated list of attendee email addresses |
timezone | string | No | UTC | Timezone for the event (IANA timezone) |
Output:
| Field | Type | Description |
|---|---|---|
event_id | string | Created event ID |
summary | string | Event title |
start | string | Event start time |
end | string | Event end time |
html_link | string | Link to view the event in Google Calendar |
Example: Create a meeting event
access_token: <oauth2-token>
summary: Sprint Planning
start_time: 2026-03-01T10:00:00
end_time: 2026-03-01T11:00:00
attendees: alice@example.com, bob@example.com
timezone: America/New_YorkCalendar List Events
google.calendar.list_events
List upcoming events from Google Calendar
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
access_token | string | Yes | - | Google OAuth2 access token with Calendar read scope |
max_results | number | No | 10 | Maximum number of events to return |
time_min | string | No | - | Only return events starting after this time (ISO 8601). Defaults to now. |
time_max | string | No | - | Only return events starting before this time (ISO 8601) |
Output:
| Field | Type | Description |
|---|---|---|
events | array | List of calendar events |
count | number | Number of events returned |
Example: List next 5 events
access_token: <oauth2-token>
max_results: 5Gmail Search
google.gmail.search
Search Gmail messages using Gmail search query syntax
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
access_token | string | Yes | - | Google OAuth2 access token with Gmail read scope |
query | string | Yes | - | Gmail search query (e.g. "from:user@example.com subject:invoice") |
max_results | number | No | 10 | Maximum number of messages to return |
Output:
| Field | Type | Description |
|---|---|---|
messages | array | List of matching messages |
total | number | Total number of messages returned |
Example: Search for emails from a specific sender
access_token: <oauth2-token>
query: from:boss@company.com is:unread
max_results: 5Gmail Send
google.gmail.send
Send an email via the Gmail API
Parameters:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
access_token | string | Yes | - | Google OAuth2 access token with Gmail send scope |
to | string | Yes | - | Recipient email address |
subject | string | Yes | - | Email subject line |
body | string | Yes | - | Email body content |
html | boolean | No | False | Whether the body is HTML content |
cc | string | No | - | CC email address(es), comma-separated |
bcc | string | No | - | BCC email address(es), comma-separated |
Output:
| Field | Type | Description |
|---|---|---|
message_id | string | Gmail message ID |
thread_id | string | Gmail thread ID |
to | string | Recipient email address |
Example: Send a plain text email
access_token: <oauth2-token>
to: user@example.com
subject: Test Email
body: Hello, this is a test email.