This workflow corresponds to n8n.io template #6278 — we link there as the canonical source.
This workflow follows the Agent → Gmail recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "J5BZO9ezilMiswH7",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Generate SEO content from trends spreadsheet to storage (SharePoint/Drive/Dropbox)",
"tags": [
{
"id": "wpMIpESnBZpdPCpj",
"name": "Marketing",
"createdAt": "2025-06-03T11:38:37.020Z",
"updatedAt": "2025-06-03T11:38:37.020Z"
}
],
"nodes": [
{
"id": "5a9c11b3-a0d8-419f-a447-828ca7908f0a",
"name": "Read Trends Data",
"type": "n8n-nodes-base.spreadsheetFile",
"position": [
-4288,
-2048
],
"parameters": {},
"typeVersion": 1
},
{
"id": "9988898b-23ab-4b37-8bc2-76a97f96c669",
"name": "Select Topic from Trends",
"type": "n8n-nodes-base.code",
"position": [
-4016,
-2048
],
"parameters": {},
"typeVersion": 1
},
{
"id": "362b5cd0-5253-4ffe-84dc-d1c286977b7d",
"name": "Build Newsletter",
"type": "n8n-nodes-base.code",
"position": [
-2608,
-2512
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7e3d41de-6fdd-4b7d-8e56-2f967108dad2",
"name": "Check Approval Status",
"type": "n8n-nodes-base.if",
"position": [
624,
-2144
],
"parameters": {},
"typeVersion": 1
},
{
"id": "85b0946e-4df0-43e5-9615-020b326b85c0",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-3424,
-2320
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "dca2ef6d-5179-46a4-b916-5f2bfcf79d1e",
"name": "Get Trends XLSX",
"type": "n8n-nodes-base.microsoftSharePoint",
"position": [
-4512,
-2048
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c8d706a3-3bad-4686-a712-350b49314935",
"name": "Get Newsletter Template",
"type": "n8n-nodes-base.microsoftSharePoint",
"position": [
-3024,
-2512
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d1466c51-eb0b-4994-ac1a-e234821de281",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
-2688,
-1760
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "0b9a10a8-c84a-47ba-bd8f-0d01d86f013f",
"name": "Get Video",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
-1824,
-1824
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "db8e8f18-f2d8-476f-ac83-b365aa67451c",
"name": "Create FAL Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
-2320,
-1760
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "2a729954-8812-473e-a0be-0c9399a4c454",
"name": "Create Audio",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1376,
-1760
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "6984c8c5-0f4c-4881-85fd-782b848ca5f6",
"name": "Wait for Audio",
"type": "n8n-nodes-base.wait",
"position": [
-1152,
-1760
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "a172b117-221e-4707-a213-f70397e70418",
"name": "Get Audio",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
-944,
-1824
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "f4b95592-3803-4dca-a41d-71bd20746cb4",
"name": "Create Merge Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
-496,
-1760
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "f419cf55-ca78-4beb-b62d-910e1db9e841",
"name": "Wait for Merge",
"type": "n8n-nodes-base.wait",
"position": [
-272,
-1760
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "336374fa-8e2d-4402-b152-d68fc407a885",
"name": "Get Merged Video",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
-64,
-1760
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "d4449512-70d3-4856-b5fc-606b7b505ff0",
"name": "Merge1",
"type": "n8n-nodes-base.merge",
"position": [
128,
-2192
],
"parameters": {},
"typeVersion": 3
},
{
"id": "90347ce0-1238-448d-abf2-96ecb228b8e0",
"name": "Configuration Settings",
"type": "n8n-nodes-base.set",
"position": [
-4752,
-2048
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "5a58eb7e-1993-4a8e-9d66-53b33b3d11de",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-3408,
-1856
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "fdb7ef7c-f900-4374-b65e-eb14f5c9f4a6",
"name": "Generate Video and Audio Prompt",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-3392,
-2064
],
"parameters": {},
"typeVersion": 2
},
{
"id": "0639f081-0402-4534-b448-d23e45032037",
"name": "Determine Intent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-5392,
-2048
],
"parameters": {},
"typeVersion": 2
},
{
"id": "a6f8688e-95a7-4169-9224-682762a8372b",
"name": "OpenAI Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-5312,
-1824
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "aa3ab2ba-e08b-49cf-ac57-3789107435c2",
"name": "Parse Fields",
"type": "n8n-nodes-base.code",
"position": [
-3024,
-2064
],
"parameters": {},
"typeVersion": 2
},
{
"id": "38f5414a-7e8b-4350-8c15-474d44453602",
"name": "Parse Intent Fields",
"type": "n8n-nodes-base.code",
"position": [
-4992,
-2048
],
"parameters": {},
"typeVersion": 2
},
{
"id": "50c07304-8521-43f7-9e0c-16fe48ed90e2",
"name": "HTML to Binary",
"type": "n8n-nodes-base.code",
"position": [
832,
-2144
],
"parameters": {},
"typeVersion": 2
},
{
"id": "da4da730-32f9-47e8-92a8-2ad2651376eb",
"name": "TXT to Binary",
"type": "n8n-nodes-base.code",
"position": [
2048,
-2144
],
"parameters": {},
"typeVersion": 2
},
{
"id": "ac207979-019c-47fe-a7a1-d53d70afbb35",
"name": "JPG to Binary",
"type": "n8n-nodes-base.code",
"position": [
1280,
-2144
],
"parameters": {},
"typeVersion": 2
},
{
"id": "c8684458-4bb9-45ee-af72-adea5b174168",
"name": "Save Video URL if exists",
"type": "n8n-nodes-base.if",
"position": [
1760,
-2128
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "cdbc12f2-d5f3-4236-a136-b8259f3d12ee",
"name": "Upload HTML",
"type": "n8n-nodes-base.microsoftSharePoint",
"position": [
1056,
-2144
],
"parameters": {},
"typeVersion": 1
},
{
"id": "270a6ba6-83cd-45fd-a733-7799f787b244",
"name": "Upload JPG",
"type": "n8n-nodes-base.microsoftSharePoint",
"position": [
1504,
-2144
],
"parameters": {},
"typeVersion": 1
},
{
"id": "61ea58e5-8cf7-40fe-b67b-1f7faa81dcf3",
"name": "Upload Video URL",
"type": "n8n-nodes-base.microsoftSharePoint",
"position": [
2304,
-2144
],
"parameters": {},
"typeVersion": 1
},
{
"id": "9ae9a529-370b-4d2d-acb8-ad3e3f1d3913",
"name": "Send message and wait for response",
"type": "n8n-nodes-base.gmail",
"position": [
400,
-2144
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "c3910d9b-81af-40c2-a0ef-e7953c265d9f",
"name": "Set Base64 Field",
"type": "n8n-nodes-base.set",
"position": [
-2512,
-2064
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "efeefb3f-4856-4136-a230-af280b346468",
"name": "Convert Base64 to File",
"type": "n8n-nodes-base.convertToFile",
"position": [
-2288,
-2064
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "e493b67f-360c-464c-a8b7-dae374751da7",
"name": "Receive Request",
"type": "n8n-nodes-base.webhook",
"position": [
-5616,
-2048
],
"parameters": {},
"typeVersion": 2
},
{
"id": "ef936c7c-c40d-450c-9dda-5cf55dac2027",
"name": "Prepare Newsletter Data",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-3408,
-2512
],
"parameters": {},
"typeVersion": 2
},
{
"id": "b20d69ab-97c5-4a2e-9926-77252b735ab3",
"name": "Extract from Text File",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-2816,
-2512
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3a93f461-3ad3-4cd3-923c-4e04e1b8fd92",
"name": "Generate Image",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"maxTries": 5,
"position": [
-2800,
-2064
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2
},
{
"id": "5cfef6a7-5f21-4493-89df-c699bf927116",
"name": "Send Data to Download Service",
"type": "n8n-nodes-base.httpRequest",
"position": [
-2944,
-1760
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "83cc9e0a-71cc-43a2-97d2-ecb92aca6fa0",
"name": "Wait For Video",
"type": "n8n-nodes-base.wait",
"position": [
-2032,
-1760
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "a4149035-a9f4-4d19-ac57-49b5bac89ed6",
"name": "Video Still Processing",
"type": "n8n-nodes-base.if",
"position": [
-1600,
-1760
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "23060783-5d2f-4a2e-89fc-3138f0c8d681",
"name": "Audio Still Processing",
"type": "n8n-nodes-base.if",
"position": [
-720,
-1760
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "8c4e8075-1c2f-4fa2-a1ab-f858ff9bc426",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-4912,
-2432
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "ff1a4101-c39d-418d-a6e4-9f893dabed74",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3408,
-3008
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "a0ac2239-2eae-4100-bb03-99b8365a038e",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3856,
-1696
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "93b1ab5a-e522-48b0-9208-41bda43cfb7b",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2688,
-1488
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "65ebb1ee-baa2-4dae-a780-f3a0b51836e0",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
832,
-1952
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "18a250cb-ac2d-4101-a49a-400be7b37f7f",
"connections": {
"Merge1": {
"main": [
[
{
"node": "Send message and wait for response",
"type": "main",
"index": 0
}
]
]
},
"Switch": {
"main": [
[
{
"node": "Create FAL Video",
"type": "main",
"index": 0
}
],
[
{
"node": "Merge1",
"type": "main",
"index": 0
}
]
]
},
"Get Audio": {
"main": [
[
{
"node": "Audio Still Processing",
"type": "main",
"index": 0
}
]
]
},
"Get Video": {
"main": [
[
{
"node": "Video Still Processing",
"type": "main",
"index": 0
}
]
]
},
"Upload JPG": {
"main": [
[
{
"node": "Save Video URL if exists",
"type": "main",
"index": 0
}
]
]
},
"Upload HTML": {
"main": [
[
{
"node": "JPG to Binary",
"type": "main",
"index": 0
}
]
]
},
"Create Audio": {
"main": [
[
{
"node": "Wait for Audio",
"type": "main",
"index": 0
}
]
]
},
"Parse Fields": {
"main": [
[
{
"node": "Generate Image",
"type": "main",
"index": 0
}
]
]
},
"JPG to Binary": {
"main": [
[
{
"node": "Upload JPG",
"type": "main",
"index": 0
}
]
]
},
"TXT to Binary": {
"main": [
[
{
"node": "Upload Video URL",
"type": "main",
"index": 0
}
]
]
},
"Generate Image": {
"main": [
[
{
"node": "Set Base64 Field",
"type": "main",
"index": 0
}
],
[]
]
},
"HTML to Binary": {
"main": [
[
{
"node": "Upload HTML",
"type": "main",
"index": 0
}
]
]
},
"Wait For Video": {
"main": [
[
{
"node": "Get Video",
"type": "main",
"index": 0
}
]
]
},
"Wait for Audio": {
"main": [
[
{
"node": "Get Audio",
"type": "main",
"index": 0
}
]
]
},
"Wait for Merge": {
"main": [
[
{
"node": "Get Merged Video",
"type": "main",
"index": 0
}
]
]
},
"Get Trends XLSX": {
"main": [
[
{
"node": "Read Trends Data",
"type": "main",
"index": 0
}
]
]
},
"Receive Request": {
"main": [
[
{
"node": "Determine Intent",
"type": "main",
"index": 0
}
]
]
},
"Build Newsletter": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 4
}
]
]
},
"Create FAL Video": {
"main": [
[
{
"node": "Wait For Video",
"type": "main",
"index": 0
}
]
]
},
"Determine Intent": {
"main": [
[
{
"node": "Parse Intent Fields",
"type": "main",
"index": 0
}
]
]
},
"Get Merged Video": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 3
}
]
]
},
"Read Trends Data": {
"main": [
[
{
"node": "Select Topic from Trends",
"type": "main",
"index": 0
}
]
]
},
"Set Base64 Field": {
"main": [
[
{
"node": "Convert Base64 to File",
"type": "main",
"index": 0
}
]
]
},
"Upload Video URL": {
"main": [
[]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Prepare Newsletter Data",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "Generate Video and Audio Prompt",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "Determine Intent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Parse Intent Fields": {
"main": [
[
{
"node": "Configuration Settings",
"type": "main",
"index": 0
}
]
]
},
"Create Merge Request": {
"main": [
[
{
"node": "Wait for Merge",
"type": "main",
"index": 0
}
]
]
},
"Check Approval Status": {
"main": [
[
{
"node": "HTML to Binary",
"type": "main",
"index": 0
}
],
[]
]
},
"Audio Still Processing": {
"main": [
[
{
"node": "Wait for Audio",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Merge Request",
"type": "main",
"index": 0
}
]
]
},
"Configuration Settings": {
"main": [
[
{
"node": "Get Trends XLSX",
"type": "main",
"index": 0
}
]
]
},
"Convert Base64 to File": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 1
},
{
"node": "Merge1",
"type": "main",
"index": 2
},
{
"node": "Send Data to Download Service",
"type": "main",
"index": 0
}
]
]
},
"Extract from Text File": {
"main": [
[
{
"node": "Build Newsletter",
"type": "main",
"index": 0
}
]
]
},
"Video Still Processing": {
"main": [
[
{
"node": "Wait For Video",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Audio",
"type": "main",
"index": 0
}
]
]
},
"Get Newsletter Template": {
"main": [
[
{
"node": "Extract from Text File",
"type": "main",
"index": 0
}
]
]
},
"Prepare Newsletter Data": {
"main": [
[
{
"node": "Get Newsletter Template",
"type": "main",
"index": 0
}
]
]
},
"Save Video URL if exists": {
"main": [
[
{
"node": "TXT to Binary",
"type": "main",
"index": 0
}
]
]
},
"Select Topic from Trends": {
"main": [
[
{
"node": "Prepare Newsletter Data",
"type": "main",
"index": 0
},
{
"node": "Generate Video and Audio Prompt",
"type": "main",
"index": 0
}
]
]
},
"Send Data to Download Service": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Generate Video and Audio Prompt": {
"main": [
[
{
"node": "Parse Fields",
"type": "main",
"index": 0
}
]
]
},
"Send message and wait for response": {
"main": [
[
{
"node": "Check Approval Status",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Content creators, SEO specialists, and marketing teams who want to automatically generate SEO-optimized content based on trending topics—complete with AI-generated images, optional videos, and ready-to-publish HTML. Webhook receives a request with use case and video preferences.…
Source: https://n8n.io/workflows/6278/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Marketing, growth, and automation teams that need to ship polished bilingual newsletters—complete with images, optional video, and multi-channel distribution—without writing a line of code. A Webhook
This workflow is designed for professionals, companies, and agencies that want to automate competitive analysis based on public reviews and opinions found on the Internet. It is especially useful for:
JoinDAn8n. Uses httpRequest, dataTable, emailReadImap, lmChatOpenAi. Webhook trigger; 37 nodes.
This workflow automates personalized customer journeys by analyzing CRM data, purchase history, chat interactions, and performance metrics to intelligently route customer actions through multiple chan
Whatsapp Lead Agent. Uses httpRequest, hunter, @tavily/n8n-nodes-tavily, @mendable/n8n-nodes-firecrawl. Webhook trigger; 35 nodes.