{"meta":{"instanceId":"workflow-9e627259","versionId":"1.0.0","createdAt":"2025-09-29T07:08:00.798107","updatedAt":"2025-09-29T07:08:00.798123","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"nodes":[{"id":"971e1616-af67-4961-9ef4-4b8dd24e392c","name":"Webhook","type":"n8n-nodes-base.webhook","position":[-660,240],"webhookId":"29a6482f-36ac-4c15-8792-450aa32cf5f4","parameters":{"path":"29a6482f-36ac-4c15-8792-450aa32cf5f4","options":{},"httpMethod":["POST","GET"],"responseMode":"responseNode","multipleMethods":true},"typeVersion":2,"notes":"This webhook node performs automated tasks as part of the workflow."},{"id":"22d8dca1-a2fd-474e-a1cd-7f75be1c04a6","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-720,-220],"parameters":{"color":6,"width":620,"height":920,"content":"## Dropbox\n\nDropbox call me each time a modification is done somewhere in my dropbox."},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"0178e813-ae15-4729-933b-2799ec405863","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[240,-280],"parameters":{"color":3,"width":840,"height":140,"content":"## Watch Files, 2 ways :\n1. We explore each file in a folder (new and old ones)\n2. We want to filter new files only"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"229b9a46-5d76-4cb7-b1ac-4b10a6427f66","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[240,-80],"parameters":{"width":1040,"height":100,"content":"### Way 1 - We call the subworklow for each file in the specified folder"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"43a4fa3c-e378-443b-81a1-349201a85056","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[240,200],"parameters":{"color":4,"width":1240,"height":100,"content":"### Way 2- We filter new/old files then we call the subworkflow only for new files"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"e9639a07-6672-46ee-a86e-025265e45069","name":"Dropbox - List watched folder","type":"n8n-nodes-base.dropbox","position":[500,280],"parameters":{"path":"={{ $json.folder_to_watch }}","filters":{"include_deleted":false,"include_mounted_folders":false},"resource":"folder","operation":"list","returnAll":true,"authentication":"{{ $credentials.oAuth2 }}"},"credentials":{"dropboxOAuth2Api":{"id":"GocmYXzmqQnUpojt","name":"Dropbox BT"}},"typeVersion":1,"notes":"This dropbox node performs automated tasks as part of the workflow."},{"id":"61707418-fcbb-4b70-ab06-02b9b7060bfb","name":"Switch File vs Folder","type":"n8n-nodes-base.switch","position":[700,280],"parameters":{"rules":{"values":[{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"f7fda7a2-1961-41aa-a332-f9a8be9b3bfa","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.type }}","rightValue":"file"}]},"renameOutput":true},{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"d8bb9414-ae11-4b8f-ad0e-6bfe0e2f1071","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.type }}","rightValue":"folder"}]},"renameOutput":true}]},"options":{}},"typeVersion":3.2,"notes":"This switch node performs automated tasks as part of the workflow."},{"id":"2670d2d1-acfb-4d0b-9bde-12dbd3806976","name":"Switch File vs Folder1","type":"n8n-nodes-base.switch","position":[780,0],"parameters":{"rules":{"values":[{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"f7fda7a2-1961-41aa-a332-f9a8be9b3bfa","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.type }}","rightValue":"file"}]},"renameOutput":true},{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"d8bb9414-ae11-4b8f-ad0e-6bfe0e2f1071","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.type }}","rightValue":"folder"}]},"renameOutput":true}]},"options":{}},"typeVersion":3.2,"notes":"This switch node performs automated tasks as part of the workflow."},{"id":"8225e284-b193-4859-891e-2277b2bc004b","name":"NocoDB - Get know files to exclude","type":"n8n-nodes-base.nocoDb","position":[600,480],"parameters":{"table":"m0tqa79y2sv4g0j","options":{"where":"=(folder_to_watch,eq,{{ $json.folder_to_watch }})"},"operation":"getAll","projectId":"p73a23pw65qwwr4","returnAll":true,"authentication":"{{ $credentials.nocoDbApiToken }}"},"credentials":{"nocoDbApiToken":{"id":"GW7a5UwWksviQWb7","name":"NocoDB cloudron"}},"typeVersion":3,"notes":"This nocoDb node performs automated tasks as part of the workflow."},{"id":"0b9cb74b-ce02-4ed2-a417-084529a79977","name":"Merge - Keep only new items","type":"n8n-nodes-base.merge","position":[1000,280],"parameters":{"mode":"combine","options":{},"advanced":true,"joinMode":"keepNonMatches","mergeByFields":{"values":[{"field1":"id","field2":"data.id"}]},"outputDataFrom":"input1"},"typeVersion":3,"notes":"This merge node performs automated tasks as part of the workflow."},{"id":"c1f52687-7b6e-4c69-bcce-cc9bf053c62f","name":"Just a quick answer to Dropbox - webhook validation","type":"n8n-nodes-base.respondToWebhook","position":[-400,520],"parameters":{"options":{},"respondWith":"text","responseBody":"={{ $json.query.challenge }}"},"typeVersion":1.1,"notes":"This respondToWebhook node performs automated tasks as part of the workflow."},{"id":"42c84256-cbce-46d6-ab5a-01b1ef0715b0","name":"Respond to Dropbox in less than 10sec","type":"n8n-nodes-base.respondToWebhook","position":[-400,0],"parameters":{"options":{},"respondWith":"text","responseBody":"={{ $json.query.challenge }}"},"typeVersion":1.1,"notes":"This respondToWebhook node performs automated tasks as part of the workflow."},{"id":"bb45006e-f12e-4b9d-99fa-ec5003f1c141","name":"Dropbox get files","type":"n8n-nodes-base.dropbox","position":[500,0],"parameters":{"path":"={{ $json.folder_to_watch }}","filters":{"include_deleted":false,"include_mounted_folders":false},"resource":"folder","operation":"list","returnAll":true,"authentication":"{{ $credentials.oAuth2 }}"},"credentials":{"dropboxOAuth2Api":{"id":"GocmYXzmqQnUpojt","name":"Dropbox BT"}},"typeVersion":1,"notes":"This dropbox node performs automated tasks as part of the workflow."},{"id":"b4f8c38c-c674-488d-8c9a-f68e42c702cf","name":"NocoDB - Add this file in the table","type":"n8n-nodes-base.nocoDb","position":[1200,280],"parameters":{"table":"m0tqa79y2sv4g0j","fieldsUi":{"fieldValues":[{"fieldName":"folder_to_watch","fieldValue":"={{ $('set_folder to watch B').item.json.folder_to_watch }}"},{"fieldName":"data","fieldValue":"={\n\"id\":\"{{ $json.id }}\",\n\"name\":\"{{ $json.name }}\",\n\"lastModifiedClient\": \"{{ $json.lastModifiedClient }}\",\n\"lastModifiedServer\": \"{{ $json.lastModifiedServer }}\",\n\"rev\": \"{{ $json.rev }}\",\n\"contentSize\": {{ $json.contentSize }},\n\"type\": \"{{ $json.type }}\",\n\"contentHash\": \"{{ $json.contentHash }}\",\n\"pathLower\": \"{{ $json.pathLower }}\",\n\"pathDisplay\": \"{{ $json.pathDisplay }}\",\n\"isDownloadable\": {{ $json.isDownloadable }}\n}"},{"fieldName":"file_id","fieldValue":"={{ $json.id }}"}]},"operation":"create","projectId":"p73a23pw65qwwr4","authentication":"{{ $credentials.nocoDbApiToken }}"},"credentials":{"nocoDbApiToken":{"id":"GW7a5UwWksviQWb7","name":"NocoDB cloudron"}},"typeVersion":3,"notes":"This nocoDb node performs automated tasks as part of the workflow."},{"id":"9d6d2d96-f16f-408d-bc35-0e17da4d4e6d","name":"set_folder A","type":"n8n-nodes-base.set","position":[260,0],"parameters":{"options":{},"assignments":{"assignments":[{"id":"8416f15a-a6a2-47d2-8c15-e1742b323a8f","name":"folder_to_watch","type":"string","value":"/z_Apps/a_iphone/RecUp Memos/"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"aaa1ef55-10ef-4d8f-ae71-d317930229bc","name":"set_folder to watch B","type":"n8n-nodes-base.set","position":[280,280],"parameters":{"options":{},"assignments":{"assignments":[{"id":"8416f15a-a6a2-47d2-8c15-e1742b323a8f","name":"folder_to_watch","type":"string","value":"/z_Apps/auphonic/whisper"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"770b7f54-e85e-4d62-ab2a-60c9a73411e3","name":"Execute Workflow - what i want to do for this folder/file A","type":"n8n-nodes-base.executeWorkflow","position":[1040,-20],"parameters":{"mode":"each","options":{"waitForSubWorkflow":false},"workflowId":{"__rl":true,"mode":"list","value":"PRxsqnbMoqY6avr6","cachedResultName":"02 JE TRANSMETS > Dropbox RecUp Memos - transcription audio - 2025-01 v1"},"workflowInputs":{"value":{},"schema":[],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"d9230834-13b4-420f-9e9a-154176803a66","name":"Execute Workflow - Something to do for new files","type":"n8n-nodes-base.executeWorkflow","position":[1400,280],"parameters":{"options":{},"workflowId":{"__rl":true,"mode":"list","value":"NzETudhVA1JruLCl","cachedResultName":"210 PODCAST > Dropbox txt - Pré rédige épisode avec transcription - 2025-03 v2"},"workflowInputs":{"value":{},"schema":[],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"68d02221-861c-41d6-afe3-3757b272746f","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-60,120],"parameters":{"color":2,"height":80,"content":"I duplicate those processes for each folder i want to watch"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"6befd86e-9a7b-442e-abb2-e1ed535f5166","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[180,460],"parameters":{"color":2,"content":"I define in a \"variable\" the folder to watch to ease the next steps"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."}],"connections":{"Webhook":{"main":[[],[],[],[],[],[],[],[],[]]},"Just a quick answer to Dropbox - webhook validation":{"main":[[],[],[],[],[],[],[],[],[]]},"Respond to Dropbox in less than 10sec":{"main":[[],[],[],[],[],[],[],[],[]]}},"name":"Webhook Workflow","settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"description":"Automated workflow: Webhook Workflow. This workflow integrates 10 different services: webhook, stickyNote, dropbox, merge, switch. It contains 26 nodes and follows best practices for error handling and security.","notes":"Excellent quality workflow: Webhook Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}