Workflow: template in store
Integrations: errorTrigger, googleDrive, googleDriveTrigger, httpRequest, if, noOp, readBinaryFile, stickyNote, telegram, writeBinaryFile

{"id": "cZPEH5aMMZNy61xs", "meta": {"instanceId": "workflow-08b9a470", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:44.477147", "updatedAt": "2025-09-29T07:07:44.477165", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production"}, "name": "template in store", "tags": ["automation", "n8n", "production-ready", "excellent", "optimized"], "nodes": [{"id": "14f93cdb-72cb-419a-b8d7-a68ae9383290", "name": "Google Drive Trigger", "type": "n8n-nodes-base.googleDriveTrigger", "position": [440, 320], "parameters": {"event": "fileCreated", "options": {}, "pollTimes": {"item": [{"mode": "everyMinute"}]}, "triggerOn": "specificFolder", "folderToWatch": {"__rl": true, "mode": "list", "value": "18m0i341QLQuyWuHv_FBdz8-r-QDtofYm", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Influencersde"}}, "credentials": {"googleDriveOAuth2Api": {"id": "2TbhWtnbRfSloGxX", "name": "Google Drive account"}}, "typeVersion": 1, "notes": "This googleDriveTrigger node performs automated tasks as part of the workflow."}, {"id": "d4ab0d11-b110-46fa-9cd2-6091737c302e", "name": "Google Drive", "type": "n8n-nodes-base.googleDrive", "position": [620, 320], "parameters": {"fileId": {"__rl": true, "mode": "", "value": "={{ $json.id || $json.data[0].id }}"}, "options": {}, "operation": "download", "authentication": "{{ $credentials.oAuth2 }}"}, "credentials": {"googleDriveOAuth2Api": {"id": "2TbhWtnbRfSloGxX", "name": "Google Drive account"}}, "retryOnFail": true, "typeVersion": 1, "waitBetweenTries": 5000, "notes": "This googleDrive node performs automated tasks as part of the workflow."}, {"id": "fde9df88-3f9e-4732-bb1c-72eb33ce6826", "name": "Error Trigger", "type": "n8n-nodes-base.errorTrigger", "position": [840, 660], "parameters": {}, "typeVersion": 1, "notes": "This errorTrigger node performs automated tasks as part of the workflow."}, {"id": "ecfe1ad1-6887-492b-a2f7-f9b6c43f9b91", "name": "Telegram", "type": "n8n-nodes-base.telegram", "position": [1180, 640], "webhookId": "f6729386-9905-45f1-800f-4fe01a06ac9c", "parameters": {"text": "=\ud83d\udd14 ERROR SUBIENDO VIDEOS", "chatId": "-4127128831", "additionalFields": {"appendAttribution": false}}, "credentials": {"telegramApi": {"id": "vzA62UXRgiFICuPP", "name": "Telegram account"}}, "retryOnFail": true, "typeVersion": 1.2, "waitBetweenTries": 5000, "notes": "This telegram node performs automated tasks as part of the workflow."}, {"id": "6ed274c7-726f-40aa-92b0-70768dc053a5", "name": "If Node", "type": "n8n-nodes-base.if", "position": [980, 660], "parameters": {"options": {}, "conditions": {"options": {"version": 1, "leftValue": "", "caseSensitive": true, "typeValidation": "strict"}, "combinator": "and", "conditions": [{"id": "9fadb3fd-2547-42bd-8f40-f410a97dcf57", "operator": {"type": "string", "operation": "notContains"}, "leftValue": "={{ $json.trigger.error.message }}", "rightValue": "The DNS server returned an error, perhaps the server is offline"}]}}, "typeVersion": 2.1, "notes": "This if node performs automated tasks as part of the workflow."}, {"id": "dd4b2dfa-ccba-45d8-b388-755888343b4c", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [0, 0], "parameters": {"width": 860, "height": 260, "content": "## Description\nThis automation allows you to upload a video to a configured Google Drive folder, and it will automatically create descriptions and upload it to Instagram and TikTok.\n\n## How to Use\n1. Generate an API token at upload-post.com and add to Upload to Tiktok and Upload to Instagram nodes\n2. Configure your Google Drive folder\n3. Customize the OpenAI prompt for your specific use case\n4. Optional: Configure Telegram for error notifications\n\n## Requirements\n- upload-post.com account\n- Google Drive account\n- OpenAI API key\n"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "299e3e95-dbcb-4798-b843-a4424ce3f3bf", "name": "Get Audio from Video", "type": "n8n-nodes-base.noOp", "notes": "Extract the audio from video for generate the description", "position": [1080, 320], "parameters": {"options": {}, "resource": "audio", "operation": "transcribe"}, "credentials": {"openAiApi": {"id": "XJdxgMSXFgwReSsh", "name": "n8n key"}}, "notesInFlow": true, "retryOnFail": true, "typeVersion": 1, "waitBetweenTries": 5000}, {"id": "da9048ce-542e-44e0-ba67-ab853822c428", "name": "Read video from Google Drive", "type": "n8n-nodes-base.writeBinaryFile", "position": [800, 320], "parameters": {"options": {}, "fileName": "={{ $json.originalFilename.replaceAll(\" \", \"_\") }}"}, "typeVersion": 1, "notes": "This writeBinaryFile node performs automated tasks as part of the workflow."}, {"id": "5977baf1-d4a2-439f-aafe-14745201d3d8", "name": "Generate Description for Videos in Tiktok and Instagram", "type": "n8n-nodes-base.noOp", "notes": "Request to OpenAi for generate description with the audio extracted from the video", "position": [1280, 320], "parameters": {"modelId": {"__rl": true, "mode": "list", "value": "gpt-4o", "cachedResultName": "GPT-4O"}, "options": {}, "messages": {"values": [{"role": "system", "content": "You are an expert assistant in creating engaging social media video titles."}, {"content": "=I'm going to upload a video to social media. Here are some examples of descriptions that have worked well on Instagram:\n\nFollow and save for later. Discover InfluencersDe, the AI tool that automates TikTok creation and publishing to drive traffic to your website. Perfect for entrepreneurs and brands.\n#digitalmarketing #ugc #tiktok #ai #influencersde #contentcreation\n\nDiscover the video marketing revolution with InfluencersDe!\n.\n.\n.\n#socialmedia #videomarketing #ai #tiktok #influencersde #growthhacking\n\nDon't miss InfluencersDe, the tool that transforms your marketing strategy with just one click!\n.\n.\n.\n#ugc #ai #tiktok #digitalmarketing #influencersde #branding\n\nCan you create another title for the Instagram post based on this recognized audio from the video?\n\nAudio: {{ $('Get Audio from Video').item.json.text }}\n\nIMPORTANT: Reply only with the description, don't add anything else."}]}}, "credentials": {"openAiApi": {"id": "XJdxgMSXFgwReSsh", "name": "n8n key"}}, "notesInFlow": true, "retryOnFail": true, "typeVersion": 1.4, "waitBetweenTries": 5000}, {"id": "a139c8b0-b934-492b-8f85-e42c9c345af4", "name": "Read Video from Google Drive", "type": "n8n-nodes-base.readBinaryFile", "position": [1840, 100], "parameters": {"filePath": "={{ $('Read video from Google Drive').item.json.originalFilename.replaceAll(\" \", \"_\") }}", "dataPropertyName": "datavideo"}, "typeVersion": 1, "notes": "This readBinaryFile node performs automated tasks as part of the workflow."}, {"id": "63230edb-8346-4441-929f-1f6403507501", "name": "Read Video from Google Drive2", "type": "n8n-nodes-base.readBinaryFile", "position": [1840, 460], "parameters": {"filePath": "={{ $('Read video from Google Drive').item.json.originalFilename.replaceAll(\" \", \"_\") }}", "dataPropertyName": "datavideo"}, "typeVersion": 1, "notes": "This readBinaryFile node performs automated tasks as part of the workflow."}, {"id": "5d6e26ef-1bb4-43d6-a282-151c95856905", "name": "Upload Video and Description to Tiktok", "type": "n8n-nodes-base.httpRequest", "notes": "Generate in upload-post.com the token and add to the credentials in the header-> Authorization: Apikey (token here)", "position": [2100, 100], "parameters": {"url": "{{ $env.API_BASE_URL }}", "method": "POST", "options": {}, "sendBody": true, "contentType": "multipart-form-data", "authentication": "{{ $credentials.genericCredentialType }}", "bodyParameters": {"parameters": [{"name": "title", "value": "={{ $('Generate Description for Videos in Tiktok and Instagram').item.json.message.content.replaceAll(\"\\\"\", \"\") }}"}, {"name": "platform[]", "value": "tiktok"}, {"name": "video", "parameterType": "formBinaryData", "inputDataFieldName": "datavideo"}, {"name": "user", "value": "Add user generated in upload-post"}]}, "genericAuthType": "httpHeaderAuth"}, "credentials": {"httpHeaderAuth": {"id": "47dO31ED0WIaJkR6", "name": "Header Auth account"}}, "notesInFlow": true, "typeVersion": 4.2}, {"id": "ed785663-50e4-43cc-9dc0-a340d0360b38", "name": "Upload Video and Description to Instagram", "type": "n8n-nodes-base.httpRequest", "notes": "Generate in upload-post.com the token and add to the credentials in the header-> Authorization: Apikey (token here)", "position": [2100, 460], "parameters": {"url": "{{ $env.API_BASE_URL }}", "method": "POST", "options": {}, "sendBody": true, "contentType": "multipart-form-data", "authentication": "{{ $credentials.genericCredentialType }}", "bodyParameters": {"parameters": [{"name": "title", "value": "={{ $('Generate Description for Videos in Tiktok and Instagram').item.json.message.content.replaceAll(\"\\\"\", \"\") }}"}, {"name": "platform[]", "value": "instagram"}, {"name": "video", "parameterType": "formBinaryData", "inputDataFieldName": "datavideo"}, {"name": "user", "value": "Add user generated in upload-post"}]}, "genericAuthType": "httpHeaderAuth"}, "credentials": {"httpHeaderAuth": {"id": "47dO31ED0WIaJkR6", "name": "Header Auth account"}}, "notesInFlow": true, "typeVersion": 4.2}], "active": false, "pinData": {}, "settings": {"executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000}, "versionId": "fdcd0643-0958-426c-ab1d-16fb061b4e38", "connections": {"14f93cdb-72cb-419a-b8d7-a68ae9383290": {"main": [[{"node": "error-handler-14f93cdb-72cb-419a-b8d7-a68ae9383290-eab51efb", "type": "main", "index": 0}]]}, "d4ab0d11-b110-46fa-9cd2-6091737c302e": {"main": [[{"node": "error-handler-d4ab0d11-b110-46fa-9cd2-6091737c302e-51487fec", "type": "main", "index": 0}]]}, "ecfe1ad1-6887-492b-a2f7-f9b6c43f9b91": {"main": [[{"node": "error-handler-ecfe1ad1-6887-492b-a2f7-f9b6c43f9b91-157a75a3", "type": "main", "index": 0}]]}, "299e3e95-dbcb-4798-b843-a4424ce3f3bf": {"main": [[{"node": "error-handler-299e3e95-dbcb-4798-b843-a4424ce3f3bf-9c4e2ab5", "type": "main", "index": 0}]]}, "da9048ce-542e-44e0-ba67-ab853822c428": {"main": [[{"node": "error-handler-da9048ce-542e-44e0-ba67-ab853822c428-bafc43ee", "type": "main", "index": 0}]]}, "5977baf1-d4a2-439f-aafe-14745201d3d8": {"main": [[{"node": "error-handler-5977baf1-d4a2-439f-aafe-14745201d3d8-b21b3593", "type": "main", "index": 0}]]}, "a139c8b0-b934-492b-8f85-e42c9c345af4": {"main": [[{"node": "error-handler-a139c8b0-b934-492b-8f85-e42c9c345af4-d587058a", "type": "main", "index": 0}]]}, "63230edb-8346-4441-929f-1f6403507501": {"main": [[{"node": "error-handler-63230edb-8346-4441-929f-1f6403507501-71892a00", "type": "main", "index": 0}]]}, "5d6e26ef-1bb4-43d6-a282-151c95856905": {"main": [[{"node": "error-handler-5d6e26ef-1bb4-43d6-a282-151c95856905-94f62753", "type": "main", "index": 0}], [{"node": "error-handler-5d6e26ef-1bb4-43d6-a282-151c95856905-8518cb1e", "type": "main", "index": 0}], [{"node": "error-handler-5d6e26ef-1bb4-43d6-a282-151c95856905-01f41c9d", "type": "main", "index": 0}], [{"node": "error-handler-5d6e26ef-1bb4-43d6-a282-151c95856905-879facde", "type": "main", "index": 0}], [{"node": "error-handler-5d6e26ef-1bb4-43d6-a282-151c95856905-8b7f3a59", "type": "main", "index": 0}], [{"node": "error-handler-5d6e26ef-1bb4-43d6-a282-151c95856905-f413655b", "type": "main", "index": 0}], [{"node": "error-handler-5d6e26ef-1bb4-43d6-a282-151c95856905-c6c923fa", "type": "main", "index": 0}], [{"node": "error-handler-5d6e26ef-1bb4-43d6-a282-151c95856905-f7b49ff3", "type": "main", "index": 0}]]}, "ed785663-50e4-43cc-9dc0-a340d0360b38": {"main": [[{"node": "error-handler-ed785663-50e4-43cc-9dc0-a340d0360b38-4cfd77ba", "type": "main", "index": 0}], [{"node": "error-handler-ed785663-50e4-43cc-9dc0-a340d0360b38-c0f99432", "type": "main", "index": 0}], [{"node": "error-handler-ed785663-50e4-43cc-9dc0-a340d0360b38-7b63f896", "type": "main", "index": 0}], [{"node": "error-handler-ed785663-50e4-43cc-9dc0-a340d0360b38-72c42a7b", "type": "main", "index": 0}], [{"node": "error-handler-ed785663-50e4-43cc-9dc0-a340d0360b38-aee7a58d", "type": "main", "index": 0}], [{"node": "error-handler-ed785663-50e4-43cc-9dc0-a340d0360b38-3ad8b4e3", "type": "main", "index": 0}], [{"node": "error-handler-ed785663-50e4-43cc-9dc0-a340d0360b38-b3c35e7b", "type": "main", "index": 0}], [{"node": "error-handler-ed785663-50e4-43cc-9dc0-a340d0360b38-e9010197", "type": "main", "index": 0}]]}}, "description": "Automated workflow: template in store. This workflow integrates 11 different services: writeBinaryFile, stickyNote, httpRequest, googleDriveTrigger, telegram. It contains 23 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: template in store. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}