Sync leads from Google Sheets to instantly email campaigns with data tables
UnknownUnknown. This template uses community nodes we can't verify statically. Uses community nodes that can't be verified statically (unverified community packages are off by default in 3.0). Static check, last run 2026-10-19.
Community nodes
These come from third-party npm packages. In n8n 3.0 unverified community packages are off by default (N8N_UNVERIFIED_PACKAGES_ENABLED=false).
n8n-nodes-instantly(Create a lead)
Nodes used (6)
- Manual Trigger
n8n-nodes-base.manualTrigger - Google Sheets
n8n-nodes-base.googleSheets - Instantly
n8n-nodes-instantly.instantly - Data table
n8n-nodes-base.dataTable - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Schedule Trigger
n8n-nodes-base.scheduleTrigger
What it does
π Automated Lead Management: Google Sheets β Instantly + n8n Data Tables π Overview This workflow automates lead management by syncing data from Google Sheets to Instantly email campaigns while maintaining tracking through n8n Data Tables. It processes leads in batches to avoid rate limits and ensures no duplicates are sent. --- βοΈ Complete Setup Guide 1οΈβ£ Create Your Google Sheet Option A: Use Our Template (Recommended) 1. Copy this template with test data: Google Sheets Template 2. Click File β Make a copy to create your own version 3. Populate with your lead data Option B: Create Your Own Create a Google Sheet with these required columns: - Firstname - Contact's first name - Email - Contact's email address - Website - Company website URL - Company - Company name - Title - Job title/position π‘ Pro Tip: Add as many leads as you want - the workflow handles batching automatically! --- 2οΈβ£ Set Up n8n Data Table The workflow uses one Data Table to track leads and their sync status. Create the "Leads" Data Table: 1. In your n8n workflow editor, add a Data Table node 2. Click "Create New Data Table" 3. Name it: Leads 4. Add the following columns: | Column Name | Type | Purpose | |------------|------|---------| | Firstname | string | Contact's first name | | Lastname | string | Contact's last name | | email | string | Contact's email (unique identifier) | | website | string | Company website | | company | string | Company name | | title | string | Job title | | campaign | string | Sync status (e.g., "start", "added to instantly") | | focusarea | string | Enriched data from Title field | 5. Click Save π Important: The campaign field is crucial - it tracks which leads have been synced to prevent duplicates! --- 3οΈβ£ Connect Your Google Sheets Account 1. In the "Get row(s) in sheet" node, click "Create New Credential" 2. Select Google Sheets OAuth2 API 3. Follow the OAuth flow: - Sign in with your Google account - Grant n8n permission to access your sheets 4. Select your spreadsheet from the dropdown 5. Choose the correct sheet name (e.g., "instantly leads") 6. Test the connection to verify it works --- 4οΈβ£ Connect Your Instantly Account 1. Go to Instantly.ai and log in 2. Navigate to Settings β API 3. Copy your API Key 4. Back in n8n, open the "Create a lead" node 5. Click "Create New Credential" 6. Select Instantly API 7. Paste your API key 8. Important: Update the campaign ID: - Current ID: 100fa5a2-3ed0-4f12-967c-b2cc4a07c3e8 (example) - Replace with your actual campaign ID from Instantly - Find this in Instantly under Campaigns β Your Campaign β Settings --- 5οΈβ£ Configure the Data Table Nodes You'll need to update three Data Table nodes to point to your newly created "Leads" table: Node 1: "Get row(s)" - Operation: Get - Data Table: Select Leads - Filter: campaign = "start" - This fetches only new, unsynced leads Node 2: "Update row(s)1" (Top Flow) - Operation: Update - Data Table: Select Leads - Filter: Match by email field - Update: Set focusarea to Title value - This enriches lead data Node 3: "Update row(s)" (Bottom Flow) - Operation: Update - Data Table: Select Leads - Filter: Match by Email field - Update: Set campaign = "added to instantly" - This prevents duplicate sends --- 6οΈβ£ Configure the Schedule (Optional) The workflow includes a Schedule Trigger for automation: Default: Runs every hour To customize: 1. Click the "Schedule Trigger" node 2. Choose your interval: - Every 30 minutes - Every 2 hours - Daily at specific time - Custom cron expression π‘ For testing: Use the "When clicking 'Execute workflow'" manual trigger instead! --- π How It Works Flow 1: Data Transfer (Top Path) This flow moves leads from Google Sheets β n8n Data Table Manual Trigger β Get Google Sheets β Batch Split (30) β Update Data Table β Loop Step-by-step: 1. Manual Trigger - Click to start the workflow manually 2. Get row(s) in sheet - Fetches ALL leads from your Google Sheet 3. Loop Over Items - Splits into batches of 30 leads 4. Update row