AutomationFlowsMarketing & Ads › Generate Lead Magnet Ideas From Google Sheets Using Rapidapi AI

Generate Lead Magnet Ideas From Google Sheets Using Rapidapi AI

ByEvoort Solutions @evoortsolutions on n8n.io

This n8n workflow automatically generates lead magnet ideas based on topics and website URLs stored in a Google Sheet. It uses the Lead Magnet Idea Generator AI API to produce relevant, value-driven ideas that marketers can turn into checklists, guides, templates, and more.…

Event trigger★★★★☆ complexity15 nodesHTTP RequestGoogle SheetsGoogle Drive Trigger
Marketing & Ads Trigger: Event Nodes: 15 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #5880 — we link there as the canonical source.

This workflow follows the Google Drive Trigger → Google Sheets 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 →

Download .json
{
  "id": "XbA6Q2NrTmh3RvvK",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Lead Magnet Generation",
  "tags": [],
  "nodes": [
    {
      "id": "0e3082c1-cb3d-4b6e-9367-c3da75a02da5",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1060,
        160
      ],
      "parameters": {
        "url": "https://lead-magnet-idea-generator-ai.p.rapidapi.com/index.php",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "topic",
              "value": "={{ $json.Topic }}"
            },
            {
              "name": "website",
              "value": "={{ $json['Website Url'] }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "lead-magnet-idea-generator-ai.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "5dd91b00-0670-430f-aeed-365cee02225b",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        480,
        0
      ],
      "parameters": {
        "options": {
          "reset": false
        }
      },
      "typeVersion": 3
    },
    {
      "id": "2e99095a-b29f-428c-990d-b6fffd40adcb",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        1640,
        140
      ],
      "parameters": {
        "amount": 10
      },
      "typeVersion": 1.1
    },
    {
      "id": "952b9061-9f2c-41b4-9f0a-1567160f3540",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        800,
        20
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "e0b7b7c8-3a7a-466d-bae7-269282b49d34",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.Topic }}",
              "rightValue": ""
            },
            {
              "id": "64dde394-0e49-4306-a24a-de2bf448fc95",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.Content }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "9a000b36-5933-4891-9b1d-e31ef6092ed8",
      "name": "Google Sheets1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        0
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "64b72bb3-a25a-4cc7-843a-79f25486afd8",
      "name": "Google Drive Trigger",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        -80,
        0
      ],
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFile",
        "fileToWatch": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2d1d2710-ea6a-4953-bdd7-8f6341177066",
      "name": "Google Sheets2",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1360,
        140
      ],
      "parameters": {
        "columns": {
          "value": {
            "Topic": "={{ $('If').item.json.Topic }}",
            "Content": "={{ $json.data }}",
            "Website Url": "={{ $('If').item.json['Website Url'] }}",
            "Generated Date": "={{ new Date().toLocaleString() }}"
          },
          "schema": [
            {
              "id": "Topic",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Topic",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Website Url",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Website Url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Content",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generated Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Generated Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Topic"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "831e52d3-07f3-4f33-b820-9e33b13d5506",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        -480
      ],
      "parameters": {
        "width": 660,
        "height": 940,
        "content": "# \ud83d\ude80 Lead Magnet Idea Generation Workflow\n\n## \ud83e\udde9 Purpose\nAutomatically generates **lead magnet content ideas** based on a Google Sheet containing topics and website URLs. It checks for rows where content is missing and fills it using an AI API.\n\n---\n\n## \u2705 Problem Solved\n\n| \u274c Problem                            | \u2705 Solution                                                                 |\n|--------------------------------------|-----------------------------------------------------------------------------|\n| Manual content idea generation       | Automatically generates using a Lead Magnet AI API                          |\n| Missing content in sheet rows        | Detects missing \"Content\" and fills it intelligently                        |\n| No record of when ideas were created | Appends current date/time on content creation                               |\n| Repeated manual checks               | Uses Google Drive Trigger to monitor changes every minute                   |\n\n---\n\n## \ud83d\udd04 Workflow Overview\n\n```mermaid\ngraph TD\n    A[Google Drive Trigger] --> B[Google Sheets1 (Read Data)]\n    B --> C[Loop Over Items]\n    C --> D{If: Topic not empty AND Content empty?}\n    D -->|Yes| E[HTTP Request (Generate Content)]\n    E --> F[Google Sheets2 (Write Data)]\n    F --> G[Wait (10s)]\n    G --> C\n    D -->|No| C\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0c29124c-3409-4682-8dda-a4319e8844a8",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        -420
      ],
      "parameters": {
        "height": 640,
        "content": "### \ud83d\udccc Node: Google Drive Trigger\n\n- **Type:** Trigger (n8n-nodes-base.googleDriveTrigger)\n- **Function:** Watches a specific Google Sheet file for changes.\n- **Trigger Mode:** Every minute (`pollTimes`)\n- **Why it's used:** To detect changes in the spreadsheet and initiate the automation workflow.\n- **Authentication:** Google Service Account\n- **Watched File:** \n"
      },
      "typeVersion": 1
    },
    {
      "id": "731e5f13-05c1-43bb-9810-a41955f2ecf5",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        -420
      ],
      "parameters": {
        "height": 640,
        "content": "### \ud83d\udccc Node: Google Sheets1\n\n- **Type:** Google Sheets (Read)\n- **Function:** Reads all data from the specified sheet.\n- **Why it's used:** Fetches rows to process for lead magnet generation.\n- **Sheet Name:** Sheet1 (gid=0)\n- **Authentication:** Google Service Account\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9fbf2aed-8272-47b0-8a89-5b0abcf02e79",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        -420
      ],
      "parameters": {
        "height": 640,
        "content": "### \ud83d\udccc Node: Loop Over Items\n\n- **Type:** Split In Batches (n8n-nodes-base.splitInBatches)\n- **Function:** Processes each row one at a time.\n- **Why it's used:** Ensures efficient row-by-row processing to control API load.\n- **Options:**\n  - `reset: false`\n"
      },
      "typeVersion": 1
    },
    {
      "id": "52a1ecbe-9942-4f6f-9d32-a44a0e3e3a1f",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        -420
      ],
      "parameters": {
        "height": 640,
        "content": "### \ud83d\udccc Node: If\n\n- **Type:** Conditional Check\n- **Function:** Filters rows where:\n  - `Topic` is **not empty**\n  - `Content` is **empty**\n- **Why it's used:** To skip rows that already have generated content or are missing topics.\n- **Condition Logic:**\n  - `Topic` \u2192 `notEmpty`\n  - `Content` \u2192 `empty`\n- **Combinator:** `AND`\n"
      },
      "typeVersion": 1
    },
    {
      "id": "86e47d98-d052-4203-b056-9442f20b0fa4",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        980,
        -420
      ],
      "parameters": {
        "width": 280,
        "height": 820,
        "content": "### \ud83d\udccc Node: HTTP Request\n\n- **Type:** HTTP Request (POST)\n- **Function:** Sends topic and website to an external AI API to generate lead magnet ideas.\n- **URL:** `https://lead-magnet-idea-generator-ai.p.rapidapi.com/index.php`\n- **Headers:**\n  - `x-rapidapi-host: lead-magnet-idea-generator-ai.p.rapidapi.com`\n  - `x-rapidapi-key: <your-api-key>`\n- **Body Content-Type:** `multipart/form-data`\n- **Body Parameters:**\n  - `topic`: `={{ $json.Topic }}`\n  - `website`: `={{ $json['Website Url'] }}`\n- **Why it's used:** Automates lead magnet idea generation via third-party API.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "866680d1-8d17-45ab-81eb-b7a1cb9448d0",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        -420
      ],
      "parameters": {
        "height": 700,
        "content": "### \ud83d\udccc Node: Google Sheets2\n\n- **Type:** Google Sheets (Append or Update)\n- **Function:** Updates the same row with generated content and timestamp.\n- **Why it's used:** Writes the result back into the Google Sheet.\n- **Columns Mapping:**\n  - `Topic`: `={{ $('If').item.json.Topic }}`\n  - `Website Url`: `={{ $('If').item.json['Website Url'] }}`\n  - `Content`: `={{ $json.data }}`\n  - `Generated Date`: `={{ new Date().toLocaleString() }}`\n- **Matching Column:** Topic\n- **Authentication:** Google Service Account\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0d382187-48dc-45cc-bc27-cba36049bd6b",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1560,
        -420
      ],
      "parameters": {
        "height": 680,
        "content": "### \ud83d\udccc Node: Wait\n\n- **Type:** Wait Node\n- **Function:** Pauses the workflow for 10 seconds after writing data.\n- **Why it's used:** Prevents rapid API hits and allows smooth looping.\n- **Wait Time:** 10 seconds\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "4caf167f-472a-4c9e-aef3-4b77c3fa4b93",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Google Sheets2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets1": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets2": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive Trigger": {
      "main": [
        [
          {
            "node": "Google Sheets1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This n8n workflow automatically generates lead magnet ideas based on topics and website URLs stored in a Google Sheet. It uses the Lead Magnet Idea Generator AI API to produce relevant, value-driven ideas that marketers can turn into checklists, guides, templates, and more.…

Source: https://n8n.io/workflows/5880/ — original creator credit. Request a take-down →

More Marketing & Ads workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Marketing & Ads

This workflow automatically validates and enriches contact form submissions from JotForm, ensuring you only store high-quality leads with complete business information.

Jot Form Trigger, Google Sheets, HTTP Request
Marketing & Ads

行銷自動化:Leads Magnet Mail List - n8n form. Uses formTrigger, googleSheets, httpRequest, gmail. Event-driven trigger; 10 nodes.

Form Trigger, Google Sheets, HTTP Request +2
Marketing & Ads

This LinkedIn automation workflow monitors post comments for specific trigger words and automatically sends direct messages with lead magnets to engaged users. The system checks connection status, han

HTTP Request, Noco Db, Form Trigger
Marketing & Ads

This workflow automates the transition of new Jotform submissions into ActiveCampaign, using ZeroBounce for multi-layer validation (Validation + Scoring).

@Zerobounce/N8N Nodes Zerobounce, Google Sheets, Jot Form Trigger +1
Marketing & Ads

This workflow automates the transition of new Typeform submissions into Mautic, using ZeroBounce for multi-layer validation (Validation + Scoring).

@Zerobounce/N8N Nodes Zerobounce, Google Sheets, Typeform Trigger +1