AutomationFlowsCRM & Sales › Sync Facebook/google Lead Ads to Google Sheets & Salesforce CRM

Sync Facebook/google Lead Ads to Google Sheets & Salesforce CRM

ByCandra Reza @candrareza on n8n.io

Stop wasting time on manual data entry and instantly engage with your new leads! This powerful and production-ready n8n workflow automates the entire process of capturing leads from Facebook Lead Ads (or Google Ads Lead Forms), creating a backup in Google Sheets, and adding them…

Event trigger★★★★☆ complexity6 nodesStartFacebook Lead Ads TriggerGoogle SheetsSalesforce
CRM & Sales Trigger: Event Nodes: 6 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #6687 — 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
{
  "id": "1",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Sync Facebook Lead Ads to Google Sheets & Salesforce CRM",
  "nodes": [
    {
      "name": "Start",
      "type": "n8n-nodes-base.start",
      "position": [
        250,
        300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "name": "Facebook Lead Ad",
      "type": "n8n-nodes-base.facebookLeadAdsTrigger",
      "position": [
        450,
        300
      ],
      "parameters": {
        "formId": "={{ $credential.formId }}",
        "pageId": "={{ $credential.pageId }}",
        "options": {}
      },
      "credentials": {
        "facebookLeadAdsTriggerApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Log Lead to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        890,
        300
      ],
      "parameters": {
        "columns": {
          "values": [
            {
              "value": "={{ $now.toFormat('yyyy-MM-dd HH:mm:ss') }}",
              "column": "Timestamp"
            },
            {
              "value": "={{$json.full_name}}",
              "column": "FullName"
            },
            {
              "value": "={{$json.email}}",
              "column": "Email"
            },
            {
              "value": "={{$json.phone_number}}",
              "column": "PhoneNumber"
            },
            {
              "value": "={{$json.leadgen_id}}",
              "column": "LeadID"
            },
            {
              "value": "Processing",
              "column": "CRM_Status"
            }
          ]
        },
        "options": {},
        "sheetName": "YOUR_SHEET_NAME",
        "documentId": "YOUR_GOOGLE_SHEET_ID"
      },
      "credentials": {
        "googleSheetsApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "name": "Create Lead in Salesforce",
      "type": "n8n-nodes-base.salesforce",
      "position": [
        1110,
        300
      ],
      "parameters": {
        "fields": {
          "additionalFields": {
            "Email": "={{$nodes[\"Prepare CRM Data\"].json.email}}",
            "Phone": "={{$nodes[\"Prepare CRM Data\"].json.phone_number}}",
            "Company": "Lead from Facebook",
            "LastName": "={{$nodes[\"Prepare CRM Data\"].json.lastName}}",
            "FirstName": "={{$nodes[\"Prepare CRM Data\"].json.firstName}}",
            "LeadSource": "Facebook Lead Ad"
          }
        },
        "options": {},
        "resource": "lead",
        "operation": "create"
      },
      "credentials": {
        "salesforceApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "name": "Prepare CRM Data",
      "type": "n8n-nodes-base.set",
      "position": [
        670,
        300
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "firstName",
              "value": "={{ $json.full_name.split(' ').slice(0, -1).join(' ') || $json.full_name }}"
            },
            {
              "name": "lastName",
              "value": "={{ $json.full_name.split(' ').pop() }}"
            }
          ]
        },
        "options": {
          "dotNotation": true
        }
      },
      "typeVersion": 2
    },
    {
      "name": "Update Status in Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1330,
        300
      ],
      "parameters": {
        "key": "LeadID",
        "value": "={{$nodes[\"Log Lead to Google Sheets\"].json.LeadID}}",
        "columns": {
          "values": [
            {
              "value": "Synced to Salesforce",
              "column": "CRM_Status"
            }
          ]
        },
        "options": {},
        "sheetName": "={{$nodes[\"Log Lead to Google Sheets\"].parameters.sheetName}}",
        "documentId": "={{$nodes[\"Log Lead to Google Sheets\"].parameters.documentId}}"
      },
      "credentials": {
        "googleSheetsApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    }
  ],
  "active": false,
  "settings": {},
  "connections": {
    "Facebook Lead Ad": {
      "main": [
        [
          {
            "node": "Prepare CRM Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare CRM Data": {
      "main": [
        [
          {
            "node": "Log Lead to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Lead in Salesforce": {
      "main": [
        [
          {
            "node": "Update Status in Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Lead to Google Sheets": {
      "main": [
        [
          {
            "node": "Create Lead in Salesforce",
            "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

Stop wasting time on manual data entry and instantly engage with your new leads! This powerful and production-ready n8n workflow automates the entire process of capturing leads from Facebook Lead Ads (or Google Ads Lead Forms), creating a backup in Google Sheets, and adding them…

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

More CRM & Sales workflows → · Browse all categories →

Related workflows

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

CRM & Sales

Who is this for? Event sales teams & conference organizers processing 100+ sponsor/partner emails weekly who need instant lead qualification, Salesforce automation, & pipeline analytics. _

Sentiment Analysis, Gmail, Gmail Trigger +8
CRM & Sales

Email Sentiment Router for Event Sales Leads

Sentiment Analysis, Gmail, Gmail Trigger +8
CRM & Sales

It extracts key business information using AI, scores the lead based on your ideal customer profile, creates CRM records, notifies your team on Slack, and logs all activity—including failures—to Googl

Gmail Trigger, HubSpot, Salesforce +3
CRM & Sales

This workflow automates the transition of new Form.io submissions into Pipedrive, using ZeroBounce for multi-layer validation (Validation + AI Scoring).

@Zerobounce/N8N Nodes Zerobounce, Google Sheets, Form Io Trigger +1
CRM & Sales

This workflow automates the transition of new Shopify customers into HubSpot, using ZeroBounce for multi-layer validation (Validation + AI Scoring).

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