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": "FTA - 01 Get Tasks",
"nodes": [
{
"parameters": {
"httpMethod": "GET",
"path": "fta-tasks",
"responseMode": "responseNode",
"options": {}
},
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [
240,
300
],
"id": "a1b2c3d4-0001-0001-0001-000000000001"
},
{
"parameters": {
"operation": "read",
"documentId": {
"__rl": true,
"value": "1VofDYNBpmpw9XeClU6kVtSrchVcpWA-1DX5t6whfGgs",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "gid=2028815960",
"mode": "id"
},
"options": {
"headerRow": 1
}
},
"name": "Read Sheet",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4,
"position": [
460,
300
],
"id": "a1b2c3d4-0001-0001-0001-000000000002",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"jsCode": "// The sheet has people in columns A/B and tasks in columns C/D.\n// They are INDEPENDENT lists \u2014 tasks are shared by all people.\n// We only read columns C and D here.\n\nconst COL_TASK = 'Task List'; // Column C\nconst COL_REQUIRES_COUNT = 'Requires Count'; // Column D (Yes / No)\n\nconst seen = new Set();\nconst tasks = [];\n\nfor (const item of items) {\n const name = String(item.json[COL_TASK] ?? '').trim();\n if (!name || seen.has(name)) continue;\n seen.add(name);\n tasks.push({\n json: {\n name,\n requiresProgressCount:\n String(item.json[COL_REQUIRES_COUNT] ?? '').toLowerCase().trim() === 'yes',\n }\n });\n}\n\nreturn tasks;\n"
},
"name": "Map Tasks",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
680,
300
],
"id": "a1b2c3d4-0001-0001-0001-000000000003"
},
{
"parameters": {
"respondWith": "allIncomingItems",
"options": {
"responseHeaders": {
"entries": [
{
"name": "Access-Control-Allow-Origin",
"value": "*"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
}
},
"name": "Respond",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1,
"position": [
900,
300
],
"id": "a1b2c3d4-0001-0001-0001-000000000004"
}
],
"connections": {
"Webhook": {
"main": [
[
{
"node": "Read Sheet",
"type": "main",
"index": 0
}
]
]
},
"Read Sheet": {
"main": [
[
{
"node": "Map Tasks",
"type": "main",
"index": 0
}
]
]
},
"Map Tasks": {
"main": [
[
{
"node": "Respond",
"type": "main",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1"
}
}
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
FTA - 01 Get Tasks. Uses googleSheets. Webhook trigger; 4 nodes.
Source: https://github.com/walliullah-alt/FTA-Tracker/blob/9bed3a62ecc12529f470957303ba5f338a790123/n8n-workflows/01-fta-get-tasks.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.
Resume Screening & Behavioral Interviews with Gemini, Elevenlabs, & Notion ATS copy. Uses googleDrive, httpRequest, notion, formTrigger. Webhook trigger; 67 nodes.
[SANTOBET] FLUXO TODO - BACKUP. Uses googleSheets, httpRequest, googleSheetsTrigger. Webhook trigger; 57 nodes.
This workflow sends post-purchase review request emails for WooCommerce orders, stores expiring form links in Google Sheets, optionally shortens links with Dub.co and delays delivery, serves a hosted
FLUXO DISPARO DATA E HORA. Uses itemLists, googleSheets, httpRequest. Webhook trigger; 48 nodes.
This workflow allows you to accept online payments via YooKassa and log both orders and transactions in Google Sheets — all without writing a single line of code. It supports full payment flow: produc