AutomationFlowsMarketing & Ads › Auto-save Instagram Leads to Google Sheets

Auto-save Instagram Leads to Google Sheets

ByDavid Olusola @dae221 on n8n.io

This workflow automatically captures leads submitted through an Instagram Form and saves the data directly to a Google Sheet. It ensures that every new lead is instantly logged, creating a centralized database for your marketing and sales teams. Receive Lead Data The workflow…

Webhook trigger★★★★☆ complexity4 nodesGoogle Sheets
Marketing & Ads Trigger: Webhook Nodes: 4 Complexity: ★★★★☆ Added:

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

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
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "7da8c35d-17c2-4aff-9d1c-b1d6efaf78e8",
      "name": "Setup Instructions",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        624,
        272
      ],
      "parameters": {
        "width": 712,
        "height": 508,
        "content": "\ud83d\udccb **SETUP REQUIRED:**\n\n1. **Create Google Sheet:**\n   - Make new sheet with these column headers:\n   - A1: Name | B1: Email | C1: Phone\n   - D1: Message | E1: Source | F1: Date\n\n2. **Get Sheet ID:**\n   - Copy from URL: docs.google.com/spreadsheets/d/[SHEET_ID]/edit\n   - Replace YOUR_GOOGLE_SHEET_ID in Google Sheets node\n\n3. **Connect Instagram Form:**\n   - Use webhook URL from this node\n   - Form fields: name, email, phone, message"
      },
      "typeVersion": 1
    },
    {
      "id": "10f48b95-3f43-4bda-be11-115dabc5d4ca",
      "name": "Instagram Lead Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        672,
        624
      ],
      "parameters": {
        "path": "instagram-leads",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 1
    },
    {
      "id": "a9544025-af6c-427a-985b-c16b286c4be2",
      "name": "Normalize Lead Data",
      "type": "n8n-nodes-base.code",
      "position": [
        880,
        624
      ],
      "parameters": {
        "jsCode": "// Normalize Instagram lead data\nconst body = $input.first().json.body || $input.first().json;\n\n// Common Instagram lead fields - adapt based on your form structure\nconst normalizedData = {\n  name: body.name || body.full_name || body.firstName + ' ' + body.lastName || 'Unknown',\n  email: body.email || body.email_address || '',\n  phone: body.phone || body.phone_number || '',\n  message: body.message || body.comments || '',\n  source: 'Instagram',\n  timestamp: new Date().toISOString(),\n  raw_data: JSON.stringify(body)\n};\n\nconsole.log('Normalized Instagram Lead Data:', normalizedData);\n\nreturn {\n  json: normalizedData\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "bf561879-cf2f-43d7-b118-6906c8030e35",
      "name": "Save to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1072,
        624
      ],
      "parameters": {
        "options": {
          "useAppend": true
        },
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_GOOGLE_SHEET_ID"
        }
      },
      "typeVersion": 4
    }
  ],
  "connections": {
    "Normalize Lead Data": {
      "main": [
        [
          {
            "node": "Save to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Instagram Lead Webhook": {
      "main": [
        [
          {
            "node": "Normalize Lead Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

This workflow automatically captures leads submitted through an Instagram Form and saves the data directly to a Google Sheet. It ensures that every new lead is instantly logged, creating a centralized database for your marketing and sales teams. Receive Lead Data The workflow…

Source: https://n8n.io/workflows/8028/ — 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

Automatically qualify, score, and route inbound B2B leads using GPT-4o-mini — no manual review needed.

HTTP Request, Slack, Gmail +1
Marketing & Ads

An intelligent automation workflow that monitors thought leader activity via social listening, tracks high-value prospects who engage with industry content, and systematically builds a qualified lead

Google Sheets, Slack
Marketing & Ads

This workflow uses KlickTipp community nodes, available for self-hosted n8n instances only.

HTTP Request, Google Sheets
Marketing & Ads

This n8n workflow automates the process of finding ecommerce seller leads, enriching them with product and business details, discovering company websites, and extracting contact information such as em

Google Sheets, N8N Nodes Mrscraper, HTTP Request
Marketing & Ads

This template is for B2B sales teams, SDRs, growth marketers, and founders who maintain a spreadsheet of prospects and need verified contact details -- emails and mobile numbers -- without manual rese

Google Sheets, HTTP Request