BigQuery의 월간 CrUX 보고서를 NocoDB로 자동 전송 및 데이터 정리
중급
이것은자동화 워크플로우로, 14개의 노드를 포함합니다.주로 Set, Code, NocoDb, GoogleBigQuery, SplitInBatches 등의 노드를 사용하며. BigQuery에서 NocoDB로의 자동화된 월간 CrUX 보고서 전송 및 데이터 정리
사전 요구사항
- •특별한 사전 요구사항 없이 가져와 바로 사용 가능합니다
카테고리
-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "B0aEQAsAIg2pLUfx",
"meta": {
"instanceId": "c24388df44432e8ff2c4acecd7ab0dd2faec628bd83c70beb384cea105f7a50a",
"templateCredsSetupCompleted": true
},
"name": "Automate Monthly CrUX Report Transfer from BigQuery to NocoDB with Data Cleanup",
"tags": [
{
"id": "RhAmCaLYc9EkF42I",
"name": "n8n",
"createdAt": "2025-08-24T08:04:35.027Z",
"updatedAt": "2025-08-24T08:04:35.027Z"
}
],
"nodes": [
{
"id": "b3ff85fe-b34b-4426-8c0b-83b15d22b6f4",
"name": "Google BigQuery",
"type": "n8n-nodes-base.googleBigQuery",
"position": [
980,
60
],
"parameters": {
"options": {},
"sqlQuery": "SELECT\n origin,\n experimental.popularity.rank AS crux_rank\nFROM\n `chrome-ux-report.all.{{ $json.table }}`\nWHERE\n experimental.popularity.rank IS NOT NULL\nORDER BY\n crux_rank ASC\nLIMIT 10;",
"projectId": {
"__rl": true,
"mode": "list",
"value": "crucial-ray-454512-g1",
"cachedResultUrl": "https://console.cloud.google.com/bigquery?project=crucial-ray-454512-g1",
"cachedResultName": "n8n-test"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "FVkLDtIfwMFJz4Sb",
"name": "bigquery admin - n8n test - nima40"
}
},
"typeVersion": 2.1
},
{
"id": "9072f57b-a4b3-4f2c-912b-cb60450c9cf2",
"name": "지난 달 데이터 가져오기",
"type": "n8n-nodes-base.nocoDb",
"position": [
600,
460
],
"parameters": {
"table": "m4fowxbiwoqqj2m",
"options": {},
"operation": "getAll",
"projectId": "p4lnw5vwzf2yy3i",
"returnAll": true,
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "OmiCzu1TOrJhZRIa",
"name": "NocoDB Token account"
}
},
"typeVersion": 3
},
{
"id": "8f293e9a-c763-4e8a-afb3-2350dcfee4f4",
"name": "NocoDB에서 삭제",
"type": "n8n-nodes-base.nocoDb",
"position": [
1100,
460
],
"parameters": {
"id": "={{ $json.Id }}",
"table": "m4fowxbiwoqqj2m",
"operation": "delete",
"projectId": "p4lnw5vwzf2yy3i",
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "OmiCzu1TOrJhZRIa",
"name": "NocoDB Token account"
}
},
"typeVersion": 3
},
{
"id": "66d662f4-46e9-42a6-801e-fff09dd173db",
"name": "항목 반복 처리",
"type": "n8n-nodes-base.splitInBatches",
"position": [
840,
460
],
"parameters": {
"options": {},
"batchSize": 100
},
"typeVersion": 3
},
{
"id": "3ddb8941-047f-41ef-83b5-cf7245fba81b",
"name": "CrUX 데이터를 NocoDB에 추가",
"type": "n8n-nodes-base.nocoDb",
"position": [
1320,
60
],
"parameters": {
"table": "m4fowxbiwoqqj2m",
"fieldsUi": {
"fieldValues": [
{
"fieldName": "origin",
"fieldValue": "={{ $json.origin }}"
},
{
"fieldName": "crux_rank",
"fieldValue": "={{ $json.crux_rank }}"
}
]
},
"operation": "create",
"projectId": "p4lnw5vwzf2yy3i",
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "OmiCzu1TOrJhZRIa",
"name": "NocoDB Token account"
}
},
"typeVersion": 3
},
{
"id": "c3e55cfa-f46e-48f8-9d5c-de83dd57d894",
"name": "월 이름을 숫자로 변환",
"type": "n8n-nodes-base.code",
"position": [
460,
60
],
"parameters": {
"jsCode": "// Get all input items\nconst items = $input.all();\n\nconst monthMap = {\n January: '01',\n February: '02',\n March: '03',\n April: '04',\n May: '05',\n June: '06',\n July: '07',\n August: '08',\n September: '09',\n October: '10',\n November: '11',\n December: '12'\n};\n\nconst output = items.map(item => {\n const monthName = item.json.Month || \"\";\n const formattedName = monthName.trim().charAt(0).toUpperCase() + monthName.trim().slice(1).toLowerCase();\n const monthNumber = monthMap[formattedName] || null;\n\n return {\n json: {\n Month: monthName,\n Month_Number: monthNumber // string like \"01\"\n }\n };\n});\n\nreturn output;"
},
"typeVersion": 2
},
{
"id": "e874c5f0-b894-4fc2-a81d-46b49247a6a8",
"name": "필드 편집",
"type": "n8n-nodes-base.set",
"position": [
720,
60
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e8ea6d77-9952-4d86-9042-fd38f53fac71",
"name": "table",
"type": "string",
"value": "={{ $('Monthly Trigger2').item.json.Year }}{{ $json.Month_Number }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "0cf7f728-87aa-411e-b2bb-174ae10c06eb",
"name": "메모지",
"type": "n8n-nodes-base.stickyNote",
"position": [
380,
-300
],
"parameters": {
"color": 5,
"width": 280,
"height": 540,
"content": "This node convert **Gregorian month name** to number:\n\nJanuary: 01\nFebruary: 02\nMarch: 03\n...\nDecember: '12'"
},
"typeVersion": 1
},
{
"id": "07188746-d762-467e-b40c-773bb865f903",
"name": "메모지1",
"type": "n8n-nodes-base.stickyNote",
"position": [
880,
-300
],
"parameters": {
"color": 5,
"width": 280,
"height": 540,
"content": "## **Google BigQuery**\n\nThis node connects to **Google BigQuery** and runs a dynamic SQL query to fetch the **CrUX (Chrome User Experience) Report** data. \nIt retrieves the top-ranked website origins and their **popularity rank** from the monthly dataset.\n\n📝 **Note:** Change the **LIMIT** value in the query to adjust how many top-ranked sites are fetched.\n"
},
"typeVersion": 1
},
{
"id": "3b463b1c-1d3a-4868-8944-6552dcaa725a",
"name": "메모지2",
"type": "n8n-nodes-base.stickyNote",
"position": [
180,
340
],
"parameters": {
"color": 5,
"width": 1160,
"height": 320,
"content": "## **Delete Last Month Data**\n\n🗑️ **Note:** This workflow deletes records for the last month — review filters carefully before running. Triggers before Monthly Trigger2."
},
"typeVersion": 1
},
{
"id": "225a6af1-8761-41d5-b328-805a5abd473a",
"name": "메모지3",
"type": "n8n-nodes-base.stickyNote",
"position": [
20,
-300
],
"parameters": {
"color": 5,
"width": 280,
"height": 540,
"content": "## Monthly Trigger2\n\nTriggers 1st day of every month, after Monthly Trigger1."
},
"typeVersion": 1
},
{
"id": "60266227-51f4-4076-aa10-265a1a13cf3f",
"name": "월간 트리거1",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
340,
460
],
"parameters": {
"rule": {
"interval": [
{
"field": "months",
"triggerAtHour": 1
}
]
}
},
"typeVersion": 1.2
},
{
"id": "57deaa20-2727-4bcc-b8e6-cb31931223f0",
"name": "월간 트리거2",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
120,
60
],
"parameters": {
"rule": {
"interval": [
{
"field": "months",
"triggerAtHour": 12
}
]
}
},
"typeVersion": 1.2
},
{
"id": "87a6421a-51e6-4d95-af2e-6a0dcf107c2a",
"name": "메모지4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1220,
-300
],
"parameters": {
"color": 5,
"width": 300,
"height": 540,
"content": "## Append Crux Data into NocoDB\n\nThe database contains 2 fields:\n- origin\n- crux_rank\n\norigin: url of the website.\ncrux_rank: estimated crux rank of that website. (1000, 5000,10000 and ...)"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Google BigQuery": [
{
"json": {
"origin": "https://www.epfindia.gov.in",
"crux_rank": "1000"
}
},
{
"json": {
"origin": "https://mail.yahoo.com",
"crux_rank": "1000"
}
},
{
"json": {
"origin": "https://tw.stock.yahoo.com",
"crux_rank": "1000"
}
},
{
"json": {
"origin": "https://www.epfindia.gov.in",
"crux_rank": "1000"
}
},
{
"json": {
"origin": "https://triunfobet.com",
"crux_rank": "1000"
}
},
{
"json": {
"origin": "https://tw.stock.yahoo.com",
"crux_rank": "1000"
}
},
{
"json": {
"origin": "https://tw.stock.yahoo.com",
"crux_rank": "1000"
}
},
{
"json": {
"origin": "https://mail.yahoo.com",
"crux_rank": "1000"
}
},
{
"json": {
"origin": "https://homepage.vivo.com",
"crux_rank": "1000"
}
},
{
"json": {
"origin": "https://triunfobet.com",
"crux_rank": "1000"
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "88273070-007c-4f34-92e5-2360b84603c7",
"connections": {
"e874c5f0-b894-4fc2-a81d-46b49247a6a8": {
"main": [
[
{
"node": "b3ff85fe-b34b-4426-8c0b-83b15d22b6f4",
"type": "main",
"index": 0
}
]
]
},
"b3ff85fe-b34b-4426-8c0b-83b15d22b6f4": {
"main": [
[
{
"node": "3ddb8941-047f-41ef-83b5-cf7245fba81b",
"type": "main",
"index": 0
}
]
]
},
"66d662f4-46e9-42a6-801e-fff09dd173db": {
"main": [
[],
[
{
"node": "8f293e9a-c763-4e8a-afb3-2350dcfee4f4",
"type": "main",
"index": 0
}
]
]
},
"8f293e9a-c763-4e8a-afb3-2350dcfee4f4": {
"main": [
[
{
"node": "66d662f4-46e9-42a6-801e-fff09dd173db",
"type": "main",
"index": 0
}
]
]
},
"60266227-51f4-4076-aa10-265a1a13cf3f": {
"main": [
[
{
"node": "9072f57b-a4b3-4f2c-912b-cb60450c9cf2",
"type": "main",
"index": 0
}
]
]
},
"57deaa20-2727-4bcc-b8e6-cb31931223f0": {
"main": [
[
{
"node": "c3e55cfa-f46e-48f8-9d5c-de83dd57d894",
"type": "main",
"index": 0
}
]
]
},
"9072f57b-a4b3-4f2c-912b-cb60450c9cf2": {
"main": [
[
{
"node": "66d662f4-46e9-42a6-801e-fff09dd173db",
"type": "main",
"index": 0
}
]
]
},
"c3e55cfa-f46e-48f8-9d5c-de83dd57d894": {
"main": [
[
{
"node": "e874c5f0-b894-4fc2-a81d-46b49247a6a8",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Brevo 연락처 보고서를 NocoDB에 삽입
Brevo 연락처 보고서를 NocoDB에 삽입
If
Set
Code
+
If
Set
Code
26 노드Nima Salimi
콘텐츠 제작
마케팅 자동화 시스템 (eCRM) - NocoDB와 Brevo
NocoDB 및 Brevo를 사용한 이메일 마케팅 캠페인 자동화
If
Set
Wait
+
If
Set
Wait
30 노드Nima Salimi
소셜 미디어
매일 NocoDB에서 새 연락처를 Brevo로 가져오기
매일 NocoDB에서 확인된 연락처를 Brevo로 가져오기
If
Noco Db
Send In Blue
+
If
Noco Db
Send In Blue
16 노드Nima Salimi
소셜 미디어
자동 이메일 수신 거부 처리: Outlook과 BigQuery 통합
자동 이메일 수신 거부 처리: Outlook과 BigQuery 통합
Set
Code
Merge
+
Set
Code
Merge
15 노드Robert Breen
소셜 미디어
회사 이메일 찾기 도구 새 버전
Serp.dev와 AnyMailFinder를 사용하여 B2B 의사결정자 이메일을 찾고 잠재 고객 데이터베이스를 구축합니다.
If
Set
Code
+
If
Set
Code
33 노드Alexandra Spalato
AI 요약
제 작업 흐름 79
사용법 Google Sheets와 MailerSend를 사용하여 완전한 이메일 CRM 시스템 구축
If
Set
Wait
+
If
Set
Wait
34 노드Nima Salimi
소셜 미디어
워크플로우 정보
난이도
중급
노드 수14
카테고리-
노드 유형7
저자
Nima Salimi
@salimi- Marketing Automation Specialist - Marketing Workflow Architect - Optimizing Marketing Processes
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유