This workflow follows the Execute Workflow 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 →
{
"name": "Get Call Stats \u2014 Sub-workflow",
"nodes": [
{
"parameters": {
"inputSource": "workflowInputs",
"workflowInputs": {
"values": [
{
"name": "startDate",
"type": "string"
},
{
"name": "endDate",
"type": "string"
}
]
}
},
"id": "execute-workflow-trigger",
"name": "Execute Workflow Trigger",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"typeVersion": 1.1,
"position": [
0,
0
]
},
{
"parameters": {
"jsCode": "const input = $input.first().json;\nconst startDate = input.startDate || '2026-01-01';\nconst endDate = input.endDate || '2026-12-31';\n\nreturn [{\n json: {\n startDate,\n endDate\n }\n}];"
},
"id": "parse-params",
"name": "Parse Parameters",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
220,
0
]
},
{
"parameters": {
"operation": "read",
"documentId": {
"__rl": true,
"mode": "url",
"value": "<YOUR_GOOGLE_SHEETS_URL>"
},
"sheetName": {
"__rl": true,
"mode": "name",
"value": "\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0438"
},
"options": {
"returnAllMatches": true
}
},
"id": "get-all-results",
"name": "Get All Call Results",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
440,
0
],
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"jsCode": "const items = $input.all().map(i => i.json);\nconst startDate = $('Parse Parameters').first().json.startDate;\nconst endDate = $('Parse Parameters').first().json.endDate;\n\n// Filter by date range\nconst filtered = items.filter(item => {\n const d = item.Date;\n if (!d) return false;\n return d >= startDate && d <= endDate;\n});\n\nconst totalCalls = filtered.length;\nconst negativeCalls = filtered.filter(item => \n item.Tonality && item.Tonality.toLowerCase() === 'negative'\n).length;\nconst negativeCallPercent = totalCalls > 0 \n ? Math.round((negativeCalls / totalCalls) * 100) + '%' \n : '0%';\n\nreturn [{\n json: {\n totalCalls,\n negativeCalls,\n negativeCallPercent\n }\n}];"
},
"id": "calculate-stats",
"name": "Calculate Stats",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
660,
0
]
}
],
"connections": {
"Execute Workflow Trigger": {
"main": [
[
{
"node": "Parse Parameters",
"type": "main",
"index": 0
}
]
]
},
"Parse Parameters": {
"main": [
[
{
"node": "Get All Call Results",
"type": "main",
"index": 0
}
]
]
},
"Get All Call Results": {
"main": [
[
{
"node": "Calculate Stats",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1",
"callerPolicy": "workflowsFromSameOwner",
"availableInMCP": false
}
}
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.
googleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Get Call Stats — Sub-workflow. Uses executeWorkflowTrigger, googleSheets. Event-driven trigger; 4 nodes.
Source: https://github.com/neuron7xLab/ai-automation-portfolio/blob/main/flagship-callsense/workflows/02_get_call_stats.json — 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.
Google Maps Email Scraper Template. Uses removeDuplicates, splitInBatches, httpRequest, splitOut. Event-driven trigger; 26 nodes.
Splitout Comparedatasets. Uses manualTrigger, gong, stickyNote, executeWorkflow. Event-driven trigger; 26 nodes.
Streamline your sales call analysis with CallForge, an automated workflow that extracts, enriches, and refines Gong.io call data for AI-driven insights.
Email Scapper. Uses httpRequest, googleSheets, executeWorkflowTrigger. Event-driven trigger; 26 nodes.
ITHome比賽進程. Uses httpRequest, googleSheets, executeWorkflowTrigger, n8n. Event-driven trigger; 25 nodes.