This workflow corresponds to n8n.io template #5008 — we link there as the canonical source.
This workflow follows the Google Sheets → HTTP Request 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 →
{
"id": "w8kzaOLDAa5IlK5X",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Cold calling loop",
"tags": [
{
"id": "BNIuz01albAGQ6Q7",
"name": "no-webhook",
"createdAt": "2025-06-05T10:07:49.327Z",
"updatedAt": "2025-06-05T10:07:49.327Z"
},
{
"id": "Mf7YWG1wbOwM8v1P",
"name": "vapi",
"createdAt": "2025-06-04T10:12:06.322Z",
"updatedAt": "2025-06-04T10:12:06.322Z"
},
{
"id": "VrzKqoq2nlpPmWs2",
"name": "webhook",
"createdAt": "2025-06-05T10:40:41.083Z",
"updatedAt": "2025-06-05T10:40:41.083Z"
},
{
"id": "kfm3hRQJIOK29QrK",
"name": "cold-calling",
"createdAt": "2025-06-04T10:12:06.289Z",
"updatedAt": "2025-06-04T10:12:06.289Z"
}
],
"nodes": [
{
"id": "sticky-note-1",
"name": "Sticky Note - Start",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1660,
1775
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "sticky-note-2",
"name": "Sticky Note - Lead Retrieval",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1490,
2075
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "sticky-note-3",
"name": "Sticky Note - Retry Logic",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1220,
1675
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "sticky-note-4",
"name": "Sticky Note - Call Process",
"type": "n8n-nodes-base.stickyNote",
"position": [
-600,
1075
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "sticky-note-5",
"name": "Sticky Note - Scheduled Check",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1660,
2810
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "sticky-note-6",
"name": "Sticky Note - Results Processing",
"type": "n8n-nodes-base.stickyNote",
"position": [
-600,
2435
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "sticky-note-7",
"name": "Sticky Note - Notifications",
"type": "n8n-nodes-base.stickyNote",
"position": [
-830,
1575
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "sticky-note-8",
"name": "Sticky Note - Workflow Features",
"type": "n8n-nodes-base.stickyNote",
"position": [
600,
1475
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "c1f5453a-fb9e-473d-ac37-80c7777364c2",
"name": "Get Leads from Sheet1",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1140,
1875
],
"parameters": {},
"typeVersion": 4.4
},
{
"id": "aca0ff2c-b362-47c3-817e-fe42c6cc0b85",
"name": "Update Status - Calling1",
"type": "n8n-nodes-base.googleSheets",
"position": [
400,
1775
],
"parameters": {},
"typeVersion": 4.4
},
{
"id": "ea8964c4-802e-4fe8-9ae9-f52c97d4dfac",
"name": "When clicking 'Test workflow'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1360,
1875
],
"parameters": {},
"typeVersion": 1
},
{
"id": "81648e86-b214-461a-a15e-b9c50c52c932",
"name": "If1",
"type": "n8n-nodes-base.if",
"position": [
-920,
1875
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "d0daea30-3077-418a-be6b-e3bf13aed389",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
180,
1675
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "4db18eeb-911f-4376-8b0a-0be54abcabd2",
"name": "Get Call Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
-480,
2735
],
"parameters": {},
"typeVersion": 4
},
{
"id": "3ee501a8-7067-47fd-b090-82311e62a980",
"name": "Get Leads from Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1140,
2910
],
"parameters": {},
"typeVersion": 4.4
},
{
"id": "0498ef4c-874d-4a55-bab9-3776f3718018",
"name": "Update Status - Calling",
"type": "n8n-nodes-base.googleSheets",
"position": [
180,
2635
],
"parameters": {},
"typeVersion": 4.4
},
{
"id": "e359ca54-8a46-4046-b4aa-014b96f1fa6e",
"name": "Pending",
"type": "n8n-nodes-base.if",
"position": [
-700,
1475
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "c4cdbd85-0144-4d51-9ab3-44beb10bdc93",
"name": "Retry",
"type": "n8n-nodes-base.if",
"position": [
-480,
1775
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "6d71e12f-8177-4771-b1e5-e943de2255e9",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-260,
1775
],
"parameters": {},
"typeVersion": 3
},
{
"id": "0458820e-61c1-4617-bc4c-48a7ca62bf69",
"name": "Update Status - Calling2",
"type": "n8n-nodes-base.googleSheets",
"position": [
180,
1375
],
"parameters": {},
"typeVersion": 4.4
},
{
"id": "f2c8bc74-ea7f-47de-b340-5568a630d1bd",
"name": "HTTP Request1",
"type": "n8n-nodes-base.httpRequest",
"position": [
-40,
1300
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "577a6e93-a867-4b2c-ada2-04016c1ef7a5",
"name": "Loop Over Items1",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-480,
1375
],
"parameters": {},
"typeVersion": 3
},
{
"id": "21e246fd-8171-4b8a-b66f-81c6614de380",
"name": "Update Status - Calling3",
"type": "n8n-nodes-base.googleSheets",
"position": [
-480,
2375
],
"parameters": {},
"typeVersion": 4.4
},
{
"id": "4bece131-551d-4e27-a80d-f36e644e9dae",
"name": "Loop Over Items2",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-700,
2325
],
"parameters": {},
"typeVersion": 3
},
{
"id": "c45f0732-ffec-47f5-9153-a7544916e49d",
"name": "Loop Over Items3",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-700,
2810
],
"parameters": {},
"typeVersion": 3
},
{
"id": "6e9c15e9-d2d8-439f-b5c2-6986c3290b18",
"name": "If2",
"type": "n8n-nodes-base.if",
"position": [
-260,
2735
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "15a70bb7-ae86-4607-9be3-dc696938bbda",
"name": "Edit Fields2",
"type": "n8n-nodes-base.set",
"position": [
-40,
2635
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "fd452dba-cfba-4041-b0cc-64d2a46fe960",
"name": "Update Status - for Missed call",
"type": "n8n-nodes-base.googleSheets",
"position": [
180,
2835
],
"parameters": {},
"typeVersion": 4.4
},
{
"id": "7d391405-0284-4320-9993-c798eac651a2",
"name": "If4",
"type": "n8n-nodes-base.if",
"position": [
-700,
1875
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "671fe24d-dc5f-4c40-a417-54e2cc0ad407",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
400,
2810
],
"parameters": {},
"typeVersion": 3.1
},
{
"id": "886b3685-041d-499a-b9f3-56904f11bd27",
"name": "If5",
"type": "n8n-nodes-base.if",
"position": [
-920,
2910
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "7b34b530-4f4f-4d84-8033-d8b02d51df0a",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-1360,
2910
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "68be2965-c14c-43c1-bde3-0b8dd588ab19",
"name": "Slack",
"type": "n8n-nodes-base.slack",
"position": [
-480,
1975
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "823bc807-cdcd-4e39-95de-ce6fe429e5d4",
"name": "Slack1",
"type": "n8n-nodes-base.slack",
"position": [
-480,
1575
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "51e38bec-66da-4b97-b03c-044e6521e162",
"name": "Slack2",
"type": "n8n-nodes-base.slack",
"position": [
-480,
2175
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "2e7df5a3-2596-478f-a083-b1b14bf66ff8",
"name": "Slack3",
"type": "n8n-nodes-base.slack",
"position": [
-700,
3010
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "24532380-147f-4e6e-8d7f-bb97498c78fd",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
-40,
1675
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "a9dc0fb3-2697-477a-b97d-ba09a297bda0",
"name": "Wait1",
"type": "n8n-nodes-base.wait",
"position": [
-260,
1300
],
"parameters": {},
"typeVersion": 1.1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "aa19a603-1f5a-4438-ac20-c273bf478fec",
"connections": {
"If1": {
"main": [
[
{
"node": "Pending",
"type": "main",
"index": 0
},
{
"node": "If4",
"type": "main",
"index": 0
}
],
[
{
"node": "Loop Over Items2",
"type": "main",
"index": 0
}
]
]
},
"If2": {
"main": [
[
{
"node": "Edit Fields2",
"type": "main",
"index": 0
}
],
[
{
"node": "Update Status - for Missed call",
"type": "main",
"index": 0
}
]
]
},
"If4": {
"main": [
[
{
"node": "Retry",
"type": "main",
"index": 0
}
],
[
{
"node": "Slack",
"type": "main",
"index": 0
}
]
]
},
"If5": {
"main": [
[
{
"node": "Loop Over Items3",
"type": "main",
"index": 0
}
],
[
{
"node": "Slack3",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Loop Over Items3",
"type": "main",
"index": 0
}
]
]
},
"Retry": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Wait1": {
"main": [
[
{
"node": "HTTP Request1",
"type": "main",
"index": 0
}
]
]
},
"Pending": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
],
[
{
"node": "Slack1",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields2": {
"main": [
[
{
"node": "Update Status - Calling",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "Update Status - Calling1",
"type": "main",
"index": 0
}
]
]
},
"Get Call Data": {
"main": [
[
{
"node": "If2",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request1": {
"main": [
[
{
"node": "Update Status - Calling2",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items1": {
"main": [
[],
[
{
"node": "Wait1",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items2": {
"main": [
[
{
"node": "Slack2",
"type": "main",
"index": 0
}
],
[
{
"node": "Update Status - Calling3",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items3": {
"main": [
[],
[
{
"node": "Get Call Data",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get Leads from Sheet",
"type": "main",
"index": 0
}
]
]
},
"Get Leads from Sheet": {
"main": [
[
{
"node": "If5",
"type": "main",
"index": 0
}
]
]
},
"Get Leads from Sheet1": {
"main": [
[
{
"node": "If1",
"type": "main",
"index": 0
}
]
]
},
"Update Status - Calling": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Update Status - Calling1": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Update Status - Calling2": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
},
"Update Status - Calling3": {
"main": [
[
{
"node": "Loop Over Items2",
"type": "main",
"index": 0
}
]
]
},
"When clicking 'Test workflow'": {
"main": [
[
{
"node": "Get Leads from Sheet1",
"type": "main",
"index": 0
}
]
]
},
"Update Status - for Missed call": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Transform your lead list into an AI-powered calling machine. This workflow automates your entire cold calling process using Vapi's conversational AI to initiate calls, qualify leads, capture detailed insights, and manage intelligent follow-ups - achieving 10x more calls than…
Source: https://n8n.io/workflows/5008/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow collects a blog brief via an n8n form, uses Anthropic Claude to generate an outline and write each section, saves both outline and article as formatted Google Docs in Google Drive, then
This workflow runs a SEEK.com.au job search via Apify on a daily schedule or on-demand form submission, deduplicates new listings, and routes results to Google Sheets, Airtable, a webhook endpoint, an
Type in Slack. Walk away. Get a professional PDF report and a structured Excel fix sheet delivered to Google Drive and posted back in your Slack thread — fully automated, zero manual work.
This workflow is essential for dropshippers, e-commerce store owners, and anyone looking to quickly import product catalogs from specific websites into their Shopify store.
Expenses Tracker (video). Uses httpRequest, splitInBatches, googleSheets, googleDrive. Event-driven trigger; 21 nodes.