Saltar al contenido

Workflow de Testimonios Automatizado

Automatiza la recolección, validación, mejora con IA, generación de imagen y almacenamiento de testimonios. Notifica al equipo y gestiona la publicación en redes sociales.

AIn8n 34 nodos 12 tipos conectado
Cargando workflow...

Nodos

StickyNote Webhook Code Set OpenAi N8n-nodes-htmlcsstoimage.htmlCssToImage HttpRequest GoogleDrive GoogleSheets Slack ScheduleTrigger If

Herramientas

Webhook OpenAI HTML/CSS to Image Google Drive Google Sheets Slack

Detalles

ID
10135
Nodos
34
Conex.
Tipos
12

Pertenece a:

¿Qué hace este workflow?

Este workflow transforma radicalmente la forma en que tu empresa gestiona los testimonios de clientes. Desde la recepción inicial a través de un webhook, el sistema valida la información, la mejora automáticamente utilizando OpenAI para refinar el texto y el tono, y luego genera una imagen atractiva a partir de una plantilla HTML/CSS. Una vez aprobado, el testimonio y su imagen se almacenan de forma segura en Google Drive y se registran en Google Sheets, manteniendo un control exhaustivo. El equipo es notificado en Slack, y el workflow incluso gestiona la publicación en redes sociales de los testimonios aprobados y aún no publicados. Esto asegura que la valiosa prueba social de tu marca esté siempre actualizada y visible, sin requerir intervención manual constante. Elimina la carga administrativa de un proceso crucial, permitiendo a tu equipo de marketing centrarse en la estrategia en lugar de la ejecución repetitiva. Ahorra horas semanales en la gestión de contenido y garantiza una calidad consistente en todos tus materiales de marketing.

¿Cómo funciona?

Este workflow usa 34 nodos conectados con 12 tipos diferentes: StickyNote, Webhook, Code, Set, OpenAi y 7 más. La estructura está totalmente conectada — listo para importar.

¿Para quién es?

Diseñado para empresas de Agencias de Marketing y equipos de Marketing & Email. Nivel avanzado — recomendado para usuarios experimentados. Alto valor de negocio: automatiza una tarea recurrente con impacto directo.

¿Lo quieres en tu empresa?

Lo implementamos por ti end-to-end: integración, deploy, mantenimiento y soporte. Consultoría B2B con Genai Sapiens.

Hablemos de tu proyecto

¿Quieres aprender a hacerlo?

Sprints de 30 días con companion IA + comunidad. Aprende n8n, automatización y agentes IA desde cero o nivel avanzado.

Ver formación Momentum

Workflows similares

\n\n\n
\n
\"
\n
\n \n
\n ★★★★★\n
\n \n
\n \"${escapeHtml(data.testimonial)}\"\n
\n \n
\n
\n \"${escapeHtml(data.name)}\"\n
${initials}
\n
\n
\n

${escapeHtml(data.name)}

\n

${escapeHtml(data.designation)}

\n
\n
\n \n
\n YOUR BRAND\n
\n
\n\n`;\n \n // Generate a unique filename\n const fileName = `${data.name.replace(/\\s+/g, '_')}_Testimonial_${new Date().getTime()}.png`;\n \n // Return the HTML and filename\n return {\n json: {\n ...data, // Keep all previous data\n html: html, // Add HTML template\n fileName: fileName // Add filename for later use\n }\n };\n});"},"typeVersion":2},{"id":"50e726ce-705a-4bc4-a98e-f0653a26ad47","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[1584,-80],"parameters":{"color":7,"width":256,"height":427,"content":"## 📸 HTML TO IMAGE CONVERSION\n\n**Service:**(https://htmlcsstoimg.com)\n\n**What it does:**\n- Converts HTML template to PNG image\n- Renders at 800x600px\n- Returns image URL"},"typeVersion":1},{"id":"abad8276-3b3e-4414-ad1d-7c4105e86d03","name":"HTML/CSS to Image","type":"n8n-nodes-htmlcsstoimage.htmlCssToImage","position":[1632,192],"parameters":{"html_content":"={{ $json.html }}"},"credentials":{"htmlcsstoimgApi":{"id":"YOUR_HTMLCSSTOIMG_API_KEY","name":"Htmlcsstoimg API"}},"typeVersion":1},{"id":"1c06771d-8cb7-4870-b3a1-a6960ffd0029","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[1856,-80],"parameters":{"color":7,"width":288,"height":411,"content":"## ⬇️ DOWNLOAD IMAGE\n\n**What it does:**\n- Fetches PNG from URL\n- Downloads as binary file\n- Prepares for Google Drive upload\n\n**HTTP Request Settings:**\n- Method: GET\n- URL: From previous node\n- Response: Binary file format\n"},"typeVersion":1},{"id":"94929251-c783-4ede-9710-6aff9fc59ea1","name":"Download Image","type":"n8n-nodes-base.httpRequest","position":[1920,192],"parameters":{"url":"={{ $json.image_url }}","options":{"response":{"response":{"responseFormat":"file"}}}},"typeVersion":4.2},{"id":"b79caf76-ec04-4a57-90d7-7ae3ff802e2e","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[2160,-112],"parameters":{"color":7,"width":288,"height":443,"content":"## ☁️ GOOGLE DRIVE UPLOAD\n\n**What it does:**\n- Uploads PNG to Google Drive\n- Saves to \"testimonial data\" folder\n- Uses dynamic filename from HTML node\n- Returns shareable link and Drive ID\n\n**File Name Format:**\nCustomerName_Testimonial_Timestamp.png\n"},"typeVersion":1},{"id":"e028a171-81b8-4120-b443-414fbd77dc46","name":"Upload to Google Drive","type":"n8n-nodes-base.googleDrive","position":[2208,192],"parameters":{"name":"={{ $('Generate HTML Template').item.json.fileName }}","driveId":{"__rl":true,"mode":"list","value":"My Drive","cachedResultUrl":"https://drive.google.com/drive/my-drive","cachedResultName":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_DRIVE_FOLDER_ID","cachedResultUrl":"https://drive.google.com/drive/folders/YOUR_GOOGLE_DRIVE_FOLDER_ID","cachedResultName":"testimonial data"}},"credentials":{"googleDriveOAuth2Api":{"id":"YOUR_GOOGLE_DRIVE_OAUTH2_API_KEY","name":"Google Drive OAuth2"}},"typeVersion":3},{"id":"7990f760-83ad-483c-adea-2f9eac6020d7","name":"Update Google Sheet","type":"n8n-nodes-base.googleSheets","position":[2544,192],"parameters":{"columns":{"value":{"Name":"={{ $('Generate HTML Template').item.json.name }}","Email":"={{ $('Generate HTML Template').item.json.email }}","Source":"={{ $('Generate HTML Template').item.json.source }}","Status":"Pending Approval","Drive ID":"={{ $json.id }}","Enhanced":"={{ $('Generate HTML Template').item.json.enhanced ? 'Yes' : 'No' }}","Timestamp":"={{ $('Generate HTML Template').item.json.timestamp }}","Image Link":"={{ $json.webViewLink }}","Designation":"={{ $('Generate HTML Template').item.json.designation }}","Testimonial":"={{ $('Generate HTML Template').item.json.testimonial }}","Original Length":"={{ $('Generate HTML Template').item.json.originalLength }}","Original Testimonial":"={{ $('Generate HTML Template').item.json.originalTestimonial }}"},"schema":[{"id":"Timestamp","type":"string","display":true,"required":false,"displayName":"Timestamp","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Name","type":"string","display":true,"required":false,"displayName":"Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Designation","type":"string","display":true,"required":false,"displayName":"Designation","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Testimonial","type":"string","display":true,"required":false,"displayName":"Testimonial","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Original Testimonial","type":"string","display":true,"required":false,"displayName":"Original Testimonial","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Image Link","type":"string","display":true,"required":false,"displayName":"Image Link","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Drive ID","type":"string","display":true,"removed":false,"required":false,"displayName":"Drive ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Status","type":"string","display":true,"required":false,"displayName":"Status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Email","type":"string","display":true,"required":false,"displayName":"Email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Original Length","type":"string","display":true,"required":false,"displayName":"Original Length","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Enhanced","type":"string","display":true,"required":false,"displayName":"Enhanced","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Source","type":"string","display":true,"required":false,"displayName":"Source","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Posted to Social","type":"string","display":true,"removed":false,"required":false,"displayName":"Posted to Social","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Posted At","type":"string","display":true,"removed":false,"required":false,"displayName":"Posted At","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Drive ID"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"list","value":1358321955,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_ID_HERE/edit#gid=1358321955","cachedResultName":"Testimonial Database"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEETS_ID_HERE","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_ID_HERE/edit?usp=drivesdk","cachedResultName":"Feedback Log"}},"credentials":{"googleSheetsOAuth2Api":{"id":"YOUR_GOOGLE_SHEETS_OAUTH2_API_KEY","name":"Google Sheets OAuth2"}},"typeVersion":4.4},{"id":"496bcc78-6f79-4719-aaf6-14f83c27e13b","name":"Sticky Note10","type":"n8n-nodes-base.stickyNote","position":[2768,-48],"parameters":{"color":7,"width":272,"height":395,"content":"## 📢 SLACK NOTIFICATION\n\n**Notification Includes:**\n✓ Customer name, role, email\n✓ Enhanced testimonial\n✓ Original testimonial (comparison)\n✓ Image preview link\n✓ Database status\n✓ Action checklist\n"},"typeVersion":1},{"id":"1baf7d5d-478f-4d8c-9fe1-4b0a1947109e","name":"Send Slack Notification","type":"n8n-nodes-base.slack","position":[2832,192],"webhookId":"","parameters":{"text":"=🎉 *New Testimonial Received!*\n\n*Customer Details:*\n- Name: {{ $('Generate HTML Template').item.json.name }}\n- Role: {{ $('Generate HTML Template').item.json.designation }}\n- Email: {{ $('Generate HTML Template').item.json.email }}\n\n*Testimonial:*\n_\"{{ $('Generate HTML Template').item.json.testimonial }}\"_\n\n*Original:*\n_\"{{ $('Generate HTML Template').item.json.originalTestimonial }}\"_\n\n*Image Preview:*\n{{ $('Upload to Google Drive').item.json.webViewLink }}\n\n*Database:*\nStatus: {{ $json.Status }}\nSheet: [View Testimonial Database](https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/edit)\n\n*Actions Required:*\n1. Review the testimonial and image\n2. Update status in Google Sheet to \"Approved\" or \"Rejected\"\n3. Approved testimonials will auto-post to social media\n\n---\n_Submitted via webhook at {{ $('Generate HTML Template').item.json.timestamp }}_","select":"channel","channelId":{"__rl":true,"mode":"list","value":"SLACK_CHANNEL_ID","cachedResultName":"SLACK_CHANNEL_NAME"},"otherOptions":{}},"credentials":{"slackApi":{"id":"YOUR_SLACK_API_KEY","name":"Slack API"}},"typeVersion":2.2},{"id":"f95c7659-6e59-468b-9a53-4047a8e2f337","name":"Sticky Note11","type":"n8n-nodes-base.stickyNote","position":[1184,512],"parameters":{"color":7,"width":368,"height":411,"content":"## ⏰ SCHEDULE TRIGGER - APPROVAL CHECKER\n\n**Purpose:** Automated approval monitoring\n\n**Trigger:** Every 5 minutes\n\n**What it does:**\n- Checks Google Sheet for approved testimonials\n- Identifies testimonials not yet posted\n- Triggers social media posting workflow"},"typeVersion":1},{"id":"93107afd-1e32-4f86-928a-baf2e9c5a24c","name":"Every 5 Minutes","type":"n8n-nodes-base.scheduleTrigger","position":[1280,784],"parameters":{"rule":{"interval":[{"field":"minutes"}]}},"typeVersion":1.2},{"id":"75ff904f-6a28-459a-999c-f959985088ee","name":"Sticky Note12","type":"n8n-nodes-base.stickyNote","position":[1568,576],"parameters":{"color":7,"width":320,"height":347,"content":"## 📖 READ DATABASE\n\n**Data Retrieved:**\n- All testimonial records\n- Status column (Approved/Pending/Rejected)\n- Posted to Social column\n- Drive ID for matching\n"},"typeVersion":1},{"id":"f5180c82-5bc1-4676-9e57-08e65ff741ae","name":"Read Google Sheet","type":"n8n-nodes-base.googleSheets","position":[1616,784],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":1358321955,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=1358321955","cachedResultName":"Testimonial Database"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit?usp=drivesdk","cachedResultName":"Feedback Log"}},"credentials":{"googleSheetsOAuth2Api":{"id":"YOUR_GOOGLE_SHEETS_OAUTH2_API_KEY","name":"Google Sheets OAuth2"}},"typeVersion":4.4},{"id":"2a5196a0-de9c-48cc-8e48-805c2228ddf7","name":"Sticky Note13","type":"n8n-nodes-base.stickyNote","position":[1904,528],"parameters":{"color":7,"width":320,"height":395,"content":"## ✔️ CONDITIONAL FILTER\n\n**What it does:**\n- Filters testimonials based on conditions\n- Only passes approved testimonials\n- Excludes already posted ones\n\n**Logic:**\n- TRUE path: Ready to post\n- FALSE path: Skip (not approved or already posted)\n"},"typeVersion":1},{"id":"f516c987-5dac-4580-abf1-a29c111e5b5e","name":"IF Approved & Not Posted","type":"n8n-nodes-base.if","position":[1984,784],"parameters":{"options":{},"conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"status-check","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.Status }}","rightValue":"Approved"},{"id":"not-posted","operator":{"type":"string","operation":"empty","singleValue":true},"leftValue":"={{ $json['Posted to Social'] }}","rightValue":"Yes"}]}},"typeVersion":2},{"id":"96ecfaa0-9c6d-4711-941c-4cdeb8397026","name":"Sticky Note14","type":"n8n-nodes-base.stickyNote","position":[2240,432],"parameters":{"color":7,"width":320,"height":395,"content":"## 📱 SOCIAL MEDIA READY NOTIFICATION\n\n**Notification Contains:**\n✓ Customer details\n✓ Enhanced testimonial\n✓ Original testimonial\n✓ Image preview link\n✓ **Ready-to-post social media text**\n✓ Hashtags included\n"},"typeVersion":1},{"id":"9284d544-2cf9-4d67-830e-ef3de1990efb","name":"Notify Ready to Post","type":"n8n-nodes-base.slack","position":[2304,672],"webhookId":"","parameters":{"text":"=✅ *Testimonial Ready for Social Media!*\n\n*Customer Details:*\n- Name: {{ $json.Name }}\n- Role: {{ $json.Designation }}\n- Email: {{ $json.Email }}\n\n*Testimonial:*\n_\"{{ $json.Testimonial }}\"_\n\n*Original:*\n_\"{{ $json['Original Testimonial'] }}\"_\n\n*View Image:*\n{{ $json['Image Link'] }}\n\n---\n\n*📱 Ready-to-Post Social Media Text:*\n\n🌟 Hear what our clients say!\n\n\"{{ $json.Testimonial }}\"\n\n— {{ $json.Name }}, {{ $json.Designation }}\n\n#ClientSuccess #Testimonial #CustomerReview\n\n---\n\n*Actions Required:*\n1. Copy the text above\n2. Post to Twitter & LinkedIn manually\n3. This testimonial will be marked as processed\n\n_Automated by n8n • {{ $now.format('MMM DD, YYYY @ HH:mm') }}_","select":"channel","channelId":{"__rl":true,"mode":"list","value":"SLACK_CHANNEL_ID","cachedResultName":"SLACK_CHANNEL_NAME"},"otherOptions":{}},"credentials":{"slackApi":{"id":"YOUR_SLACK_API_KEY","name":"Slack API"}},"typeVersion":2.3},{"id":"e63a79cc-2313-4d65-a349-b261dd17fecd","name":"Sticky Note15","type":"n8n-nodes-base.stickyNote","position":[2592,512],"parameters":{"color":7,"width":336,"height":315,"content":"## 🔄 MARK AS PROCESSED\n\n**What it does:**\n- Updates Google Sheet record\n- Marks testimonial as processed\n- Adds timestamp\n\n\n"},"typeVersion":1},{"id":"6b7e87eb-7958-4bab-bde9-db1df08c3148","name":"Mark as Posted","type":"n8n-nodes-base.googleSheets","position":[2656,672],"parameters":{"columns":{"value":{"Drive ID":"={{ $('IF Approved & Not Posted').item.json[\"Drive ID\"] }}","Posted At":"={{ $now.toISO() }}","Posted to Social":"Ready - Manual Post Required"},"schema":[{"id":"Timestamp","type":"string","display":true,"required":false,"displayName":"Timestamp","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Name","type":"string","display":true,"required":false,"displayName":"Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Designation","type":"string","display":true,"required":false,"displayName":"Designation","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Testimonial","type":"string","display":true,"required":false,"displayName":"Testimonial","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Original Testimonial","type":"string","display":true,"required":false,"displayName":"Original Testimonial","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Image Link","type":"string","display":true,"required":false,"displayName":"Image Link","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Drive ID","type":"string","display":true,"removed":false,"required":false,"displayName":"Drive ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Status","type":"string","display":true,"required":false,"displayName":"Status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Email","type":"string","display":true,"required":false,"displayName":"Email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Original Length","type":"string","display":true,"required":false,"displayName":"Original Length","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Enhanced","type":"string","display":true,"required":false,"displayName":"Enhanced","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Source","type":"string","display":true,"required":false,"displayName":"Source","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Posted to Social","type":"string","display":true,"required":false,"displayName":"Posted to Social","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Posted At","type":"string","display":true,"required":false,"displayName":"Posted At","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Drive ID"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":1358321955,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_ID_HERE/edit#gid=1358321955","cachedResultName":"Testimonial Database"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEETS_ID_HERE","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_ID_HERE/edit?usp=drivesdk","cachedResultName":"Feedback Log"}},"credentials":{"googleSheetsOAuth2Api":{"id":"YOUR_GOOGLE_SHEETS_OAUTH2_API_KEY","name":"Google Sheets OAuth2"}},"typeVersion":4.4},{"id":"bf68641b-18b6-4fe7-ba2e-bf418f44aef8","name":"Sticky Note9","type":"n8n-nodes-base.stickyNote","position":[2464,-32],"parameters":{"color":7,"width":288,"height":363,"content":"## 📊 DATABASE UPDATE\n\n**Data Saved:**\n✓ Timestamp, Name, Designation, Email\n✓ Original + Enhanced testimonial\n✓ Image link (shareable)\n✓ Status: \"Pending Approval\"\n✓ Enhancement metadata\n✓ Source tracking\n"},"typeVersion":1},{"id":"564a5664-46e7-417c-b01c-ffc7f761184b","name":"Sticky Note16","type":"n8n-nodes-base.stickyNote","position":[-896,-128],"parameters":{"color":7,"width":368,"height":560,"content":"## 📋 **SETUP CREDENTIALS FIRST**\n\n### **Required API Credentials:**\n\n#### 1. **OpenAI API** 🤖\n- Sign up at: https://platform.openai.com\n- Get API key from dashboard\n\n#### 2. **HTML/CSS to Image API** 📸\n- Sign up at: https://htmlcsstoimg.com\n\n#### 3. **Google Drive OAuth2** ☁️\n- Enable Google Drive API in Google Cloud Console\n\n#### 4. **Google Sheets OAuth2** 📊\n- Use same Google Cloud project\n\n#### 5. **Slack API** 💬\n- Create Slack App at: https://api.slack.com/apps\n"},"typeVersion":1},{"id":"4be49892-0a67-4eb2-8cc9-c18b92559a76","name":"Sticky Note17","type":"n8n-nodes-base.stickyNote","position":[-1312,-48],"parameters":{"color":7,"width":384,"height":480,"content":"## 🧪 **TEST WORKFLOW**\n\n**Set Headers:**\n - `Content-Type`: `application/json`\n**Paste this in Body (raw JSON):**\n\n```json\n{\n \"name\": \"Sarah Johnson\",\n \"designation\": \"Marketing Director\",\n \"photo_url\": \"https://i.pravatar.cc/400?img=5\",\n \"testimonial_text\": \"Working with this team was amazing!\",\n \"email\": \"sample@gmail.com\"\n}\n```\n\n### **Expected Result:**\n✅ Testimonial processed in ~15-30 seconds\n✅ Image uploaded to Google Drive\n✅ Entry added to Google Sheets\n✅ Slack notification sent\n\n"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"","connections":{"Set AI Prompt":{"main":[[{"node":"OpenAI Enhancement","type":"main","index":0}]]},"Download Image":{"main":[[{"node":"Upload to Google Drive","type":"main","index":0}]]},"Data Validation":{"main":[[{"node":"Set AI Prompt","type":"main","index":0}]]},"Every 5 Minutes":{"main":[[{"node":"Read Google Sheet","type":"main","index":0}]]},"Webhook Trigger":{"main":[[{"node":"Data Validation","type":"main","index":0}]]},"HTML/CSS to Image":{"main":[[{"node":"Download Image","type":"main","index":0}]]},"Read Google Sheet":{"main":[[{"node":"IF Approved & Not Posted","type":"main","index":0}]]},"OpenAI Enhancement":{"main":[[{"node":"Extract AI Response","type":"main","index":0}]]},"Extract AI Response":{"main":[[{"node":"Generate HTML Template","type":"main","index":0}]]},"Update Google Sheet":{"main":[[{"node":"Send Slack Notification","type":"main","index":0}]]},"Notify Ready to Post":{"main":[[{"node":"Mark as Posted","type":"main","index":0}]]},"Generate HTML Template":{"main":[[{"node":"HTML/CSS to Image","type":"main","index":0}]]},"Upload to Google Drive":{"main":[[{"node":"Update Google Sheet","type":"main","index":0}]]},"IF Approved & Not Posted":{"main":[[{"node":"Notify Ready to Post","type":"main","index":0}]]}}}