Generación de contenido de marketing para redes sociales
Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 19 nodos.Utiliza principalmente nodos como If, Set, Code, GoogleDocs, GoogleSheets. Usar GPT-4, Google Sheets y Docs para generar automáticamente contenido de marketing específico de la plataforma
- •Credenciales de API de Google Sheets
- •Clave de API de OpenAI
Nodos utilizados (19)
Categoría
{
"id": "9wHCw6CrpD1hr2jR",
"meta": {
"instanceId": "0dce4a8577fc7818af4d5063da85aecc2e78c224380b158fcc7b79f366de29cf",
"templateCredsSetupCompleted": true
},
"name": "Social Media Marketing Content Generation",
"tags": [
{
"id": "uQd7FWi0SXP9QXfs",
"name": "ConceptRecall",
"createdAt": "2025-08-22T10:41:32.059Z",
"updatedAt": "2025-08-22T10:41:32.059Z"
}
],
"nodes": [
{
"id": "36afa140-35c2-4431-87df-f4129a536b98",
"name": "OpenAI",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
2140,
-820
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4",
"cachedResultName": "GPT-4"
},
"options": {},
"messages": {
"values": [
{
"content": "={{ $json.prompt }}"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "",
"name": "ChatGpt"
}
},
"typeVersion": 1.8
},
{
"id": "2249c864-f1eb-4094-944b-e6244291e18d",
"name": "Activador de Actualización de Estado",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
-820,
-720
],
"parameters": {
"event": "rowUpdate",
"options": {
"columnsToWatch": [
"Status"
]
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "",
"cachedResultName": "Topics"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1R1QpTXinI8zLi5MqoiywTE5Kfr_Eb0i5N9kiJKnKn4w",
"cachedResultUrl": "",
"cachedResultName": "Marketing Content"
}
},
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"id": "",
"name": "Google Sheets"
}
},
"typeVersion": 1
},
{
"id": "b6cdcd63-1ceb-48e1-89e6-4fa81f7ad22e",
"name": "Filtrar Filas con Estado Habilitado",
"type": "n8n-nodes-base.if",
"position": [
-120,
-720
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "52c7fefa-0582-4bab-9e9d-41ebacb8b2ab",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.Status }}",
"rightValue": "Enabled"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "35a85739-721b-41db-8534-e600f2c5675c",
"name": "Obtener Límites de Plataformas Sociales",
"type": "n8n-nodes-base.googleSheets",
"position": [
400,
-740
],
"parameters": {
"options": {
"returnFirstMatch": false
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 106670834,
"cachedResultUrl": "",
"cachedResultName": "Platform Limits"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1R1QpTXinI8zLi5MqoiywTE5Kfr_Eb0i5N9kiJKnKn4w",
"cachedResultUrl": "",
"cachedResultName": "Marketing Content"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "zBY5kSBHNzMp7NUo",
"name": "Google Sheets Read"
}
},
"typeVersion": 4.5
},
{
"id": "e70be485-a1aa-4b79-9e3e-7466503861ba",
"name": "Crear JSON para límites de plataforma",
"type": "n8n-nodes-base.code",
"position": [
1020,
-740
],
"parameters": {
"jsCode": "let obj = {};\n\nfor (const item of $input.all()) {\n const platform = item.json.Platform;\n const min = item.json.Min_Limit;\n const max = item.json.Max_Limit;\n\n obj[platform] = {\n platform,\n min: min,\n max: max\n };\n}\n\n// Return the object inside an array with `json` key (required by n8n)\nreturn [\n {\n json: obj\n }\n];"
},
"typeVersion": 2
},
{
"id": "95b5e43f-8533-4ef6-8511-637df9ac04e2",
"name": "Crear Prompt",
"type": "n8n-nodes-base.set",
"position": [
1680,
-1200
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "0c6acd31-1c0b-4b3b-bd5f-9f61a93fa29a",
"name": "prompt",
"type": "string",
"value": "=You are a marketing content creation AI.\nBased on the provided details, create the requested content in the correct format.\n\nDetails:\nTopic: {{ $('Filter out Enabled Status Row').first().json.Topic }}\nKeywords: {{ $('Filter out Enabled Status Row').first().json.Keyword }}\nTone: {{ $('Filter out Enabled Status Row').first().json.Tone }}\nSocial Platforms: {{ $('Filter out Enabled Status Row').first().json['Social Platform'] }}\n\nCharacter Limits by Platform:\n\nFacebook: {{ $json.Facebook.min }}–{{ $json.Facebook.max }} characters (aim for engaging and concise posts within this range)\n\nInstagram: {{ $json.Instagram.min }}–{{ $json.Instagram.max }} characters (write captivating captions, include hashtags)\n\nTwitter (X): {{ $json.Twitter.min }}–{{ $json.Twitter.max }} characters (strict limit, concise and impactful)\n\nOutput Requirements:\n\nEnsure the post fits within the respective platform's character range (min to max) and follows platform-specific best practices.\n"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "dd2e9db6-353c-4cce-b529-d1011bb5ccfe",
"name": "Crear Nuevo Documento",
"type": "n8n-nodes-base.googleDocs",
"position": [
2960,
-1240
],
"parameters": {
"title": "={{ $('Update Status Trigger').first().json.Topic }} - {{ $now }}",
"folderId": "default"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "2540c189-db5b-4565-b9e1-9449d4410100",
"name": "Actualizar Documento Recién Creado",
"type": "n8n-nodes-base.googleDocs",
"position": [
3620,
-1240
],
"parameters": {
"actionsUi": {
"actionFields": [
{
"text": "={{ $('OpenAI').first().json.message.content }}",
"action": "insert"
}
]
},
"operation": "update",
"documentURL": "={{ $json.id}}"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "8d4d09f7-fdaa-4be5-b6b9-c60cbf9790b4",
"name": "Actualizar Estado a Completado en Hoja",
"type": "n8n-nodes-base.googleSheets",
"position": [
4520,
-460
],
"parameters": {
"columns": {
"value": {
"ID": "={{ $('Filter out Enabled Status Row').first().json.ID }}",
"Status": "Completed"
},
"schema": [
{
"id": "ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Topic",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Topic",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Keyword",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Keyword",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Tone",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Tone",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Social Platform",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Social Platform",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "",
"cachedResultName": "Topics"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1R1QpTXinI8zLi5MqoiywTE5Kfr_Eb0i5N9kiJKnKn4w",
"cachedResultUrl": "",
"cachedResultName": "Marketing Content"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "",
"name": "Google Sheets Read"
}
},
"typeVersion": 4.5
},
{
"id": "4cf64e42-2a59-4c7f-9859-042d7bde3e24",
"name": "Nota Adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1020,
-1880
],
"parameters": {
"width": 940,
"height": 760,
"content": "# Try It Out!\n\nThis n8n workflow automates marketing content creation by generating high-quality, platform-specific posts for social media, blogs, and ad campaigns. It uses AI-driven content generation combined with dynamic templates to produce engaging, SEO-optimized content aligned with your brand voice.\n\n## How it works\n\nThe workflow triggers when the Status column is updated in the Topics Google Sheet.\n\nIt fetches platform-specific character limits to ensure compliance across channels.\n\nA custom AI prompt is created using topic details and platform rules.\n\nOpenAI GPT model generates SEO-friendly content for all selected platforms.\n\nA new Google Document is created to store the content, and the sheet is updated to mark the topic as completed.\n\n## Use cases\n\nAutomate social media copywriting for platforms like Facebook, Instagram, Twitter.\n\nGenerate SEO-optimized blog snippets or ad headlines with minimal effort.\n\nSave time and maintain brand consistency across multiple channels.\n\n## Requirements\n\nOpenAI API (for AI content generation)\n\nGoogle Sheets & Google Docs (for input and storage)"
},
"typeVersion": 1
},
{
"id": "9a8b1fd5-8a5b-4ae7-a325-132117c96d5e",
"name": "Nota Adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-900,
-540
],
"parameters": {
"width": 320,
"height": 220,
"content": "## Update Status Trigger\n\nThis node triggers the automation whenever a row update occurs in the Topics Google Sheet, specifically when the Status column is changed. It initiates the workflow for content generation, making it an essential part of Google Sheets automation and status-based workflow triggers."
},
"typeVersion": 1
},
{
"id": "ec82bc9c-157b-44fa-8a64-bcf1c9604fd3",
"name": "Nota Adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-220,
-540
],
"parameters": {
"width": 320,
"height": 240,
"content": "## Filter Out Enabled Status Row\n\nThis step ensures only rows with the Enabled status proceed, filtering out unnecessary data to optimize workflow automation. By applying conditional logic, it keeps the process efficient and relevant for content creation tasks."
},
"typeVersion": 1
},
{
"id": "6adcdfe0-92ca-4595-a30f-2ac065be7887",
"name": "Nota Adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
300,
-540
],
"parameters": {
"width": 320,
"height": 260,
"content": "## Fetch Social Platform Limits\n\nThis node reads platform-specific content limits such as character count for Twitter, LinkedIn, and Instagram from a Google Sheet. It enables social media content automation by ensuring your marketing posts comply with platform rules before generation."
},
"typeVersion": 1
},
{
"id": "427346e1-9c72-4e50-8517-051a413e43ae",
"name": "Nota Adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
900,
-540
],
"parameters": {
"width": 320,
"height": 240,
"content": "## Create JSON for Platform Limits\n\nHere, the platform limits are converted into structured JSON format for seamless processing in later steps. This transformation is key for accurate workflow automation, making it easy for the AI to reference platform-specific guidelines."
},
"typeVersion": 1
},
{
"id": "0391a8ba-3f0b-49e3-8ca6-dc072850cb44",
"name": "Nota Adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1560,
-1440
],
"parameters": {
"width": 340,
"height": 200,
"content": "## Create Prompt\n\nThis step builds a custom AI prompt using topic details and platform rules. It lays the foundation for effective AI prompt engineering, enabling OpenAI to generate content that is both engaging and platform-ready."
},
"typeVersion": 1
},
{
"id": "5741f277-9e76-40c6-a2a5-9f1392d0214e",
"name": "Nota Adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2100,
-560
],
"parameters": {
"width": 340,
"height": 200,
"content": "## OpenAI (Message Model)\n\nThe OpenAI node uses advanced GPT models to produce SEO-friendly, platform-specific marketing content. This step powers the AI copywriting automation, ensuring the output aligns with brand tone, platform limits, and campaign objectives."
},
"typeVersion": 1
},
{
"id": "23acbbe6-bf71-4780-95d4-001aa818c4bf",
"name": "Nota Adhesiva7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2840,
-1000
],
"parameters": {
"width": 340,
"height": 220,
"content": "## Create New Document\n\nThis node creates a new Google Document to store all generated marketing content. It streamlines Google Docs automation, offering an organized, centralized space for reviewing and managing your AI-powered marketing assets."
},
"typeVersion": 1
},
{
"id": "53ae7f55-e557-4e07-b2b8-ee6a3c347073",
"name": "Nota Adhesiva8",
"type": "n8n-nodes-base.stickyNote",
"position": [
3500,
-1000
],
"parameters": {
"width": 360,
"height": 220,
"content": "## Update Newly Created Document\n\nAfter creating the document, this node updates it with the finalized AI-generated content for each platform. It ensures the document is complete and properly formatted, making it ready for marketing campaigns and team collaboration."
},
"typeVersion": 1
},
{
"id": "c6954d57-c8fa-49ff-93b7-cb953e52f414",
"name": "Nota Adhesiva9",
"type": "n8n-nodes-base.stickyNote",
"position": [
4400,
-780
],
"parameters": {
"width": 360,
"height": 220,
"content": "## Update Status to Completed in Sheet\n\nThe final step updates the Status column in the Google Sheet to Completed, signaling that the topic has been successfully processed. This keeps your content pipeline transparent and supports accurate tracking of marketing workflows."
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "fef355ed-99a3-4539-b179-25316c72d8a3",
"connections": {
"36afa140-35c2-4431-87df-f4129a536b98": {
"main": [
[
{
"node": "dd2e9db6-353c-4cce-b529-d1011bb5ccfe",
"type": "main",
"index": 0
}
]
]
},
"95b5e43f-8533-4ef6-8511-637df9ac04e2": {
"main": [
[
{
"node": "36afa140-35c2-4431-87df-f4129a536b98",
"type": "main",
"index": 0
}
]
]
},
"dd2e9db6-353c-4cce-b529-d1011bb5ccfe": {
"main": [
[
{
"node": "2540c189-db5b-4565-b9e1-9449d4410100",
"type": "main",
"index": 0
}
]
]
},
"2249c864-f1eb-4094-944b-e6244291e18d": {
"main": [
[
{
"node": "b6cdcd63-1ceb-48e1-89e6-4fa81f7ad22e",
"type": "main",
"index": 0
}
]
]
},
"35a85739-721b-41db-8534-e600f2c5675c": {
"main": [
[
{
"node": "e70be485-a1aa-4b79-9e3e-7466503861ba",
"type": "main",
"index": 0
}
]
]
},
"b6cdcd63-1ceb-48e1-89e6-4fa81f7ad22e": {
"main": [
[
{
"node": "35a85739-721b-41db-8534-e600f2c5675c",
"type": "main",
"index": 0
}
]
]
},
"2540c189-db5b-4565-b9e1-9449d4410100": {
"main": [
[
{
"node": "8d4d09f7-fdaa-4be5-b6b9-c60cbf9790b4",
"type": "main",
"index": 0
}
]
]
},
"e70be485-a1aa-4b79-9e3e-7466503861ba": {
"main": [
[
{
"node": "95b5e43f-8533-4ef6-8511-637df9ac04e2",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Creación de contenido, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
ConceptRecall
@conceptrecallConcept Recall is a software development and automation company specializing in AI-driven solutions. We help businesses of all sizes streamline processes and enhance efficiency with custom software, intelligent automation, and powerful AI tools. We have a proven track record of helping Sales & Marketing teams optimize their workflows and achieve their goals. Our expertise lies in leveraging cutting-edge technology to build scalable and sustainable solutions.
Compartir este flujo de trabajo