Generar copias publicitarias y llamadas a la acción para productos utilizando GPT-4 para Slack y Airtable

Intermedio

Este es unAI, Marketingflujo de automatización del dominio deautomatización que contiene 10 nodos.Utiliza principalmente nodos como Slack, Airtable, FormTrigger, Agent, LmChatOpenAi, combinando tecnología de inteligencia artificial para lograr automatización inteligente. Usar GPT-4 para generar copias de anuncios de productos y llamadas a la acción para Slack y Airtable

Requisitos previos
  • Bot Token de Slack o URL de Webhook
  • Clave de API de Airtable
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "5aaf4236c70e34e423fbdb2c7b754d19253a933bb1476d548f75848a01e473cf",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "a8a6738c-9269-427d-821c-9793db821d88",
      "name": "Generar Copy Publicitario y CTAs",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1180,
        3040
      ],
      "parameters": {
        "text": "=Generate a catchy 2-sentence ad copy and 3 strong CTAs for the following product.\n\nProduct Name: {{ $json['Product Name'] }}\nFeatures: {{ $json['Product Features'] }}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.9
    },
    {
      "id": "bc9d40c0-758a-490b-9c29-67c901c681c7",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1120,
        3260
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "0b3e78c5-a59f-4eaa-8f10-c5110b64d6e6",
      "name": "Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1760,
        2940
      ],
      "webhookId": "becca932-88e0-45d2-a72a-3ce2c7cb4f2b",
      "parameters": {
        "text": "=Ad copy: \n{{ $json.output.ad_copy }}\n\nCTAs: \n{{ $json.output.ctas }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C08TTV0CC3E",
          "cachedResultName": "all-nathing"
        },
        "otherOptions": {
          "includeLinkToWorkflow": false
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "28bc17c8-1d47-4769-bd2b-38eadf33ad5f",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1360,
        3260
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"ad_copy\": \"Stay refreshed and eco-friendly with the EcoSmart Bottle—your self-cleaning hydration companion that keeps drinks ice-cold for a full 24 hours! Join the movement towards a healthier planet with every sip!\",\n  \"ctas\":\n    \"Get Yours Now and Sip Sustainability!\"\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "9ee0cf4b-fa21-46bb-b64f-834da2762fdb",
      "name": "Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1760,
        3240
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appjaqV0O7FkXT2qj",
          "cachedResultUrl": "https://airtable.com/appjaqV0O7FkXT2qj",
          "cachedResultName": "Table no.1"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblTAvRqVFOo5AVDF",
          "cachedResultUrl": "https://airtable.com/appjaqV0O7FkXT2qj/tblTAvRqVFOo5AVDF",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "CATs": "={{ $json.output.ctas }}",
            "Ad copy": "={{ $json.output.ad_copy }}",
            "Product Name": "={{ $('Product Info Input').item.json['Product Name'] }}",
            "Product Features": "={{ $('Product Info Input').item.json['Product Features'] }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "Product Name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Product Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Features",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Product Features",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Ad copy",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Ad copy",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "CATs",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "CATs",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "typeVersion": 2.1
    },
    {
      "id": "2c548ce7-c10b-47dd-b07d-4f2cc8f48881",
      "name": "Entrada de Información del Producto",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        960,
        3040
      ],
      "webhookId": "70c94b37-904c-4e87-bca8-808cff7840de",
      "parameters": {
        "options": {},
        "formTitle": "Product Info",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Product Name"
            },
            {
              "fieldLabel": "Product Features"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "3fb03bf6-7a54-4aad-afe5-4d4ebee70cda",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -740,
        3280
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 2078,
        "content": "## ✍️ AI Copywriter Agent – From Product Info to Ad Copy + CTAs\n\nInstantly generate ad copy and calls-to-action using GPT based on product details. Ideal for:\n✅ Marketers — generate engaging ad content in seconds\n✅ Founders — test multiple copy angles fast\n✅ Designers — fill mockups with real copy\n\n---\n\n### ⚙️ What's Used\n\n**n8n Nodes:**\nForm Submission → OpenAI (GPT via Tools Agent) → Slack OR Airtable\n\n**External Tools:**\n\n* OpenAI (Chat Model)\n* Slack (Send Message)\n* Airtable (Create Record)\n\n---\n\n### 🔑 Setup – Credentials Needed\n\n* **OpenAI API Key** → Add under OpenAI node credentials\n* **Slack OAuth** → Connect Slack workspace in n8n\n* **Airtable Token** → Add Airtable API key and base/table info\n\n---\n\n### 🚀 Workflow Steps\n\n1. **User submits product info** via form\n2. **GPT generates content** using a custom prompt\n\n   * Output: 2-sentence ad copy + 3 call-to-actions\n3. **Structured parser** extracts clean fields\n4. **Send output to Slack** or **log in Airtable**\n\n   * Choose one or both for distribution/storage\n\n---\n\n### 📤 Slack Output Format\n\n```\n*Ad Copy for EcoSmart Bottle*  \nStay refreshed with the EcoSmart Bottle—self-cleaning tech and 24-hour cold retention keep your drink perfect anytime.\n\n*CTAs:*  \n- Buy Now  \n- Stay Cool All Day  \n- Get Yours Today\n```\n\n---\n\n### 💡 Pro Tips\n\n* Use GPT prompt variations to test different tones (funny, urgent, luxury)\n* Add \"Batch Mode\" with `SplitInBatches` node to process multiple products at once\n* Route output to Slack first for **team review**, then log approved copies in Airtable\n* Use outputs for:\n\n  * Landing pages\n  * Ads (Meta, Google, etc.)\n  * Product cards and banners\n\n---\n\n### 🛠️ Customize It\n\n* Add scoring logic for ad variants\n* Connect to Trello, Notion, or your CMS\n* Store prompt + outputs for future reference\n\n---\n\nThis workflow gives your marketing team a **real-time copy assistant**—just submit a product and watch the ad copy write itself. No writer's block. No delay. Pure automation magic.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "938469cb-f289-4796-9e36-cb7a393edc23",
      "name": "Nota Adhesiva9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -740,
        2940
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ce22eac5-dc26-41ec-bc63-2dbc648335aa",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        900,
        2540
      ],
      "parameters": {
        "width": 620,
        "height": 880,
        "content": "## 🧠 Step 1: Generate Ad Copy & CTAs with AI\n\nThis section transforms raw product info into compelling marketing content using GPT-powered intelligence.\n\n### 🤖 **AI-Powered Copywriting Agent**\n\nThe **Tools Agent** receives structured product input and uses a connected chat model to generate a punchy two-line ad and three strong calls-to-action. Perfect for landing pages, ads, or product cards.\n\n### 🔗 **Generate with OpenAI Chat Model + Structured Output Parser**\n\nThe generation is handled by the **OpenAI Chat Model**, guided by a custom prompt tailored to highlight the product’s name and features.\nThe **Structured Output Parser** ensures the response is clean, labeled, and ready for downstream use (Slack, Airtable, etc.).\n\n> 📌 This step removes the guesswork from copywriting — one form input delivers high-converting messaging at scale.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c8efbf29-0a40-4096-9db8-92ce16ded9c0",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1560,
        2020
      ],
      "parameters": {
        "color": 6,
        "width": 620,
        "height": 1400,
        "content": "## 📤 Step 2: Share & Store Results\n\nThis step delivers the AI-generated content where it's needed—either to your team on Slack or into your structured Airtable database.\n\n### 📨 **Option A: Notify via Slack**\n\nThe **Slack Node** posts the generated ad copy and CTAs directly to a designated Slack channel. This gives your marketing team immediate access to fresh, AI-crafted content.\n\n**Message Format:**\n\n```\n*Ad Copy for {{ $json[\"product_name\"] }}*  \n{{ $json[\"ad_copy\"] }}\n\n*CTAs:*  \n- {{ $json[\"cta1\"] }}  \n- {{ $json[\"cta2\"] }}  \n- {{ $json[\"cta3\"] }}\n```\n\n> 💬 Ideal for fast-paced teams needing instant feedback and collaboration.\n\n### 📊 **Option B: Log to Airtable**\n\nThe **Airtable Node** creates a new record for each product, storing the name, features, ad copy, and CTAs. This builds a searchable history of AI-generated marketing content.\n\n**Logged Fields:**\n\n* Product Name\n* Features\n* Ad Copy\n* CTA 1\n* CTA 2\n* CTA 3\n\n> 📌 Great for long-term tracking, performance analysis, or sharing across systems.\n\nLet me know if you'd like to add approval steps, testing variations, or metrics tracking!\n"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "bc9d40c0-758a-490b-9c29-67c901c681c7": {
      "ai_languageModel": [
        [
          {
            "node": "a8a6738c-9269-427d-821c-9793db821d88",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "2c548ce7-c10b-47dd-b07d-4f2cc8f48881": {
      "main": [
        [
          {
            "node": "a8a6738c-9269-427d-821c-9793db821d88",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "28bc17c8-1d47-4769-bd2b-38eadf33ad5f": {
      "ai_outputParser": [
        [
          {
            "node": "a8a6738c-9269-427d-821c-9793db821d88",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "a8a6738c-9269-427d-821c-9793db821d88": {
      "main": [
        [
          {
            "node": "9ee0cf4b-fa21-46bb-b64f-834da2762fdb",
            "type": "main",
            "index": 0
          },
          {
            "node": "0b3e78c5-a59f-4eaa-8f10-c5110b64d6e6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿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?

Intermedio - Inteligencia Artificial, Marketing

¿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.

Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos10
Categoría2
Tipos de nodos7
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
Yaron Been

Yaron Been

@yaron-nofluff

Building AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34