This workflow follows the Google Sheets → HTTP Request 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 →
{
"nodes": [
{
"id": "1",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
100,
300
],
"parameters": {
"interval": [
{
"field": "hours",
"value": 2
}
],
"options": {}
}
},
{
"id": "2",
"name": "Google Sheets - Get Ideas",
"type": "n8n-nodes-base.googleSheets",
"position": [
300,
300
],
"parameters": {
"operation": "getAll",
"sheetName": "Ideas",
"filters": {
"conditions": [
{
"property": "type",
"value": "new",
"operation": "equal"
}
]
},
"options": {
"limit": 1,
"returnAll": false
}
}
},
{
"id": "3",
"name": "IF - Check Ideas Found",
"type": "n8n-nodes-base.if",
"position": [
500,
300
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{$node[\"Google Sheets - Get Ideas\"].json.length}}",
"operation": "notEqual",
"value2": 0
}
]
},
"options": {}
}
},
{
"id": "4",
"name": "ChatGPT - Generate Script",
"type": "n8n-nodes-base.openAi",
"position": [
700,
250
],
"parameters": {
"authentication": "apiKey",
"resource": "chat",
"prompt": {
"messages": [
{
"role": "system",
"content": "You are a professional UGC video script writer. Create a compelling, concise script for a 15-second video."
},
{
"role": "user",
"content": "Create a professional UGC-style video script based on this idea: {{$node[\"Google Sheets - Get Ideas\"].json[0].idea}}. The script should be conversational, engaging, and suitable for a 15-second video. Include 3 key moments where visuals can be enhanced."
}
]
},
"model": "gpt-4",
"options": {
"temperature": 0.7,
"maxTokens": 300
}
}
},
{
"id": "5",
"name": "Synthesia - Create UGC Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
900,
250
],
"parameters": {
"url": "https://api.synthesia.io/v2/videos",
"method": "POST",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer {{$credentials.synthesia.apiKey}}"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"jsonParameters": true,
"bodyParametersJson": {
"title": "UGC Video for {{$node[\"Google Sheets - Get Ideas\"].json[0].idea}}",
"description": "Professional UGC video",
"test": false,
"input": [
{
"scriptText": "={{$node[\"ChatGPT - Generate Script\"].json.choices[0].message.content}}",
"avatar": "YOUR_CUSTOMIZED_AVATAR_ID",
"background": "none",
"avatarSettings": {
"style": "ugc",
"position": "center"
},
"videoSettings": {
"quality": "high",
"aspectRatio": "9:16"
}
}
]
},
"options": {}
}
},
{
"id": "6",
"name": "Wait for Synthesia Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
1100,
250
],
"parameters": {
"url": "={{\"https://api.synthesia.io/v2/videos/\" + $node[\"Synthesia - Create UGC Video\"].json.id}}",
"method": "GET",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer {{$credentials.synthesia.apiKey}}"
}
]
},
"options": {
"polling": true,
"pollTimes": 20,
"pollInterval": 30,
"condition": "={{$response.body.status === \"complete\"}}"
}
}
},
{
"id": "7",
"name": "DALL-E - Generate Images",
"type": "n8n-nodes-base.openAi",
"position": [
900,
400
],
"parameters": {
"authentication": "apiKey",
"resource": "image",
"operation": "create",
"prompt": "={{\"Professional image related to \" + $node[\"Google Sheets - Get Ideas\"].json[0].idea + \", photorealistic, high quality\"}}",
"model": "dall-e-3",
"n": 3,
"quality": "hd",
"size": "1024x1024",
"options": {}
}
},
{
"id": "8",
"name": "Split Images",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1100,
400
],
"parameters": {
"batchSize": 1,
"options": {
"includeParentData": true
}
}
},
{
"id": "9",
"name": "Pika - Animate Images",
"type": "n8n-nodes-base.httpRequest",
"position": [
1300,
400
],
"parameters": {
"url": "https://api.pika.art/v1/images/animate",
"method": "POST",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer {{$credentials.pika.apiKey}}"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"jsonParameters": true,
"bodyParametersJson": {
"image_url": "={{$item.json.data[0].url}}",
"animation_style": "realistic",
"duration": 2,
"output_format": "mp4"
},
"options": {}
}
},
{
"id": "10",
"name": "Wait for Pika Animation",
"type": "n8n-nodes-base.httpRequest",
"position": [
1500,
400
],
"parameters": {
"url": "={{\"https://api.pika.art/v1/generations/\" + $node[\"Pika - Animate Images\"].json.id}}",
"method": "GET",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer {{$credentials.pika.apiKey}}"
}
]
},
"options": {
"polling": true,
"pollTimes": 10,
"pollInterval": 20,
"condition": "={{$response.body.status === \"completed\"}}"
}
}
},
{
"id": "11",
"name": "Join Animations",
"type": "n8n-nodes-base.merge",
"position": [
1700,
400
],
"parameters": {
"mode": "waitForAll",
"options": {}
}
},
{
"id": "12",
"name": "ElevenLabs - Generate Voiceover",
"type": "n8n-nodes-base.httpRequest",
"position": [
900,
550
],
"parameters": {
"url": "https://api.elevenlabs.io/v1/text-to-speech/YOUR_VOICE_ID",
"method": "POST",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "xi-api-key",
"value": "{{$credentials.elevenlabs.apiKey}}"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"jsonParameters": true,
"bodyParametersJson": {
"text": "={{$node[\"ChatGPT - Generate Script\"].json.choices[0].message.content}}",
"model_id": "eleven_monolingual_v1",
"voice_settings": {
"stability": 0.5,
"similarity_boost": 0.75,
"style": 0.7,
"use_speaker_boost": true
}
},
"options": {
"responseFormat": "file"
}
}
},
{
"id": "13",
"name": "Animaker - Generate Subtitles",
"type": "n8n-nodes-base.httpRequest",
"position": [
1100,
550
],
"parameters": {
"url": "https://app.animaker.com/api/v1/subtitle/generate",
"method": "POST",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "X-API-KEY",
"value": "{{$credentials.animaker.apiKey}}"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"jsonParameters": true,
"bodyParametersJson": {
"audio_file": "={{$binary[$node[\"ElevenLabs - Generate Voiceover\"].itemIndex].data}}",
"text": "={{$node[\"ChatGPT - Generate Script\"].json.choices[0].message.content}}",
"format": "srt"
},
"options": {}
}
},
{
"id": "14",
"name": "Video Editor - Combine All",
"type": "n8n-nodes-base.httpRequest",
"position": [
1700,
550
],
"parameters": {
"url": "https://api.customvideoeditor.com/v1/projects",
"method": "POST",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer {{$credentials.videoEditor.apiKey}}"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"jsonParameters": true,
"bodyParametersJson": {
"timeline": {
"baseVideo": "={{$node[\"Wait for Synthesia Video\"].json.download}}",
"audio": "={{$binary[$node[\"ElevenLabs - Generate Voiceover\"].itemIndex].url}}",
"subtitles": "={{$node[\"Animaker - Generate Subtitles\"].json.subtitle_url}}",
"overlays": [
{
"videoUrl": "={{$node[\"Join Animations\"].json[\"0\"].video_url}}",
"startTime": 2,
"endTime": 4,
"position": "center"
},
{
"videoUrl": "={{$node[\"Join Animations\"].json[\"1\"].video_url}}",
"startTime": 7,
"endTime": 9,
"position": "center"
},
{
"videoUrl": "={{$node[\"Join Animations\"].json[\"2\"].video_url}}",
"startTime": 11,
"endTime": 13,
"position": "center"
}
],
"duration": 15,
"format": "mp4",
"resolution": "1080p"
}
},
"options": {}
}
},
{
"id": "15",
"name": "Wait for Final Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
1900,
550
],
"parameters": {
"url": "={{\"https://api.customvideoeditor.com/v1/projects/\" + $node[\"Video Editor - Combine All\"].json.project_id}}",
"method": "GET",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer {{$credentials.videoEditor.apiKey}}"
}
]
},
"options": {
"polling": true,
"pollTimes": 15,
"pollInterval": 30,
"condition": "={{$response.body.status === \"complete\"}}"
}
}
},
{
"id": "16",
"name": "Telegram - Send Video for Approval",
"type": "n8n-nodes-base.telegram",
"position": [
2100,
550
],
"parameters": {
"chatId": "YOUR_TELEGRAM_CHAT_ID",
"content": "video",
"videoUrl": "={{$node[\"Wait for Final Video\"].json.download_url}}",
"additionalFields": {
"caption": "New video created based on \"{{$node[\"Google Sheets - Get Ideas\"].json[0].idea}}\".\nPlease respond with 'approve' to post or 'reject' to discard."
},
"options": {}
}
},
{
"id": "17",
"name": "Telegram - Wait for Response",
"type": "n8n-nodes-base.telegram",
"position": [
2300,
550
],
"parameters": {
"pollUpdates": true,
"chatId": "YOUR_TELEGRAM_CHAT_ID",
"updateTypes": [
"message"
],
"additionalFields": {
"pollTimeout": 86400
},
"options": {}
}
},
{
"id": "18",
"name": "IF - Approved",
"type": "n8n-nodes-base.if",
"position": [
2500,
550
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{$node[\"Telegram - Wait for Response\"].json.message.text.toLowerCase()}}",
"operation": "contains",
"value2": "approve"
}
]
},
"options": {}
}
},
{
"id": "19",
"name": "ChatGPT - Generate Descriptions",
"type": "n8n-nodes-base.openAi",
"position": [
2700,
450
],
"parameters": {
"authentication": "apiKey",
"resource": "chat",
"prompt": {
"messages": [
{
"role": "system",
"content": "You are a professional social media marketer who creates engaging, platform-specific content descriptions."
},
{
"role": "user",
"content": "Create professional descriptions for the following platforms: TikTok, Instagram, Facebook, and YouTube. The descriptions should be optimized for each platform based on this video idea: {{$node[\"Google Sheets - Get Ideas\"].json[0].idea}} and script: {{$node[\"ChatGPT - Generate Script\"].json.choices[0].message.content}}. Format the response as a JSON object with platform names as keys and descriptions as values."
}
]
},
"model": "gpt-4",
"options": {
"temperature": 0.7,
"maxTokens": 500
}
}
},
{
"id": "20",
"name": "Split Platforms",
"type": "n8n-nodes-base.function",
"position": [
2900,
450
],
"parameters": {
"functionCode": "// Parse the GPT response to get platform descriptions\nconst descriptions = JSON.parse(items[0].json.choices[0].message.content);\n\n// Create items for each platform and account combination\nconst platforms = ['TikTok', 'Instagram', 'Facebook', 'YouTube'];\nconst accountsPerPlatform = 5;\nconst result = [];\n\nfor (const platform of platforms) {\n for (let i = 1; i <= accountsPerPlatform; i++) {\n result.push({\n json: {\n platform: platform,\n accountNumber: i,\n description: descriptions[platform],\n videoUrl: items[0].json.videoUrl,\n idea: items[0].json.idea\n }\n });\n }\n}\n\nreturn result;",
"options": {}
}
},
{
"id": "21",
"name": "Social Media Poster",
"type": "n8n-nodes-base.switch",
"position": [
3100,
450
],
"parameters": {
"rules": {
"rules": [
{
"value": "TikTok",
"conditions": {
"string": [
{
"value1": "={{$json[\"platform\"]}}",
"operation": "equal",
"value2": "TikTok"
}
]
}
},
{
"value": "Instagram",
"conditions": {
"string": [
{
"value1": "={{$json[\"platform\"]}}",
"operation": "equal",
"value2": "Instagram"
}
]
}
},
{
"value": "Facebook",
"conditions": {
"string": [
{
"value1": "={{$json[\"platform\"]}}",
"operation": "equal",
"value2": "Facebook"
}
]
}
},
{
"value": "YouTube",
"conditions": {
"string": [
{
"value1": "={{$json[\"platform\"]}}",
"operation": "equal",
"value2": "YouTube"
}
]
}
}
]
},
"options": {}
}
},
{
"id": "22",
"name": "TikTok Poster",
"type": "n8n-nodes-base.httpRequest",
"position": [
3300,
300
],
"parameters": {
"url": "https://api.tiktok.com/v1/video/upload",
"method": "POST",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer {{$credentials.tiktok.accounts[$json.accountNumber - 1].token}}"
}
]
},
"options": {
"formData": true
},
"formDataParameters": {
"parameters": [
{
"name": "video",
"value": "={{$node[\"Wait for Final Video\"].json.download_url}}"
},
{
"name": "description",
"value": "={{$json.description}}"
}
]
}
}
},
{
"id": "23",
"name": "Instagram Poster",
"type": "n8n-nodes-base.httpRequest",
"position": [
3300,
450
],
"parameters": {
"url": "https://graph.instagram.com/v18.0/{{$credentials.instagram.accounts[$json.accountNumber - 1].userId}}/media",
"method": "POST",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer {{$credentials.instagram.accounts[$json.accountNumber - 1].token}}"
}
]
},
"options": {
"formData": true
},
"formDataParameters": {
"parameters": [
{
"name": "media_type",
"value": "VIDEO"
},
{
"name": "video_url",
"value": "={{$node[\"Wait for Final Video\"].json.download_url}}"
},
{
"name": "caption",
"value": "={{$json.description}}"
}
]
}
}
},
{
"id": "24",
"name": "Facebook Poster",
"type": "n8n-nodes-base.httpRequest",
"position": [
3300,
600
],
"parameters": {
"url": "https://graph.facebook.com/v18.0/{{$credentials.facebook.accounts[$json.accountNumber - 1].pageId}}/videos",
"method": "POST",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer {{$credentials.facebook.accounts[$json.accountNumber - 1].token}}"
}
]
},
"options": {
"formData": true
},
"formDataParameters": {
"parameters": [
{
"name": "file_url",
"value": "={{$node[\"Wait for Final Video\"].json.download_url}}"
},
{
"name": "description",
"value": "={{$json.description}}"
}
]
}
}
},
{
"id": "25",
"name": "YouTube Poster",
"type": "n8n-nodes-base.httpRequest",
"position": [
3300,
750
],
"parameters": {
"url": "https://www.googleapis.com/upload/youtube/v3/videos",
"method": "POST",
"authentication": "genericCredentialType",
"genericAuthType": "oAuth2",
"oAuth2": "{{$credentials.youtube.accounts[$json.accountNumber - 1]}}",
"options": {
"formData": true
},
"formDataParameters": {
"parameters": [
{
"name": "part",
"value": "snippet,status"
},
{
"name": "notifySubscribers",
"value": "true"
},
{
"name": "uploadType",
"value": "multipart"
},
{
"name": "file",
"value": "={{$node[\"Wait for Final Video\"].json.download_url}}"
},
{
"name": "resource",
"value": "={{JSON.stringify({\"snippet\":{\"title\":$json.idea,\"description\":$json.description,\"tags\":[\"UGC\",\"content\",\"video\"]},\"status\":{\"privacyStatus\":\"public\"}})}}",
"contentType": "application/json"
}
]
}
}
},
{
"id": "26",
"name": "Merge All Platforms",
"type": "n8n-nodes-base.merge",
"position": [
3500,
550
],
"parameters": {
"mode": "waitForAll",
"options": {}
}
},
{
"id": "27",
"name": "Google Sheets - Update Idea Status",
"type": "n8n-nodes-base.googleSheets",
"position": [
3700,
550
],
"parameters": {
"operation": "update",
"sheetName": "Ideas",
"range": "={{\"A\" + ($node[\"Google Sheets - Get Ideas\"].json[0].row_number)}}",
"options": {
"valueInputMode": "RAW"
},
"valueInputOption": "RAW",
"dataMode": "autoMapInputData",
"data": {
"type": "used",
"lastPosted": "={{$now.toISOString()}}"
}
}
},
{
"id": "28",
"name": "No Ideas Found",
"type": "n8n-nodes-base.noOp",
"position": [
700,
550
],
"parameters": {
"options": {}
}
},
{
"id": "29",
"name": "Telegram - Notify No Ideas",
"type": "n8n-nodes-base.telegram",
"position": [
900,
700
],
"parameters": {
"chatId": "YOUR_TELEGRAM_CHAT_ID",
"content": "text",
"text": "No new ideas found in the spreadsheet. Please add some ideas with type 'new'.",
"options": {}
}
},
{
"id": "30",
"name": "Telegram - Notify Completion",
"type": "n8n-nodes-base.telegram",
"position": [
3900,
550
],
"parameters": {
"chatId": "YOUR_TELEGRAM_CHAT_ID",
"content": "text",
"text": "\u2705 Workflow completed! The video for idea \"{{$node[\"Google Sheets - Get Ideas\"].json[0].idea}}\" has been posted to all 20 social media accounts. The idea status has been updated to 'used' in the spreadsheet.",
"options": {}
}
},
{
"id": "31",
"name": "Telegram - Notify Rejection",
"type": "n8n-nodes-base.telegram",
"position": [
2700,
650
],
"parameters": {
"chatId": "YOUR_TELEGRAM_CHAT_ID",
"content": "text",
"text": "\u274c Video rejected. The idea \"{{$node[\"Google Sheets - Get Ideas\"].json[0].idea}}\" will remain with status 'new' in the spreadsheet.",
"options": {}
}
}
],
"connections": {
"Schedule Trigger": {
"main": [
[
{
"node": "Google Sheets - Get Ideas",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets - Get Ideas": {
"main": [
[
{
"node": "IF - Check Ideas Found",
"type": "main",
"index": 0
}
]
]
},
"IF - Check Ideas Found": {
"main": [
[
{
"node": "ChatGPT - Generate Script",
"type": "main",
"index": 0
}
],
[
{
"node": "No Ideas Found",
"type": "main",
"index": 0
}
]
]
},
"ChatGPT - Generate Script": {
"main": [
[
{
"node": "Synthesia - Create UGC Video",
"type": "main",
"index": 0
},
{
"node": "DALL-E - Generate Images",
"type": "main",
"index": 0
},
{
"node": "ElevenLabs - Generate Voiceover",
"type": "main",
"index": 0
}
]
]
},
"Synthesia - Create UGC Video": {
"main": [
[
{
"node": "Wait for Synthesia Video",
"type": "main",
"index": 0
}
]
]
},
"DALL-E - Generate Images": {
"main": [
[
{
"node": "Split Images",
"type": "main",
"index": 0
}
]
]
},
"Split Images": {
"main": [
[
{
"node": "Pika - Animate Images",
"type": "main",
"index": 0
}
]
]
},
"Pika - Animate Images": {
"main": [
[
{
"node": "Wait for Pika Animation",
"type": "main",
"index": 0
}
]
]
},
"Wait for Pika Animation": {
"main": [
[
{
"node": "Join Animations",
"type": "main",
"index": 0
}
]
]
},
"ElevenLabs - Generate Voiceover": {
"main": [
[
{
"node": "Animaker - Generate Subtitles",
"type": "main",
"index": 0
}
]
]
},
"Wait for Synthesia Video": {
"main": [
[
{
"node": "Video Editor - Combine All",
"type": "main",
"index": 0
}
]
]
},
"Join Animations": {
"main": [
[
{
"node": "Video Editor - Combine All",
"type": "main",
"index": 0
}
]
]
},
"Animaker - Generate Subtitles": {
"main": [
[
{
"node": "Video Editor - Combine All",
"type": "main",
"index": 0
}
]
]
},
"Video Editor - Combine All": {
"main": [
[
{
"node": "Wait for Final Video",
"type": "main",
"index": 0
}
]
]
},
"Wait for Final Video": {
"main": [
[
{
"node": "Telegram - Send Video for Approval",
"type": "main",
"index": 0
}
]
]
},
"Telegram - Send Video for Approval": {
"main": [
[
{
"node": "Telegram - Wait for Response",
"type": "main",
"index": 0
}
]
]
},
"Telegram - Wait for Response": {
"main": [
[
{
"node": "IF - Approved",
"type": "main",
"index": 0
}
]
]
},
"IF - Approved": {
"main": [
[
{
"node": "ChatGPT - Generate Descriptions",
"type": "main",
"index": 0
}
],
[
{
"node": "Telegram - Notify Rejection",
"type": "main",
"index": 0
}
]
]
},
"ChatGPT - Generate Descriptions": {
"main": [
[
{
"node": "Split Platforms",
"type": "main",
"index": 0
}
]
]
},
"Split Platforms": {
"main": [
[
{
"node": "Social Media Poster",
"type": "main",
"index": 0
}
]
]
},
"Social Media Poster": {
"main": [
[
{
"node": "TikTok Poster",
"type": "main",
"index": 0
}
],
[
{
"node": "Instagram Poster",
"type": "main",
"index": 0
}
],
[
{
"node": "Facebook Poster",
"type": "main",
"index": 0
}
],
[
{
"node": "YouTube Poster",
"type": "main",
"index": 0
}
]
]
},
"TikTok Poster": {
"main": [
[
{
"node": "Merge All Platforms",
"type": "main",
"index": 0
}
]
]
},
"Instagram Poster": {
"main": [
[
{
"node": "Merge All Platforms",
"type": "main",
"index": 0
}
]
]
},
"Facebook Poster": {
"main": [
[
{
"node": "Merge All Platforms",
"type": "main",
"index": 0
}
]
]
},
"YouTube Poster": {
"main": [
[
{
"node": "Merge All Platforms",
"type": "main",
"index": 0
}
]
]
},
"Merge All Platforms": {
"main": [
[
{
"node": "Google Sheets - Update Idea Status",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets - Update Idea Status": {
"main": [
[
{
"node": "Telegram - Notify Completion",
"type": "main",
"index": 0
}
]
]
},
"No Ideas Found": {
"main": [
[
{
"node": "Telegram - Notify No Ideas",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Gist:Dterokhina. Uses googleSheets, openAi, httpRequest, telegram. Scheduled trigger; 31 nodes.
Source: https://gist.github.com/dterokhina/5e29fd7229d228d9c9b3d9d6b7f60df5 — 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.
AI Institutional Stock Valuation Engine with Risk Scoring & Scenario Targets
Overview This is a production-grade, fully automated stock analysis system built entirely in n8n. It combines institutional-level financial analysis, dual AI model consensus, and a self-improving back
A professional AI equity analysis automation built on n8n that transforms structured financial data and real-time news into disciplined, risk-adjusted price targets and actionable BUY/HOLD/SELL signal
Takes a product image from Google Sheets, adds frozen effect with Gemini, generates ASMR video with Veo3, writes captions with GPT-4o, and posts to 4 platforms automatically. Schedule trigger picks fi
Beydigital Media – Lead Generation & AI Email Automation. Uses httpRequest, openAi, gmail, googleSheets. Scheduled trigger; 18 nodes.