feat: add folder support for workflows (fixes #70)

This commit is contained in:
Praveen Mudalgeri
2025-08-05 09:40:47 +05:30
parent 307d530f9b
commit c4885eee92
2057 changed files with 985290 additions and 974268 deletions

View File

@@ -0,0 +1,267 @@
{
"nodes": [
{
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
1240,
1120
],
"parameters": {
"range": "A:D",
"options": {},
"sheetId": "qwertz",
"operation": "append",
"authentication": "oAuth2"
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "2",
"name": "google_sheets_oauth"
}
},
"typeVersion": 1
},
{
"name": "AWS Transcribe 2",
"type": "n8n-nodes-base.awsTranscribe",
"position": [
920,
1120
],
"parameters": {
"operation": "get",
"transcriptionJobName": "={{$json[\"Key\"]}}"
},
"credentials": {
"aws": {
"id": "9",
"name": "aws"
}
},
"typeVersion": 1
},
{
"name": "AWS Transcribe 1",
"type": "n8n-nodes-base.awsTranscribe",
"position": [
600,
1120
],
"parameters": {
"options": {},
"mediaFileUri": "=s3://{{$node[\"AWS S3 2\"].parameter[\"bucketName\"]}}/{{$json[\"Key\"]}}",
"transcriptionJobName": "={{$json[\"Key\"]}}"
},
"credentials": {
"aws": {
"id": "9",
"name": "aws"
}
},
"typeVersion": 1
},
{
"name": "AWS S3 1",
"type": "n8n-nodes-base.awsS3",
"position": [
280,
1120
],
"parameters": {
"tagsUi": {
"tagsValues": [
{
"key": "source",
"value": "gdrive"
}
]
},
"fileName": "={{$json[\"name\"]}}",
"operation": "upload",
"binaryData": false,
"bucketName": "mybucket",
"fileContent": "street",
"additionalFields": {}
},
"credentials": {
"aws": {
"id": "9",
"name": "aws"
}
},
"typeVersion": 1
},
{
"name": "AWS S3 2",
"type": "n8n-nodes-base.awsS3",
"position": [
440,
1120
],
"parameters": {
"options": {},
"operation": "getAll",
"bucketName": "mybucket"
},
"credentials": {
"aws": {
"id": "9",
"name": "aws"
}
},
"typeVersion": 1
},
{
"name": "Set",
"type": "n8n-nodes-base.set",
"position": [
1080,
1120
],
"parameters": {
"values": {
"number": [
{
"name": "transcription_date",
"value": "={{$node[\"AWS Transcribe 1\"].json[\"CreationTime\"]}}"
}
],
"string": [
{
"name": "recording_name",
"value": "={{$node[\"AWS Transcribe 1\"].json[\"TranscriptionJobName\"]}}"
},
{
"name": "recording_link",
"value": "={{$node[\"Google Drive Trigger\"].json[\"webContentLink\"]}}"
},
{
"name": "transcription",
"value": "={{$json[\"transcript\"]}}"
}
]
},
"options": {}
},
"typeVersion": 1
},
{
"name": "Google Drive Trigger1",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
120,
1120
],
"parameters": {
"event": "fileCreated",
"options": {},
"triggerOn": "specificFolder",
"folderToWatch": "https://drive.google.com/drive/folders/[your_id]"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "59",
"name": "Google Drive account"
}
},
"typeVersion": 1
},
{
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
760,
1120
],
"webhookId": "12345",
"parameters": {
"resume": "webhook",
"options": {
"responsePropertyName": "transcript"
},
"responseMode": "lastNode"
},
"typeVersion": 1
}
],
"connections": {
"Set": {
"main": [
[
{
"node": "Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "AWS Transcribe 2",
"type": "main",
"index": 0
}
]
]
},
"AWS S3 1": {
"main": [
[
{
"node": "AWS S3 2",
"type": "main",
"index": 0
}
]
]
},
"AWS S3 2": {
"main": [
[
{
"node": "AWS Transcribe 1",
"type": "main",
"index": 0
}
]
]
},
"AWS Transcribe 1": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"AWS Transcribe 2": {
"main": [
[
{
"node": "Set",
"type": "main",
"index": 0
}
]
]
},
"Google Drive Trigger1": {
"main": [
[
{
"node": "AWS S3 1",
"type": "main",
"index": 0
}
]
]
}
}
}

View File

@@ -0,0 +1,126 @@
{
"nodes": [
{
"name": "Google Drive Trigger",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
480,
1480
],
"parameters": {
"event": "fileUpdated",
"options": {},
"triggerOn": "specificFolder",
"folderToWatch": "https://drive.google.com/drive/folders/[your_id]"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "12",
"name": "Google Drive account"
}
},
"typeVersion": 1
},
{
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
680,
1560
],
"parameters": {
"mode": "removeKeyMatches",
"propertyName1": "name.value",
"propertyName2": "Key.value"
},
"typeVersion": 1
},
{
"name": "AWS S3 - get",
"type": "n8n-nodes-base.awsS3",
"position": [
480,
1660
],
"parameters": {
"options": {},
"operation": "getAll",
"bucketName": "mybucket"
},
"credentials": {
"aws": {
"id": "9",
"name": "aws"
}
},
"typeVersion": 1
},
{
"name": "AWS S3 - upload",
"type": "n8n-nodes-base.awsS3",
"position": [
860,
1560
],
"parameters": {
"tagsUi": {
"tagsValues": [
{
"key": "source",
"value": "gdrive"
}
]
},
"fileName": "={{$json[\"name\"]}}",
"operation": "upload",
"binaryData": false,
"bucketName": "mybucket",
"additionalFields": {
"serverSideEncryption": "AES256"
}
},
"credentials": {
"aws": {
"id": "9",
"name": "aws"
}
},
"typeVersion": 1
}
],
"connections": {
"Merge": {
"main": [
[
{
"node": "AWS S3 - upload",
"type": "main",
"index": 0
}
]
]
},
"AWS S3 - get": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Google Drive Trigger": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
}
}
}

View File

@@ -0,0 +1,143 @@
{
"meta": {
"instanceId": "9e331a89ae45a204c6dee51c77131d32a8c962ec20ccf002135ea60bd285dba9"
},
"nodes": [
{
"id": "5dbcd30b-7f84-4932-9dff-b5e9865f9b07",
"name": "When clicking Test workflow",
"type": "n8n-nodes-base.manualTrigger",
"position": [
860,
680
],
"parameters": {},
"typeVersion": 1
},
{
"id": "639dd225-ae36-4d2b-b341-8662ffe39836",
"name": "List ALL Files*",
"type": "n8n-nodes-base.awsS3",
"position": [
1080,
680
],
"parameters": {
"options": {
"folderKey": "=yourFolder"
},
"operation": "getAll",
"returnAll": true,
"bucketName": "=yourBucket"
},
"typeVersion": 2
},
{
"id": "cb8b4b07-af86-45b0-9621-a02c22107741",
"name": "Download ALL Files from Folder*",
"type": "n8n-nodes-base.awsS3",
"position": [
1300,
680
],
"parameters": {
"fileKey": "={{ $json.Key }}",
"bucketName": "=yourBucket"
},
"typeVersion": 2
},
{
"id": "df2a3f56-7656-427c-a3b1-df3f1f4997e9",
"name": "All into one Item (include Binary)",
"type": "n8n-nodes-base.aggregate",
"position": [
1520,
680
],
"parameters": {
"options": {
"includeBinaries": true
},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "ca0085aa-77f0-4339-8821-11b8e53588da",
"name": "Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
420,
560
],
"parameters": {
"width": 367.15098241985504,
"height": 363.66522445338995,
"content": "## Instructions\n\nThis workflow downloads all Files from a specific folder in a S3 Bucket and compresses them so you can download it via n8n or do further processings.\n\nFill in your **Credentials and Settings** in the Nodes marked with _\"*\"_.\n\n![Image](https://let-the-work-flow.com/logo-64.png)\nEnjoy the Workflow! ❤️ \nhttps://let-the-work-flow.com\nWorkflow Automation & Development"
},
"typeVersion": 1
},
{
"id": "9b12152d-46b8-4e03-9a4b-5bbc0289c78c",
"name": "Compress all of them to a ZIP",
"type": "n8n-nodes-base.compression",
"position": [
1740,
680
],
"parameters": {
"fileName": "=s3-export.zip",
"operation": "compress",
"binaryPropertyName": "={{ Object.keys($binary).join(',') }}"
},
"typeVersion": 1.1
}
],
"pinData": {},
"connections": {
"List ALL Files*": {
"main": [
[
{
"node": "Download ALL Files from Folder*",
"type": "main",
"index": 0
}
]
]
},
"Download ALL Files from Folder*": {
"main": [
[
{
"node": "All into one Item (include Binary)",
"type": "main",
"index": 0
}
]
]
},
"When clicking Test workflow": {
"main": [
[
{
"node": "List ALL Files*",
"type": "main",
"index": 0
}
]
]
},
"All into one Item (include Binary)": {
"main": [
[
{
"node": "Compress all of them to a ZIP",
"type": "main",
"index": 0
}
]
]
}
}
}