This workflow corresponds to n8n.io template #8890 — we link there as the canonical source.
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": "Integrated Data Consolidation",
"nodes": [
{
"id": "b28ea25c-3c5e-44ca-856f-d5f057fce8ab",
"name": "\ud83d\udcc4 Google Sheets Source",
"type": "n8n-nodes-base.googleSheets",
"position": [
-368,
32
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_SHEETS_ID/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_GOOGLE_SHEETS_ID",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_SHEETS_ID/edit",
"cachedResultName": "Data"
}
},
"typeVersion": 4
},
{
"id": "04b2a7c3-f5aa-412c-a764-75a6f26e8c28",
"name": "\ud83d\udc18 PostgreSQL Source",
"type": "n8n-nodes-base.postgres",
"position": [
-368,
224
],
"parameters": {
"table": {
"__rl": true,
"mode": "list",
"value": "customers",
"cachedResultName": "customers"
},
"schema": {
"__rl": true,
"mode": "list",
"value": "public"
},
"options": {},
"operation": "select",
"returnAll": true
},
"typeVersion": 2.4
},
{
"id": "28dd8f01-9a48-473d-926c-ad9eb94ca7b4",
"name": "\ud83c\udf43 MongoDB Source",
"type": "n8n-nodes-base.mongoDb",
"position": [
-368,
416
],
"parameters": {
"options": {
"limit": 1000
},
"collection": "your_collection_name"
},
"typeVersion": 1.1
},
{
"id": "6f84ea01-55ec-4112-a4d4-11fba9f993ec",
"name": "\u2699\ufe0f Process Merged Data",
"type": "n8n-nodes-base.function",
"position": [
288,
416
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d7a22005-d249-4a68-a970-b72e59639ea2",
"name": "\ud83d\udcca Final Google Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
528,
416
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Title",
"type": "string",
"display": true,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company",
"type": "string",
"display": true,
"required": false,
"displayName": "Company",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone",
"type": "string",
"display": true,
"required": false,
"displayName": "Phone",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "LinkedIn",
"type": "string",
"display": true,
"required": false,
"displayName": "LinkedIn",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Notes",
"type": "string",
"display": true,
"required": false,
"displayName": "Notes",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Function",
"type": "string",
"display": true,
"required": false,
"displayName": "Function",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Seniority",
"type": "string",
"display": true,
"required": false,
"displayName": "Seniority",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Confidence Score",
"type": "string",
"display": true,
"required": false,
"displayName": "Confidence Score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_OUTPUT_SHEETS_ID/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_OUTPUT_GOOGLE_SHEETS_ID",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_OUTPUT_SHEETS_ID/edit",
"cachedResultName": "Data"
}
},
"typeVersion": 4
},
{
"id": "ed6ff028-8eb9-4ba8-8d82-e3f9ba9f129a",
"name": "Add Sheets Source ID",
"type": "n8n-nodes-base.function",
"position": [
-144,
32
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3a01720f-8434-4a36-b02e-d14d9ab092c5",
"name": "Add PostgreSQL Source ID",
"type": "n8n-nodes-base.function",
"position": [
-144,
224
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e55e3811-2291-4e40-9b1f-37e7c7fbe5ad",
"name": "Add SQL Server Source ID",
"type": "n8n-nodes-base.function",
"position": [
-144,
608
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f480146b-4152-4837-a556-d178ea0d33dc",
"name": "Add MongoDB Source ID",
"type": "n8n-nodes-base.function",
"position": [
-144,
416
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b9c0f9ac-ba41-4162-bcbd-f529d4a49c09",
"name": "Add Analytics Source ID",
"type": "n8n-nodes-base.function",
"position": [
-144,
800
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e26d6c59-0d46-4abd-a9cc-82ea2894402e",
"name": "Microsoft SQL Server",
"type": "n8n-nodes-base.microsoftSql",
"position": [
-368,
608
],
"parameters": {
"query": "SELECT * FROM your_table;",
"operation": "executeQuery"
},
"typeVersion": 1.1
},
{
"id": "a8ee48b5-188d-49b8-963f-1570683b3b55",
"name": "Google Analytics",
"type": "n8n-nodes-base.googleAnalytics",
"position": [
-368,
800
],
"parameters": {
"userId": "YOUR_USER_ID",
"viewId": "YOUR_GA_VIEW_ID",
"resource": "userActivity",
"additionalFields": {}
},
"typeVersion": 2
},
{
"id": "2a5bdc85-b754-485b-a1fd-435cc07f0ce3",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
80,
368
],
"parameters": {
"numberInputs": 5
},
"typeVersion": 3.2
},
{
"id": "0dc0d5a7-2a7a-456b-a7e5-f62982d15b9b",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-592,
416
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks",
"triggerAtDay": [
1,
3,
5
]
}
]
}
},
"typeVersion": 1.2
},
{
"id": "a3a4a5b8-e80a-4759-9ab3-5a259f619472",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
-336
],
"parameters": {
"color": 4,
"width": 640,
"height": 1296,
"content": "## Objective: \n\n*Consolidate data from 5 sources (Google Sheets, PostgreSQL, MongoDB, MS SQL, Google Analytics) into a master Google Sheet for reporting and visibility.*\n\n## Data Sources: \n\n*Pulls leads, customer records, documents, SQL query results, and engagement metrics.*\n\n## Pre-Processing: \n\n*Each dataset tagged with a unique source identifier to maintain traceability and avoid confusion during merging.*"
},
"typeVersion": 1
},
{
"id": "a848bbf0-dcde-4395-b67e-d0b4f60bf7dc",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
16,
-336
],
"parameters": {
"width": 432,
"height": 1296,
"content": "## Merge Node: \n\n*Combines all datasets into a unified structure.*\n\n## Processing Node: \n\n*Cleans, aligns schemas, and standardizes fields (Name, Email, Title, Company, etc.).*"
},
"typeVersion": 1
},
{
"id": "72ee4227-8bcd-434f-b327-b9fd57e46861",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
464,
-336
],
"parameters": {
"color": 3,
"width": 256,
"height": 1296,
"content": "## Final dataset is written into Google Sheets.\n\n*Configure your output Google Sheets document ID and credentials to save the consolidated data.*"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"connections": {
"Merge": {
"main": [
[
{
"node": "\u2699\ufe0f Process Merged Data",
"type": "main",
"index": 0
}
]
]
},
"Google Analytics": {
"main": [
[
{
"node": "Add Analytics Source ID",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "\ud83d\udcc4 Google Sheets Source",
"type": "main",
"index": 0
},
{
"node": "\ud83d\udc18 PostgreSQL Source",
"type": "main",
"index": 0
},
{
"node": "\ud83c\udf43 MongoDB Source",
"type": "main",
"index": 0
},
{
"node": "Microsoft SQL Server",
"type": "main",
"index": 0
},
{
"node": "Google Analytics",
"type": "main",
"index": 0
}
]
]
},
"\ud83c\udf43 MongoDB Source": {
"main": [
[
{
"node": "Add MongoDB Source ID",
"type": "main",
"index": 0
}
]
]
},
"Add Sheets Source ID": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Microsoft SQL Server": {
"main": [
[
{
"node": "Add SQL Server Source ID",
"type": "main",
"index": 0
}
]
]
},
"Add MongoDB Source ID": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 2
}
]
]
},
"\ud83d\udc18 PostgreSQL Source": {
"main": [
[
{
"node": "Add PostgreSQL Source ID",
"type": "main",
"index": 0
}
]
]
},
"Add Analytics Source ID": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 4
}
]
]
},
"Add PostgreSQL Source ID": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Add SQL Server Source ID": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 3
}
]
]
},
"\ud83d\udcc4 Google Sheets Source": {
"main": [
[
{
"node": "Add Sheets Source ID",
"type": "main",
"index": 0
}
]
]
},
"\u2699\ufe0f Process Merged Data": {
"main": [
[
{
"node": "\ud83d\udcca Final Google Sheet",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow consolidates data from five different systems — Google Sheets, PostgreSQL, MongoDB, Microsoft SQL Server, and Google Analytics — into a single master Google Sheet. It runs on a scheduled trigger three times a week. Each dataset is tagged with a unique source…
Source: https://n8n.io/workflows/8890/ — 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 monitors customer health by combining payment behavior, complaint signals, and AI-driven feedback analysis. It runs on daily and weekly schedules to evaluate risk levels, escalate high-r
Code Postgres. Uses httpRequest, splitInBatches, postgres, hubspot. Scheduled trigger; 23 nodes.
This workflow automatically monitors and reports data quality for any SQL table using configurable checks and thresholds. It evaluates key metrics—including null values, duplicate records, row count a
Continuous monitoring: Real-time surveillance of supplier performance, financial health, and operational status Risk scoring: AI-powered assessment of supplier risks across multiple dimensions (financ
Regulatory monitoring: Continuously tracks changes in laws, regulations, and compliance requirements across multiple jurisdictions Contract analysis: AI-powered review of existing contracts to identif