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": "jbTm6O9bLBMm6RWy",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "My workflow 3",
"tags": [],
"nodes": [
{
"id": "24be1991-3de5-49c2-91a1-c636fb721a87",
"name": "Weekly Trigger (Monday 7AM)",
"type": "n8n-nodes-base.cron",
"position": [
80,
180
],
"parameters": {},
"typeVersion": 1
},
{
"id": "43d7764d-fbd4-414b-be44-bcc80c068db2",
"name": "Get SEO Data from GSC",
"type": "n8n-nodes-base.httpRequest",
"position": [
300,
180
],
"parameters": {
"url": "https://searchconsole.googleapis.com/webmasters/v3/sites/YOUR_SITE_URL/searchAnalytics/query",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpBasicAuth"
},
"typeVersion": 2
},
{
"id": "92852fd3-7663-413e-b1a9-8c728dea9a23",
"name": "Generate SEO Report",
"type": "n8n-nodes-base.function",
"position": [
500,
180
],
"parameters": {
"functionCode": "\n const rows = items[0].json.rows || [];\n const reportLines = rows.map((row, index) => {\n return `${index + 1}. ${row.keys[0]} - Clicks: ${row.clicks}, Impressions: ${row.impressions}, CTR: ${row.ctr.toFixed(2)}, Position: ${row.position.toFixed(2)}`;\n });\n return [{\n json: {\n report: `Top 10 Search Queries (Last 7 Days):\\n\\n${reportLines.join(\"\\n\")}`\n }\n }];\n "
},
"typeVersion": 1
},
{
"id": "28d9f152-15a0-4a66-aa5e-aa6b9b4c1fa3",
"name": "\ud83d\udccc Setup Instructions",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
60
],
"parameters": {
"color": 6,
"width": 280,
"height": 320,
"content": "\n"
},
"typeVersion": 1
},
{
"id": "8e9551d4-27ab-4106-b0cd-b82d6a671ec7",
"name": "\ud83d\udccc Google Search Console Config",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
60
],
"parameters": {
"color": 2,
"height": 320,
"content": ""
},
"typeVersion": 1
},
{
"id": "c2aabd2e-0a2b-4b4b-a239-bf0927ad1e4d",
"name": "\ud83d\udccc Email Node Setup",
"type": "n8n-nodes-base.stickyNote",
"position": [
640,
40
],
"parameters": {
"color": 5,
"height": 360,
"content": ""
},
"typeVersion": 1
},
{
"id": "1b870a08-d53c-4a51-9a41-4d71a5c954f9",
"name": "Send Weekly Report by Email",
"type": "n8n-nodes-base.gmail",
"position": [
720,
180
],
"parameters": {
"sendTo": "rodrigue.gbadou@gmail.com",
"options": {},
"subject": "Send Weekly Report by Email"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "72378158-06bb-40fd-a300-b89a73676d8d",
"connections": {
"Generate SEO Report": {
"main": [
[
{
"node": "Send Weekly Report by Email",
"type": "main",
"index": 0
}
]
]
},
"Get SEO Data from GSC": {
"main": [
[
{
"node": "Generate SEO Report",
"type": "main",
"index": 0
}
]
]
},
"Weekly Trigger (Monday 7AM)": {
"main": [
[
{
"node": "Get SEO Data from GSC",
"type": "main",
"index": 0
}
]
]
}
}
}
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.
gmailOAuth2
About this workflow
My workflow 3. Uses httpRequest, stickyNote, gmail. Scheduled trigger; 7 nodes.
Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →