AutomationFlowsAI & RAG › Marketing Agent

Marketing Agent

Marketing Agent. Uses httpRequest, openAi, agent, googleSheetsTool. Webhook trigger; 28 nodes.

Webhook trigger★★★★☆ complexityAI-powered28 nodesHttp RequestOpen AiAgentGoogle Sheets ToolLm Chat Open AiTool Workflow
AI & RAG Trigger: Webhook Nodes: 28 Complexity: ★★★★☆ AI nodes: yes

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 →

Download .json
{
  "name": "Marketing Agent",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.tavily.com/search",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "<redacted-credential>"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"query\": \"{{ $json.message.content }}\",\n  \"topic\": \"general\",\n  \"search_depth\": \"basic\",\n  \"chunks_per_source\": 3,\n  \"max_results\": 1,\n  \"time_range\": null,\n  \"days\": 7,\n  \"include_answer\": true,\n  \"include_raw_content\": false,\n  \"include_images\": false,\n  \"include_image_descriptions\": false,\n  \"include_domains\": [],\n  \"exclude_domains\": []\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -20,
        320
      ],
      "id": "61277308-4adf-4327-bb5e-a2fb33a03e6c",
      "name": "HTTP Request"
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4.1-mini-2025-04-14",
          "mode": "list",
          "cachedResultName": "GPT-4.1-MINI-2025-04-14"
        },
        "messages": {
          "values": [
            {
              "content": "={{ $json.data }}"
            },
            {
              "content": "##Role\nYour are part of a social media content generating system\n\n##Task\nYour job is to take the scraped markdown data of a site relating to the content a user wants to generate.\n\nI want you to simply output a summary of the data and what we can actually focus on. Don't mention the content just give insights\n\nOutput just just the summary nothing else",
              "role": "system"
            }
          ]
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        460,
        320
      ],
      "id": "7fc53b73-0b48-4d0c-8c21-7bff52ec7cb9",
      "name": "OpenAI",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.apify.com/v2/acts/apify~instagram-post-scraper/run-sync-get-dataset-items?token=apify_api_AGYrXzab6tDcZqqRDWwNDPUaExvdv14v76eG",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\n    \"resultsLimit\": 20,\n    \"skipPinnedPosts\": false,\n    \"username\": [\n        \"theaifield\",\n        \"evolving.ai\",\n        \"ai.sources\",\n        \"ai.innovationshub\"\n    ]\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        0,
        520
      ],
      "id": "6e54b243-413f-4047-89a5-885ce61e3c3d",
      "name": "HTTP Request1"
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4.1-mini-2025-04-14",
          "mode": "list",
          "cachedResultName": "GPT-4.1-MINI-2025-04-14"
        },
        "messages": {
          "values": [
            {
              "content": "=caption: {{ $json.caption[0] }} \nComment count: {{ $json.commentsCount }}\nFirst comment:{{ $json.firstComment }} "
            },
            {
              "content": "##Role\nYour are part of a social media content generating system\n\n##Task\nYour job is to take the scraped instagram post data and create a summary. You will receive all of the posts info like the description, comments, likes etc. The data has been aggregated into a long list of 80 captions, 80 sets of comments counts and 80 first comments\n\nI want you to simply output a summary of the data and what we can actually focus on. Don't mention the content just give insights. Dont just anaylse the data and give an output actually look at the content and give us legit topic to focus on\n\nOutput just just the summary nothing else",
              "role": "system"
            }
          ]
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        440,
        520
      ],
      "id": "19be51ba-edbb-4fed-ac4f-4579120871e2",
      "name": "OpenAI1",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=summary: {{ $('Summarise').item.json.message.content }}\n\nPrompt: {{ $json.body.message }}",
        "options": {
          "systemMessage": "##Role\nYou are part of a social media marketing system and you are responsible for creating social media posts\n\n##Task\nYour job is to take a summary of current events aswell as the user prompt which will be the type of post they are looking to generate and create a post.\n\nYou will first use the image_gen tool to create an image for the post. Simply input into. the tool a description of the image you want to generate and it will return to you an image link\n\nNext i want you. to generate a caption and title for the post we are trying to generate. make sure to include hashtags in the caption. once you ave this input into the google sheet aswell as the platform that it will be posted on which will be defined in the user prompt and also the image link you got"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.8,
      "position": [
        1720,
        540
      ],
      "id": "d394e369-689c-4738-b213-0f6855a3fd87",
      "name": "AI Agent"
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "1FtyB3a5lqXj91weI-XALq1B4mqI2vQIYWTZgrJs0j9k",
          "mode": "list",
          "cachedResultName": "Social media",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1FtyB3a5lqXj91weI-XALq1B4mqI2vQIYWTZgrJs0j9k/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1FtyB3a5lqXj91weI-XALq1B4mqI2vQIYWTZgrJs0j9k/edit#gid=0"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Platform": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Platform', ``, 'string') }}",
            "Title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', ``, 'string') }}",
            "Image": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Image', ``, 'string') }}",
            "Date": "={{ $now }}",
            "Caption": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Caption', ``, 'string') }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "Platform",
              "displayName": "Platform",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Title",
              "displayName": "Title",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Caption",
              "displayName": "Caption",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "Image",
              "displayName": "Image",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "displayName": "Date",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheetsTool",
      "typeVersion": 4.5,
      "position": [
        2060,
        740
      ],
      "id": "5779fc7a-c282-4aa1-b466-5361296d343c",
      "name": "Google Sheets",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "gpt-4.1-mini-2025-04-14",
          "mode": "list",
          "cachedResultName": "gpt-4.1-mini-2025-04-14"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        1660,
        760
      ],
      "id": "04e43923-fa23-46eb-bc76-a0acef37ec0b",
      "name": "OpenAI Chat Model",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "name": "Image_gen",
        "description": "This tool will generate an image to go along with the social media post",
        "workflowId": {
          "__rl": true,
          "value": "Y45Md1N06lmmCzDY",
          "mode": "list",
          "cachedResultName": "Image gen"
        },
        "workflowInputs": {
          "mappingMode": "defineBelow",
          "value": {
            "description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('description', ``, 'string') }}"
          },
          "matchingColumns": [
            ""
          ],
          "schema": [
            {
              "id": "description",
              "displayName": "description",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "typeVersion": 2.1,
      "position": [
        1900,
        760
      ],
      "id": "78d5f9bb-f3a0-4467-86c2-8287f031e5b3",
      "name": "Image gen"
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4.1-mini-2025-04-14",
          "mode": "list",
          "cachedResultName": "GPT-4.1-MINI-2025-04-14"
        },
        "messages": {
          "values": [
            {
              "content": "=Instagram posts summary: {{ $json.message.content }}\n\nWebsite summary: {{ $('OpenAI').item.json.message.content }}"
            },
            {
              "content": "##Role\nYou are part of a social media marketing system\n\n##Task\nYour job is to take a summary of website data aswell as instagram data and fuse it togtehr to create a summary for a piece of social media content.\n\nFocus on what ares we should focus on and what makes the most sense.\n\nOutput just the summary nothing else"
            }
          ]
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        820,
        520
      ],
      "id": "7c0ca24c-b5ce-49d2-8174-54636bed7432",
      "name": "Summarise",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "709f767a-fee7-47a4-91de-1a55289a0366",
              "leftValue": "={{ $json.message.content }}",
              "rightValue": "blog",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        1460,
        520
      ],
      "id": "7320eb53-f8d4-4b74-9dae-da52ed7fce92",
      "name": "If"
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4.1-mini",
          "mode": "list",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "messages": {
          "values": [
            {
              "content": "=Summary: {{ $('Summarise').item.json.message.content }}\n\nUser prompt: {{ $json.body.message }}"
            },
            {
              "content": "##Role\nYou are part of a social media marketing system and you are responsible for creating Blog posts\n\n##Task\nI want you to take the summary of scraped web data aswell as the users prompt and create a plan for a blog post.\n\nLayout the plan in sections with bullet points for each section and also a description at the beginning",
              "role": "system"
            }
          ]
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        1700,
        -60
      ],
      "id": "25058832-6a00-4ebd-bca4-a2e82d72a5df",
      "name": "Planning agent",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4.1-mini",
          "mode": "list",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "messages": {
          "values": [
            {
              "content": "=Blog post:  {{ $json.message.content }}"
            },
            {
              "content": "##Role\nYou are part of a social media marketing system and you are responsible for finishing off blog posts\n\n##Task\nI have given you a full blog post, i want you to simply come up with a title and also generate a summary that we can use for a prompt to send to the image_gen tool\n\nUsing this tool will give you back and image url i want you to put this and the title into the google sheet"
            }
          ]
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        1700,
        220
      ],
      "id": "9bc7c2a8-51a0-4cb1-8711-be73ae0149eb",
      "name": "OpenAI4",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "1FtyB3a5lqXj91weI-XALq1B4mqI2vQIYWTZgrJs0j9k",
          "mode": "list",
          "cachedResultName": "Social media",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1FtyB3a5lqXj91weI-XALq1B4mqI2vQIYWTZgrJs0j9k/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1FtyB3a5lqXj91weI-XALq1B4mqI2vQIYWTZgrJs0j9k/edit#gid=0"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Platform": "=Blog",
            "Title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', ``, 'string') }}",
            "Image": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Image', ``, 'string') }}",
            "Date": "={{ $now }}",
            "Caption": "={{ $json.message.content }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "Platform",
              "displayName": "Platform",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Title",
              "displayName": "Title",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Caption",
              "displayName": "Caption",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "Image",
              "displayName": "Image",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "displayName": "Date",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheetsTool",
      "typeVersion": 4.5,
      "position": [
        1780,
        380
      ],
      "id": "4d934ad1-2deb-44b5-8294-bf617a5798c6",
      "name": "Google Sheets1",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "name": "image_gen",
        "workflowId": {
          "__rl": true,
          "value": "Y45Md1N06lmmCzDY",
          "mode": "list",
          "cachedResultName": "Image gen"
        },
        "workflowInputs": {
          "mappingMode": "defineBelow",
          "value": {
            "description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('description', ``, 'string') }}"
          },
          "matchingColumns": [
            "description"
          ],
          "schema": [
            {
              "id": "description",
              "displayName": "description",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "canBeUsedToMatch": true,
              "type": "string",
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "typeVersion": 2.1,
      "position": [
        1960,
        360
      ],
      "id": "172ae54b-5919-48e2-b832-253fa5a3e713",
      "name": "Image gen1"
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4.1-mini-2025-04-14",
          "mode": "list",
          "cachedResultName": "GPT-4.1-MINI-2025-04-14"
        },
        "messages": {
          "values": [
            {
              "content": "=Plan: {{ $json.message.content }}"
            },
            {
              "content": "You're an expert at writing blogs\n\nI want you to take this plan and write a full blog post. keep it human sounding avoiding over the top words",
              "role": "system"
            }
          ]
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        1700,
        80
      ],
      "id": "6294af9d-c0aa-41ad-8ed0-956bc8a73a50",
      "name": "Writing agent",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4.1-mini",
          "mode": "list",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "messages": {
          "values": [
            {
              "content": "=input: {{ $json.body.message }}"
            },
            {
              "content": "I want you to simply look at the input and tell me if it involves a user wnats to create a blog post.\n\nIf it is then output the word \"blog\", if its not then output the word \"not\""
            }
          ]
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        1140,
        520
      ],
      "id": "cc8780d6-d3db-48b4-85e1-b3ab08a420ca",
      "name": "Is a blog post?",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4.1-mini-2025-04-14",
          "mode": "list",
          "cachedResultName": "GPT-4.1-MINI-2025-04-14"
        },
        "messages": {
          "values": [
            {
              "content": "={{ $json.body.message }}"
            },
            {
              "content": "=You will receive a prompt for the user regarding creating a social media post.\nThis may look something like \"i want to create a linkedIn post on ai in customer service\" for example.\n\nYour job is to take that prompt and generate a search query to find information on google to help us create that post.\n\nFor example if the prompt was \"i want to create a linkedIn post on ai in customer service\" then we might need to search up recent ai customer service trends or best platforms to use etc.\n\nPlease output just the simple search query and nothing else.\n\nThis is the current date {{ $now }}",
              "role": "system"
            }
          ]
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        280,
        100
      ],
      "id": "7bec1f22-243e-4185-9d98-286c19557bea",
      "name": "query gen",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "url": "={{ $json.results[0].url }}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        140,
        320
      ],
      "id": "b3617d2a-64bb-4962-9fcd-3b12e65ff697",
      "name": "HTTP Request3"
    },
    {
      "parameters": {
        "html": "={{ $json.data }}",
        "options": {}
      },
      "type": "n8n-nodes-base.markdown",
      "typeVersion": 1,
      "position": [
        300,
        320
      ],
      "id": "1798d20d-0c99-496b-b098-08ed2560661d",
      "name": "Markdown"
    },
    {
      "parameters": {
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "caption"
            },
            {
              "fieldToAggregate": "commentsCount"
            },
            {
              "fieldToAggregate": "firstComment"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [
        220,
        520
      ],
      "id": "577cf8a5-c0d0-4db7-8b33-0f85fc5fa828",
      "name": "Aggregate"
    },
    {
      "parameters": {
        "content": "## Scraping google\n",
        "height": 220,
        "width": 920
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        240
      ],
      "typeVersion": 1,
      "id": "65655e83-87d0-4a01-930f-45ef3a562e23",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "content": "## Scraping Instagram \n",
        "height": 220,
        "width": 920,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        480
      ],
      "typeVersion": 1,
      "id": "f30fc792-d30f-4534-b205-0d8d995182eb",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "content": "## Generating blog post\n",
        "height": 560,
        "width": 420,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        -120
      ],
      "typeVersion": 1,
      "id": "d1316aaa-bf01-4dfc-8855-71196883eb5b",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "content": "## manipulating data\n",
        "height": 220,
        "width": 800,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        780,
        480
      ],
      "typeVersion": 1,
      "id": "1f521b76-ca67-41f3-9de6-9de51cd03274",
      "name": "Sticky Note3"
    },
    {
      "parameters": {
        "content": "## Generating posts\n",
        "height": 420,
        "width": 580,
        "color": 2
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        480
      ],
      "typeVersion": 1,
      "id": "734bb189-e28c-4970-b373-9e6eac9220ec",
      "name": "Sticky Note4"
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "a31cdf97-0036-4129-8921-3e9a971f2d13",
        "responseMode": "responseNode",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        80,
        100
      ],
      "id": "3b2bbe57-4e7d-4c88-bafa-d46b76a716ff",
      "name": "Webhook"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.1,
      "position": [
        2060,
        220
      ],
      "id": "634dc031-7931-4457-98ee-4f7bdf360a5c",
      "name": "Respond to Webhook"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.1,
      "position": [
        2060,
        540
      ],
      "id": "8231618c-f12e-4ac7-9297-30603b7fd124",
      "name": "Respond to Webhook1"
    }
  ],
  "connections": {
    "HTTP Request": {
      "main": [
        [
          {
            "node": "HTTP Request3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI": {
      "main": [
        [
          {
            "node": "HTTP Request1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request1": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI1": {
      "main": [
        [
          {
            "node": "Summarise",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Image gen": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Summarise": {
      "main": [
        [
          {
            "node": "Is a blog post?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Respond to Webhook1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "Planning agent",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Planning agent": {
      "main": [
        [
          {
            "node": "Writing agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI4": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets1": {
      "ai_tool": [
        [
          {
            "node": "OpenAI4",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Image gen1": {
      "ai_tool": [
        [
          {
            "node": "OpenAI4",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Writing agent": {
      "main": [
        [
          {
            "node": "OpenAI4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is a blog post?": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "query gen": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request3": {
      "main": [
        [
          {
            "node": "Markdown",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Markdown": {
      "main": [
        [
          {
            "node": "OpenAI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "OpenAI1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "query gen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "27aad529-6e3b-432d-a9ce-7b3d06d60e0d",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "VbUOH0zWrqmRhpZz",
  "tags": []
}

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.

About this workflow

Marketing Agent. Uses httpRequest, openAi, agent, googleSheetsTool. Webhook trigger; 28 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →