Describe the problem/error/question
I am trying to download multiple file types from a single google drive folder, and pass each file type to a different node for processing.
(e.g. - txt files for blog post writing, .png image files for uploading to wordpress to use in the blog post.)
What is the error message (if any)? I can download the files as binary and view them. But I cannot seem to get them to send to different nodes. I think I’m missing a step.
Please share your workflow
{
“nodes”: [
{
“parameters”: {
“operation”: “text”,
“binaryPropertyName”: “{{ $(‘Target Node’).item.binary.data }}”,
“options”: {}
},
“id”: “2e043688-519f-467b-b226-dc2fdf070952”,
“name”: “Extract Transcript Text”,
“type”: “n8n-nodes-base.extractFromFile”,
“typeVersion”: 1.1,
“position”: [
-96,
464
]
},
{
“parameters”: {
“modelId”: {
“__rl”: true,
“mode”: “id”,
“value”: “gpt-4o”
},
“responses”: {
“values”: [
{
“content”: “={{ $json.data }}”
}
]
},
“builtInTools”: {},
“options”: {
“instructions”: “You are an expert YouTube SEO specialist and content optimizer.\n\nYour task is to analyze the provided podcast transcript and create:\n1. A compelling, SEO-optimized YouTube video title (60 characters max)\n2. A detailed YouTube video description with:\n - Engaging summary of the episode\n - Key topics covered\n - Timestamps for major sections (format: 00:00 - Topic)\n - SEO keywords naturally integrated\n - Call-to-action\n\nReturn your response in the following JSON format:\n{\n “title”: “Your optimized title here”,\n “description”: “Full description with timestamps”\n}”,
“textFormat”: {
“textOptions”: {
“type”: “json_schema”
}
}
}
},
“id”: “0019a83c-7f08-4fd1-883e-15a8f3ed9b54”,
“name”: “Generate YouTube SEO Content”,
“type”: “@n8n/n8n-nodes-langchain.openAi”,
“typeVersion”: 2,
“position”: [
128,
272
],
“credentials”: {
“openAiApi”: {
“id”: “5uOb2Rzd7bMcAWyV”,
“name”: “OpenAi account”
}
}
},
{
“parameters”: {
“modelId”: {
“__rl”: true,
“value”: “gpt-4-turbo”,
“mode”: “list”,
“cachedResultName”: “GPT-4-TURBO”
},
“responses”: {
“values”: [
{
“content”: “={{ $(‘Extract Transcript Text’).item.json.data }}”
}
]
},
“simplify”: false,
“builtInTools”: {},
“options”: {
“instructions”: “You are an expert content writer specializing in SEO and GEO (Generative Engine Optimization) for blog posts.\n\nYour task is to transform the provided podcast transcript into a comprehensive, engaging blog post that:\n1. Is optimized for both traditional search engines (SEO) and AI-powered search (GEO)\n2. Includes a compelling headline and subheadings (H2, H3)\n3. Incorporates relevant keywords naturally\n4. Features a strong introduction and conclusion\n5. Uses bullet points and formatting for readability\n6. Includes a meta description (155 characters max)\n7. Is structured for featured snippets and AI summaries\n\nReturn your response in the following JSON format:\n{\n “headline”: “Main blog post headline”,\n “metaDescription”: “SEO meta description”,\n “content”: “Full HTML-formatted blog post content”\n}”,
“textFormat”: {
“textOptions”: {
“type”: “json_object”
}
}
}
},
“id”: “12958052-805c-48aa-bb39-35a941b32394”,
“name”: “Generate Blog Post”,
“type”: “@n8n/n8n-nodes-langchain.openAi”,
“typeVersion”: 2,
“position”: [
128,
464
],
“credentials”: {
“openAiApi”: {
“id”: “5uOb2Rzd7bMcAWyV”,
“name”: “OpenAi account”
}
}
},
{
“parameters”: {
“modelId”: {
“mode”: “id”,
“value”: “gpt-4o”
},
“responses”: {
“values”: [
{
“content”: “={{ $(‘Extract Transcript Text’).item.json.data }}”
}
]
},
“builtInTools”: {},
“options”: {
“instructions”: “You are an expert email marketing copywriter.\n\nYour task is to create an engaging email announcement for a new podcast episode release. The email should:\n1. Have a compelling subject line\n2. Include an engaging opening that hooks the reader\n3. Summarize the key topics and value of the episode\n4. Include a clear call-to-action to listen\n5. Be concise and scannable\n6. Use HTML formatting for better presentation\n\nReturn your response in the following JSON format:\n{\n “subject”: “Email subject line”,\n “body”: “HTML-formatted email body”\n}”
}
},
“id”: “f4252cc6-fd9f-4815-bd5d-888fd1dece76”,
“name”: “Generate Email Announcement”,
“type”: “@n8n/n8n-nodes-langchain.openAi”,
“typeVersion”: 2,
“position”: [
128,
656
],
“credentials”: {
“openAiApi”: {
“id”: “MFbO17EHsD5gbbb5”,
“name”: “n8n free OpenAI API credits”
}
}
},
{
“parameters”: {
“sendTo”: “={{ $(‘Workflow Configuration’).first().json.emailRecipients }}”,
“subject”: “={{ JSON.parse($json.message.content).subject }}”,
“message”: “={{ JSON.parse($json.message.content).body }}”,
“options”: {}
},
“id”: “0f1a73a9-7dae-4219-893b-f620cf3e31e9”,
“name”: “Send Email”,
“type”: “n8n-nodes-base.gmail”,
“typeVersion”: 2.1,
“position”: [
480,
656
],
“webhookId”: “206d2c77-73f9-40af-b493-7d9e8468d7a0”
},
{
“parameters”: {
“title”: “={{ $json.output[0].content[0].text.headline }}”,
“additionalFields”: {
“content”: “={{ $json.output[0].content[0].text.content }}”
}
},
“type”: “n8n-nodes-base.wordpress”,
“typeVersion”: 1,
“position”: [
688,
464
],
“id”: “7f1ddcad-5dc7-4e16-ae9a-c7d09bfdb926”,
“name”: “Create a post”,
“credentials”: {
“wordpressApi”: {
“id”: “PMxpWGJ3usZRgmQw”,
“name”: “Wordpress account”
}
}
},
{
“parameters”: {
“assignments”: {
“assignments”: [
{
“id”: “67b3684c-70cb-433a-85e4-9e01430d8823”,
“name”: “output[0].content[0].text”,
“value”: “={{ $json.output[0].content[0].text }}”,
“type”: “string”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.set”,
“typeVersion”: 3.4,
“position”: [
480,
272
],
“id”: “7c4accf5-492b-458d-90a9-bacb271b4c15”,
“name”: “Edit Fields”
},
{
“parameters”: {
“mode”: “combine”,
“advanced”: true,
“mergeByFields”: {
“values”: [
{
“field1”: “output[0].content[0].text.headline”,
“field2”: “output[0].content[0].text.content”
},
{
“field1”: “webViewLink”,
“field2”: “webViewLink”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.merge”,
“typeVersion”: 3.2,
“position”: [
480,
464
],
“id”: “5dc19d32-2f0d-4597-a999-825e683e68e0”,
“name”: “Merge”
},
{
“parameters”: {
“operation”: “download”,
“fileId”: {
“__rl”: true,
“value”: “={{ $json.webViewLink }}”,
“mode”: “url”
},
“options”: {}
},
“type”: “n8n-nodes-base.googleDrive”,
“typeVersion”: 3,
“position”: [
-544,
464
],
“id”: “bcb39d30-ab62-4629-92fa-2230f99b49f1”,
“name”: “Download file”,
“credentials”: {
“googleDriveOAuth2Api”: {
“id”: “WDJkxlNm7KQuwWEX”,
“name”: “Google Drive account”
}
}
},
{
“parameters”: {},
“type”: “n8n-nodes-base.manualTrigger”,
“typeVersion”: 1,
“position”: [
-992,
464
],
“id”: “94d47fa6-280a-4d05-8906-1b6c6c909824”,
“name”: “When clicking ‘Execute workflow’”
},
{
“parameters”: {
“resource”: “fileFolder”,
“returnAll”: true,
“filter”: {
“folderId”: {
“__rl”: true,
“value”: “16mSkAZ-vSJFwzCjonjiPWLXYLU-dN9jS”,
“mode”: “list”,
“cachedResultName”: “Podcast Processing Drop”,
“cachedResultUrl”: “https://drive.google.com/drive/folders/16mSkAZ-vSJFwzCjonjiPWLXYLU-dN9jS”
}
},
“options”: {
“fields”: [
“webViewLink”,
“name”
]
}
},
“type”: “n8n-nodes-base.googleDrive”,
“typeVersion”: 3,
“position”: [
-768,
464
],
“id”: “db92378b-9766-486c-865b-86cb4d4a73d5”,
“name”: “Search files and folders”,
“credentials”: {
“googleDriveOAuth2Api”: {
“id”: “WDJkxlNm7KQuwWEX”,
“name”: “Google Drive account”
}
}
},
{
“parameters”: {
“fieldToSplitOut”: “name,$binary”,
“include”: “allOtherFields”,
“options”: {}
},
“type”: “n8n-nodes-base.splitOut”,
“typeVersion”: 1,
“position”: [
-320,
464
],
“id”: “fddb76e1-fac0-4ceb-8c58-b7ab0f72b343”,
“name”: “Split Out1”
}
],
“connections”: {
“Extract Transcript Text”: {
“main”: [
[
{
“node”: “Generate YouTube SEO Content”,
“type”: “main”,
“index”: 0
},
{
“node”: “Generate Blog Post”,
“type”: “main”,
“index”: 0
},
{
“node”: “Generate Email Announcement”,
“type”: “main”,
“index”: 0
}
]
]
},
“Generate YouTube SEO Content”: {
“main”: [
[
{
“node”: “Edit Fields”,
“type”: “main”,
“index”: 0
}
]
]
},
“Generate Blog Post”: {
“main”: [
[
{
“node”: “Merge”,
“type”: “main”,
“index”: 0
}
]
]
},
“Generate Email Announcement”: {
“main”: [
[
{
“node”: “Send Email”,
“type”: “main”,
“index”: 0
}
]
]
},
“Merge”: {
“main”: [
[
{
“node”: “Create a post”,
“type”: “main”,
“index”: 0
}
]
]
},
“Download file”: {
“main”: [
[
{
“node”: “Split Out1”,
“type”: “main”,
“index”: 0
}
]
]
},
“When clicking ‘Execute workflow’”: {
“main”: [
[
{
“node”: “Search files and folders”,
“type”: “main”,
“index”: 0
}
]
]
},
“Search files and folders”: {
“main”: [
[
{
“node”: “Download file”,
“type”: “main”,
“index”: 0
}
]
]
},
“Split Out1”: {
“main”: [
[
{
“node”: “Extract Transcript Text”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“pinData”: {},
“meta”: {
“instanceId”: “0c909ea3a32c96c39b4af8be73443d88da1faa1612cd952fe58fb59590bed4a6”
}
}
(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)
Share the output returned by the last node:
I would like to send the text file to the “extract transcript” node, and the image to the HTTP Request node to add it to the media library of the wordpress site, to then be used in the blog post.
Information on your n8n setup
- n8n version: cloud
- Database (default: SQLite): cloud
- n8n EXECUTIONS_PROCESS setting (default: own, main): cloud
- Running n8n via (Docker, npm, n8n cloud, desktop app): cloud
- Operating system: windows 11 / Chrome Browser


