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": "9bbf6f23-b8c3-4b1f-b930-69197ba6dfa4",
"name": "Users to Google Sheet",
"nodes": [
{
"id": "3effa98f-f88c-4c8d-a2f2-3dbf15ea77bd",
"name": "When clicking 'Execute workflow'",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
-288,
-16
],
"parameters": {}
},
{
"id": "087c2d01-6a20-47c6-9599-6a0136c99183",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
-32,
-16
],
"parameters": {
"url": "https://jsonplaceholder.typicode.com/users",
"options": {}
}
},
{
"id": "66bf1544-26d7-4f0d-9130-a7714ae1beed",
"name": "Append or update row in sheet",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
240,
-16
],
"parameters": {
"operation": "appendOrUpdate",
"options": {},
"documentId": {
"__rl": true,
"value": "193K6ZufOQgQcV-7P4D6jyS8ejNfxIv32yvT2bR5lT2k",
"mode": "list",
"cachedResultName": "Users",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/193K6ZufOQgQcV-7P4D6jyS8ejNfxIv32yvT2bR5lT2k/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/193K6ZufOQgQcV-7P4D6jyS8ejNfxIv32yvT2bR5lT2k/edit#gid=0"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"name": "={{ $json.name }}",
"username": "={{ $json.username }}",
"email": "={{ $json.email }}",
"phone": "={{ $json.phone }}",
"website": "={{ $json.website }}"
},
"matchingColumns": [
"email"
],
"schema": [
{
"id": "name",
"displayName": "name",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "username",
"displayName": "username",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "email",
"displayName": "email",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "phone",
"displayName": "phone",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "website",
"displayName": "website",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
}
],
"connections": {
"When clicking 'Execute workflow'": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "Append or update row in sheet",
"type": "main",
"index": 0
}
]
]
},
"Append or update row in sheet": {
"main": [
[]
]
}
},
"active": true,
"settings": {},
"tags": [],
"createdAt": "2025-09-06T22:32:02.110570",
"updatedAt": "2025-09-06T22:32:02.110629"
}
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
About this workflow
Users to Google Sheet. Uses manualTrigger, httpRequest, googleSheets. Event-driven trigger; 3 nodes.
Source: https://github.com/aemal/n8n-python-sdk/blob/14c6b8527fa13d7861217147341b61196ef96f27/n8n-workflows/workflow.json — original creator credit. Request a take-down →