{
  "name": "Export Google Search Console data to Airtable automatically",
  "nodes": [
    {
      "id": "8e3f167d-cbeb-4f7f-a867-c356d2dca9d0",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1968,
        416
      ]
    },
    {
      "id": "19370d12-f6de-44a1-91a6-da097abdf7de",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        2192,
        416
      ]
    },
    {
      "id": "9eae4908-5266-439c-a66b-5679036234de",
      "name": "Split Out1",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1968,
        544
      ]
    },
    {
      "id": "b05926b1-507f-4531-a05c-a15e835ee82e",
      "name": "Edit Fields1",
      "type": "n8n-nodes-base.set",
      "position": [
        2192,
        544
      ]
    },
    {
      "id": "42321587-2565-4a0a-9d9d-25cbfdeb9f49",
      "name": "Split Out2",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1968,
        672
      ]
    },
    {
      "id": "9e25eef9-daa4-47dd-b2cf-03cfebadb5c6",
      "name": "Edit Fields2",
      "type": "n8n-nodes-base.set",
      "position": [
        2192,
        672
      ]
    },
    {
      "id": "e8f1ab65-9594-45e7-ba9e-7873bd53a107",
      "name": "date",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1744,
        672
      ]
    },
    {
      "id": "d3bbf719-9524-4269-8c26-0eb7599add55",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        1072,
        608
      ]
    },
    {
      "id": "092645b2-9e75-4ff0-8d33-4a3acadac789",
      "name": "Set your domain",
      "type": "n8n-nodes-base.set",
      "position": [
        1360,
        608
      ]
    },
    {
      "id": "0b04b552-e484-417b-9a7e-a90d477dd45a",
      "name": "Get query Report",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1744,
        416
      ]
    },
    {
      "id": "9f9f2be7-1301-4c91-8da1-86eab5725683",
      "name": "Get Page Report",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1744,
        544
      ]
    },
    {
      "id": "d2b91103-2fb1-429c-9d90-50f92f3d6a42",
      "name": "Create a record",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2512,
        416
      ]
    },
    {
      "id": "7ea7d226-ba6c-4f08-b6f6-fda31185cbbb",
      "name": "Create a record1",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2512,
        544
      ]
    },
    {
      "id": "fe31cb29-ae45-4fb0-a39e-c8fe337b4984",
      "name": "Create a record2",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2512,
        672
      ]
    },
    {
      "id": "e86d0696-7d10-4a76-8ba7-953862d65b1d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        -432
      ],
      "parameters": {
        "width": 544,
        "height": 1216,
        "content": "# Export Google Search Console Data to Airtable Automatically  \n\n![automatiserdonneessearchconsoleairtable.png](1)\n\n*If you’ve ever downloaded CSV files from Google Search Console, opened them in Exce"
      }
    },
    {
      "id": "4eb3576c-7590-4d30-857b-da1632fcd074",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        96
      ],
      "parameters": {
        "width": null,
        "height": 688,
        "content": "## Step 1: Schedule the Workflow  \n\nThe very first node in the workflow is the **Schedule Trigger**.  \n\n- **Why?** → So you don’t have to press “Run” every day.  \n- **What it does** → It starts the wh"
      }
    },
    {
      "id": "38400f18-ed3e-4f39-8424-77a631437b89",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1264,
        96
      ],
      "parameters": {
        "width": null,
        "height": 688,
        "content": "## Step 2: Set Your Domain and Time Range  \n\nNext, we define the site and the time window for the report.  \n\nIn the JSON, there’s a **Set node** with two important parameters:  \n- `domain` → your webs"
      }
    },
    {
      "id": "0f72bcf5-f4c3-4617-9835-07163ebc381b",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1504,
        -272
      ],
      "parameters": {
        "width": 400,
        "height": 1056,
        "content": "## Step 3: Fetch Data from Google Search Console  \n\nThis is where the workflow talks to the API.  \nThere are **3 HTTP Request nodes**:  \n\n1. **Get Query Report**  \n   - Pulls data grouped by search qu"
      }
    },
    {
      "id": "3b260edd-5a2f-4818-9ab9-40db86ad3e96",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1904,
        -272
      ],
      "parameters": {
        "width": 208,
        "height": 1056,
        "content": "## Step 4: Split the Data  \n\n\n\nThe API sends results in a big array (`rows`). That’s not very usable directly.  \n\nSo we add a **Split Out node** for each report.  \n\n**What it does**: breaks the array "
      }
    },
    {
      "id": "f4834663-b817-41b0-82fe-9a1624908979",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2112,
        -272
      ],
      "parameters": {
        "width": 208,
        "height": 1056,
        "content": "## Step 5: Clean and Rename Fields  \n\nAfter splitting, we use **Edit Fields nodes** to make the data human-friendly.  \n\nFor example:  \n- In the **Query report** → rename `keys[0]` into `Keyword`.  \n- "
      }
    },
    {
      "id": "1c81b533-fecf-485f-9269-73fe2975f25d",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2320,
        -704
      ],
      "parameters": {
        "width": 464,
        "height": 1488,
        "content": "## Step 6: Save Everything into Airtable  \n\nFinally, the polished data is sent into Airtable.  \n\nIn the JSON, there are 3 Airtable nodes:  \n- **Queries table** → stores all the keywords.  \n- **Pages t"
      }
    }
  ],
  "connections": {
    "date": {
      "main": [
        [
          {
            "node": "Split Out2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out1": {
      "main": [
        [
          {
            "node": "Edit Fields1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out2": {
      "main": [
        [
          {
            "node": "Edit Fields2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Create a record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields1": {
      "main": [
        [
          {
            "node": "Create a record1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields2": {
      "main": [
        [
          {
            "node": "Create a record2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Page Report": {
      "main": [
        [
          {
            "node": "Split Out1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set your domain": {
      "main": [
        [
          {
            "node": "Get query Report",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get Page Report",
            "type": "main",
            "index": 0
          },
          {
            "node": "date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get query Report": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Set your domain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}