This workflow follows the Google Drive → 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 →
{
"name": "Video Ads Automation - Real Estate",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "video-brief",
"responseMode": "responseNode",
"options": {}
},
"id": "trigger-brief",
"name": "1.0 Webhook - Recibe Brief",
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [
0,
300
]
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict"
},
"conditions": [
{
"id": "brief-completo",
"leftValue": "={{ $json.brief_completo }}",
"rightValue": true,
"operator": {
"type": "boolean",
"operation": "equals"
}
}
],
"combinator": "and"
},
"options": {}
},
"id": "check-brief",
"name": "1.1 \u00bfBrief Completo?",
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [
220,
300
]
},
{
"parameters": {
"model": "gpt-4o",
"messages": {
"values": [
{
"content": "=Eres experto en marketing digital para {{$json.industria}}.\n\nAnaliza este brief y genera una estrategia de comunicaci\u00f3n concreta para obtenci\u00f3n de leads calificados en pauta digital:\n\n**Brief:**\n- Producto/Servicio: {{$json.producto}}\n- P\u00fablico objetivo: {{$json.publico_objetivo}}\n- Objetivo del video: {{$json.objetivo}}\n- Tipo de video: {{$json.tipo_video}}\n- Canal target: {{$json.canal}}\n\n**Genera:**\n1. Posicionamiento de marca\n2. Mensajes clave (3-5)\n3. Estilo visual recomendado\n4. Restricciones (con/sin texto en pantalla, etc.)\n5. Tono de comunicaci\u00f3n\n\nResponde en formato estructurado."
}
]
},
"options": {}
},
"id": "llm-estrategia",
"name": "2.0 LLM - Estrategia Comunicaci\u00f3n",
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 1.4,
"position": [
440,
200
],
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"model": "gpt-4o",
"messages": {
"values": [
{
"content": "=Bas\u00e1ndote en esta estrategia de comunicaci\u00f3n:\n\n{{$node[\"2.0 LLM - Estrategia Comunicaci\u00f3n\"].json.message.content}}\n\nGenera un prompt de avatar para el protagonista del video:\n\n1. **Perfil demogr\u00e1fico**: Edad, nacionalidad, g\u00e9nero\n2. **Apariencia f\u00edsica**: Tono de piel, complexi\u00f3n, rasgos\n3. **Estilo de vestimenta**: Seg\u00fan contexto del video\n4. **Comportamiento UGC**: C\u00f3mo habla, gesticula, mira a c\u00e1mara\n5. **Entorno recomendado**: D\u00f3nde est\u00e1 grabando\n\nEl avatar debe verse hiperrealista, como contenido org\u00e1nico de redes, NO como comercial producido.\n\nFormato: Prompt listo para usar en generador de im\u00e1genes IA."
}
]
},
"options": {}
},
"id": "llm-avatar",
"name": "2.1 LLM - Descripci\u00f3n Avatar",
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 1.4,
"position": [
660,
200
],
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"model": "gpt-4o",
"messages": {
"values": [
{
"content": "=Bas\u00e1ndote en esta estrategia:\n\n{{$node[\"2.0 LLM - Estrategia Comunicaci\u00f3n\"].json.message.content}}\n\nCrea un gui\u00f3n de {{$json.duracion_segundos || 45}} segundos:\n\n**Requisitos:**\n- Hook de impacto en primeros 3 segundos\n- Diferenciador y valor agregado del producto\n- Precio y caracter\u00edsticas m\u00e1s importantes\n- Lenguaje nativo mexicano, sin palabras rebuscadas\n- Termina con CTA claro\n\n**Formato de salida:**\nCada l\u00ednea con [EMOCI\u00d3N/ENTONACI\u00d3N] antes del texto.\n\nEjemplo:\n[Sorpresa genuina] \"\u00bfSab\u00edas que puedes operarte los ojos sin pagar de golpe?\"\n[Confianza] \"Yo lo hice. Pagu\u00e9 en 12 meses.\""
}
]
},
"options": {}
},
"id": "llm-guion",
"name": "2.2 LLM - Gui\u00f3n con Emociones",
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 1.4,
"position": [
880,
200
],
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "sendMessage",
"chatId": "CONFIGURAR_CHAT_ID",
"text": "=\ud83c\udfac **REVISI\u00d3N REQUERIDA: GUI\u00d3N**\n\nProyecto: {{$json.nombre_proyecto}}\n\n**Gui\u00f3n generado:**\n{{$node[\"2.2 LLM - Gui\u00f3n con Emociones\"].json.message.content}}\n\n\u2705 Responde APROBADO para continuar\n\u274c Responde con cambios espec\u00edficos",
"additionalFields": {}
},
"id": "notify-guion",
"name": "2.3 Notificar - Aprobar Gui\u00f3n",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
1100,
200
],
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"model": "gpt-4o",
"messages": {
"values": [
{
"content": "=Bas\u00e1ndote en:\n- Estrategia: {{$node[\"2.0 LLM - Estrategia Comunicaci\u00f3n\"].json.message.content}}\n- Avatar: {{$node[\"2.1 LLM - Descripci\u00f3n Avatar\"].json.message.content}}\n\nGenera un PROMPT MADRE para direcci\u00f3n cinematogr\u00e1fica del video comercial:\n\n**Incluir:**\n- Formato: {{$json.formato || \"9:16\"}}\n- Duraci\u00f3n: {{$json.duracion_segundos || 45}} segundos\n- Estilo visual espec\u00edfico\n- Paleta de colores\n- Tipo de tomas (close-up, medium, wide)\n- Atm\u00f3sfera y mood\n- Iluminaci\u00f3n\n- Reglas (con/sin texto en pantalla)\n\n**Formato de salida:** Prompt listo para InVideo AI."
}
]
},
"options": {}
},
"id": "llm-cinematografico",
"name": "3.0 LLM - Prompt Cinematogr\u00e1fico",
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 1.4,
"position": [
1320,
200
],
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"model": "gpt-4o",
"messages": {
"values": [
{
"content": "=Usando:\n- Prompt cinematogr\u00e1fico: {{$node[\"3.0 LLM - Prompt Cinematogr\u00e1fico\"].json.message.content}}\n- Gui\u00f3n: {{$node[\"2.2 LLM - Gui\u00f3n con Emociones\"].json.message.content}}\n- Avatar: {{$node[\"2.1 LLM - Descripci\u00f3n Avatar\"].json.message.content}}\n\nGenera prompts ESCENA POR ESCENA:\n\n**Para cada escena incluir:**\n1. N\u00famero de escena\n2. Duraci\u00f3n (segundos)\n3. Qu\u00e9 se VE (descripci\u00f3n visual detallada)\n4. Qu\u00e9 se DICE (l\u00ednea del gui\u00f3n)\n5. Emoci\u00f3n del personaje\n6. \u00bfAvatar habla a c\u00e1mara o voz en off?\n7. Prompt espec\u00edfico para generador de imagen/video\n\n**Formato:** JSON array para f\u00e1cil procesamiento."
}
]
},
"options": {
"response_format": {
"type": "json_object"
}
}
},
"id": "llm-escenas",
"name": "3.1 LLM - Escenas Detalladas",
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 1.4,
"position": [
1540,
200
],
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"url": "https://api.replicate.com/v1/predictions",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "version",
"value": "black-forest-labs/flux-1.1-pro"
},
{
"name": "input",
"value": "={\"prompt\": \"{{$node[\"2.1 LLM - Descripci\u00f3n Avatar\"].json.message.content}}\", \"aspect_ratio\": \"1:1\", \"output_format\": \"png\"}"
}
]
},
"options": {}
},
"id": "flux-avatar",
"name": "4.0 FLUX - Generar Avatar",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1760,
200
],
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"url": "https://api.replicate.com/v1/predictions",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "version",
"value": "black-forest-labs/flux-1.1-pro"
},
{
"name": "input",
"value": "={\"prompt\": \"{{$json.prompt_escena}}\", \"aspect_ratio\": \"9:16\", \"output_format\": \"png\"}"
}
]
},
"options": {}
},
"id": "flux-storyboard",
"name": "4.1 FLUX - Storyboard (Loop)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1980,
200
],
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "sendMessage",
"chatId": "CONFIGURAR_CHAT_ID",
"text": "=\ud83d\udcf8 **REVISI\u00d3N REQUERIDA: STORYBOARD**\n\nSe generaron {{$json.total_escenas}} im\u00e1genes de storyboard.\n\n\u2705 Responde APROBADO para continuar a video\n\u274c Indica qu\u00e9 escenas regenerar",
"additionalFields": {}
},
"id": "notify-storyboard",
"name": "4.2 Notificar - Aprobar Storyboard",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
2200,
200
],
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"method": "POST",
"url": "https://api.invideo.io/v1/videos",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"workflow\": \"text-to-video-v6\",\n \"input_text\": \"{{$node[\"3.0 LLM - Prompt Cinematogr\u00e1fico\"].json.message.content}}\",\n \"settings\": {\n \"resolution\": \"1080p\",\n \"aspect_ratio\": \"{{$json.formato || '9:16'}}\",\n \"voice_id\": \"es-MX-female-professional\"\n },\n \"assets\": {\n \"avatar_image\": \"{{$node[\"4.0 FLUX - Generar Avatar\"].json.output}}\",\n \"storyboard\": {{$node[\"4.1 FLUX - Storyboard (Loop)\"].json.images}}\n }\n}",
"options": {}
},
"id": "invideo-create",
"name": "5.0 InVideo - Crear Video Base",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
2420,
200
],
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"notes": "PRINCIPAL - InVideo para video base"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict"
},
"conditions": [
{
"id": "voz-ok",
"leftValue": "={{ $json.voz_calidad }}",
"rightValue": "aceptable",
"operator": {
"type": "string",
"operation": "equals"
}
}
],
"combinator": "and"
},
"options": {}
},
"id": "check-voz",
"name": "5.1 \u00bfVoz Autom\u00e1tica OK?",
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [
2640,
200
]
},
{
"parameters": {
"method": "POST",
"url": "https://api.elevenlabs.io/v1/text-to-speech/{{$json.voice_id}}",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"text\": \"{{$node[\"2.2 LLM - Gui\u00f3n con Emociones\"].json.guion_texto_plano}}\",\n \"model_id\": \"eleven_multilingual_v2\",\n \"voice_settings\": {\n \"stability\": 0.5,\n \"similarity_boost\": 0.8\n }\n}",
"options": {
"response": {
"response": {
"responseFormat": "file"
}
}
}
},
"id": "elevenlabs-voz",
"name": "5.2 ElevenLabs - Regenerar Voz",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
2860,
300
],
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"method": "POST",
"url": "https://api.runwayml.com/v1/generations",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"model\": \"gen-4\",\n \"prompt\": \"{{$json.prompt_escena_fallida}}\",\n \"image\": \"{{$json.storyboard_image}}\",\n \"duration\": 5\n}",
"options": {}
},
"id": "runway-tomas",
"name": "6.0 Runway - Tomas Relleno",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
3080,
200
],
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "upload",
"folderId": "CONFIGURAR_FOLDER_ID",
"name": "={{$json.nombre_proyecto}}_assets",
"options": {}
},
"id": "drive-assets",
"name": "7.0 Drive - Subir Assets para Edici\u00f3n",
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
3300,
200
],
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "sendMessage",
"chatId": "CONFIGURAR_CHAT_ID",
"text": "=\ud83d\udcc2 **ASSETS LISTOS PARA EDICI\u00d3N**\n\nProyecto: {{$json.nombre_proyecto}}\n\n**Carpeta Drive:** {{$json.drive_folder_url}}\n\n**Contenido:**\n- Video base InVideo\n- Audio (autom\u00e1tico o ElevenLabs)\n- Clips de relleno Runway\n- Storyboard completo\n\n\ud83d\udc64 **Operador:** Puede comenzar edici\u00f3n en CapCut\n\n\u2705 Responde EDITADO cuando termine",
"additionalFields": {}
},
"id": "notify-edicion",
"name": "7.1 Notificar - Listo para CapCut",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
3520,
200
],
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "sendMessage",
"chatId": "CONFIGURAR_CHAT_ID",
"text": "=\ud83c\udfac **VIDEO LISTO PARA REVISI\u00d3N CLIENTE**\n\nProyecto: {{$json.nombre_proyecto}}\n\n**Link:** {{$json.video_preview_url}}\n\nRonda: {{$json.ronda_revision}}/3\n\n\u2705 APROBADO - continuar a entrega\n\u274c Incluir cambios espec\u00edficos",
"additionalFields": {}
},
"id": "notify-cliente",
"name": "8.0 Notificar - Revisi\u00f3n Cliente",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
3740,
200
],
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "upload",
"folderId": "CONFIGURAR_FOLDER_ENTREGA",
"name": "={{$json.nombre_proyecto}}_FINAL",
"options": {}
},
"id": "drive-final",
"name": "9.0 Drive - Entrega Final",
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
3960,
200
],
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "sendMessage",
"chatId": "CONFIGURAR_CHAT_ID",
"text": "=\u2705 **PROYECTO COMPLETADO**\n\nProyecto: {{$json.nombre_proyecto}}\n\n**Video Final:** {{$json.drive_final_url}}\n\n\ud83c\udf89 Listo para pauta",
"additionalFields": {}
},
"id": "notify-final",
"name": "9.1 Notificar - Entrega Completa",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
4180,
200
],
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={\"status\": \"completed\", \"project\": \"{{$json.nombre_proyecto}}\", \"delivery_url\": \"{{$json.drive_final_url}}\"}"
},
"id": "response-final",
"name": "Respuesta Final",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.1,
"position": [
4400,
200
]
},
{
"parameters": {
"method": "POST",
"url": "https://klingai.com/global/dev/api/v1/videos/text2video",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"prompt\": \"{{$node[\"3.0 LLM - Prompt Cinematogr\u00e1fico\"].json.message.content}}\",\n \"aspect_ratio\": \"9:16\",\n \"duration\": \"5\"\n}",
"options": {}
},
"id": "kling-alt",
"name": "\u26a1 ALT: Kling AI - Video Base",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
2420,
500
],
"disabled": true,
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"notes": "ALTERNATIVA - Kling AI (desconectado)\nConectar si InVideo falla o para A/B testing"
},
{
"parameters": {
"method": "POST",
"url": "https://api.creatify.ai/v1/ugc-videos",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"product_url\": \"{{$json.product_url}}\",\n \"avatar_id\": \"{{$json.avatar_preset}}\",\n \"script\": \"{{$node[\"2.2 LLM - Gui\u00f3n con Emociones\"].json.guion_texto_plano}}\"\n}",
"options": {}
},
"id": "creatify-ugc",
"name": "\u26a1 ALT: Creatify - UGC Videos",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
2420,
620
],
"disabled": true,
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"notes": "ALTERNATIVA - Creatify para UGC\nUsar cuando tipo_video = 'ugc'"
},
{
"parameters": {
"method": "POST",
"url": "https://api.lumalabs.ai/dream-machine/v1/generations",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"prompt\": \"{{$json.prompt_escena}}\",\n \"aspect_ratio\": \"9:16\"\n}",
"options": {}
},
"id": "luma-alt",
"name": "\u26a1 ALT: Luma Dream Machine",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
2640,
500
],
"disabled": true,
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"notes": "ALTERNATIVA - Luma para clips cinematogr\u00e1ficos"
}
],
"connections": {
"1.0 Webhook - Recibe Brief": {
"main": [
[
{
"node": "1.1 \u00bfBrief Completo?",
"type": "main",
"index": 0
}
]
]
},
"1.1 \u00bfBrief Completo?": {
"main": [
[
{
"node": "2.0 LLM - Estrategia Comunicaci\u00f3n",
"type": "main",
"index": 0
}
]
]
},
"2.0 LLM - Estrategia Comunicaci\u00f3n": {
"main": [
[
{
"node": "2.1 LLM - Descripci\u00f3n Avatar",
"type": "main",
"index": 0
}
]
]
},
"2.1 LLM - Descripci\u00f3n Avatar": {
"main": [
[
{
"node": "2.2 LLM - Gui\u00f3n con Emociones",
"type": "main",
"index": 0
}
]
]
},
"2.2 LLM - Gui\u00f3n con Emociones": {
"main": [
[
{
"node": "2.3 Notificar - Aprobar Gui\u00f3n",
"type": "main",
"index": 0
}
]
]
},
"2.3 Notificar - Aprobar Gui\u00f3n": {
"main": [
[
{
"node": "3.0 LLM - Prompt Cinematogr\u00e1fico",
"type": "main",
"index": 0
}
]
]
},
"3.0 LLM - Prompt Cinematogr\u00e1fico": {
"main": [
[
{
"node": "3.1 LLM - Escenas Detalladas",
"type": "main",
"index": 0
}
]
]
},
"3.1 LLM - Escenas Detalladas": {
"main": [
[
{
"node": "4.0 FLUX - Generar Avatar",
"type": "main",
"index": 0
}
]
]
},
"4.0 FLUX - Generar Avatar": {
"main": [
[
{
"node": "4.1 FLUX - Storyboard (Loop)",
"type": "main",
"index": 0
}
]
]
},
"4.1 FLUX - Storyboard (Loop)": {
"main": [
[
{
"node": "4.2 Notificar - Aprobar Storyboard",
"type": "main",
"index": 0
}
]
]
},
"4.2 Notificar - Aprobar Storyboard": {
"main": [
[
{
"node": "5.0 InVideo - Crear Video Base",
"type": "main",
"index": 0
}
]
]
},
"5.0 InVideo - Crear Video Base": {
"main": [
[
{
"node": "5.1 \u00bfVoz Autom\u00e1tica OK?",
"type": "main",
"index": 0
}
]
]
},
"5.1 \u00bfVoz Autom\u00e1tica OK?": {
"main": [
[
{
"node": "6.0 Runway - Tomas Relleno",
"type": "main",
"index": 0
}
],
[
{
"node": "5.2 ElevenLabs - Regenerar Voz",
"type": "main",
"index": 0
}
]
]
},
"5.2 ElevenLabs - Regenerar Voz": {
"main": [
[
{
"node": "6.0 Runway - Tomas Relleno",
"type": "main",
"index": 0
}
]
]
},
"6.0 Runway - Tomas Relleno": {
"main": [
[
{
"node": "7.0 Drive - Subir Assets para Edici\u00f3n",
"type": "main",
"index": 0
}
]
]
},
"7.0 Drive - Subir Assets para Edici\u00f3n": {
"main": [
[
{
"node": "7.1 Notificar - Listo para CapCut",
"type": "main",
"index": 0
}
]
]
},
"7.1 Notificar - Listo para CapCut": {
"main": [
[
{
"node": "8.0 Notificar - Revisi\u00f3n Cliente",
"type": "main",
"index": 0
}
]
]
},
"8.0 Notificar - Revisi\u00f3n Cliente": {
"main": [
[
{
"node": "9.0 Drive - Entrega Final",
"type": "main",
"index": 0
}
]
]
},
"9.0 Drive - Entrega Final": {
"main": [
[
{
"node": "9.1 Notificar - Entrega Completa",
"type": "main",
"index": 0
}
]
]
},
"9.1 Notificar - Entrega Completa": {
"main": [
[
{
"node": "Respuesta Final",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"staticData": null,
"tags": [
{
"name": "video-automation",
"createdAt": "2026-03-26T00:00:00.000Z",
"updatedAt": "2026-03-26T00:00:00.000Z"
},
{
"name": "pulpo",
"createdAt": "2026-03-26T00:00:00.000Z",
"updatedAt": "2026-03-26T00:00:00.000Z"
}
],
"triggerCount": 0,
"updatedAt": "2026-03-26T00:00:00.000Z",
"versionId": "1"
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
googleDriveOAuth2ApihttpHeaderAuthopenAiApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Video Ads Automation - Real Estate. Uses openAi, telegram, httpRequest, googleDrive. Webhook trigger; 24 nodes.
Source: https://gist.github.com/MarinaRobles/17316f05c72803fd178589fb0d178f03 — 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.
Listens for completed Fireflies transcripts, qualifies whether a proposal is needed using OpenAI, drafts structured proposal content, populates a Google Doc template, converts to PDF, and sends it to
Voice Note -> Veo 3 AD. Uses telegramTrigger, telegram, openAi, httpRequest. Event-driven trigger; 49 nodes.
Transforms provider documentation (URLs) into an auditable, enforceable multicloud security control baseline. It: Fetches and sanitizes HTML Uses AI to extract security requirements* (strict 3-line TX
Bubu Telegram Companion. Uses httpRequest, openAi, errorTrigger, telegram. Webhook trigger; 31 nodes.
This workflow turns a Telegram bot into an AI-powered lyrics assistant. Users send a command plus a lyrics URL, and the flow downloads, cleans, and analyzes the text, then replies on Telegram with tra