If you’ve ever downloaded CSV files from Google Search Console, opened them in Excel, cleaned the weird formatting, and pasted them into a sheet just to get a simple report… this workflow is made for you.
This automation is perfect for:
Basically, if you care about SEO but don’t want to babysit CSV files, this workflow is your new best friend.
Here’s the big picture:
End result: every time you open Airtable, you have a neat SEO database with clicks, impressions, CTR, and average position — no manual work required.
You’ll need a few things to get started:
That’s it!
The very first node in the workflow is the Schedule Trigger.
In the JSON, you can configure things like:
This is the alarm clock of your automation ⏰.
Next, we define the site and the time window for the report.
In the JSON, there’s a Set node with two important parameters:
domain
→ your website (example: https://www.0vni.fr/
).days
→ how many days back you want the data (default: 30).👉 Changing these two values updates the whole workflow. Super handy if you want 7-day reports instead of 30.
This is where the workflow talks to the API.
There are 3 HTTP Request nodes:
Get Query Report
startDate
= today - 30 daysendDate
= todaydimensions
= "query"
rowLimit
= 25000
(maximum rows the API can return)Get Page Report
dimensions
= "page"
Get Date Report
dimensions
= "date"
Each request returns rows like this:
{
"keys": ["example keyword"],
"clicks": 42,
"impressions": 1000,
"ctr": 0.042,
"position": 8.5
}
The API sends results in a big array (rows
). That’s not very usable directly.
So we add a Split Out node for each report.
What it does: breaks the array into single items → 1 item per keyword, per page, or per date.
This way, each line can be saved individually into Airtable.
👉 Think of it like opening a bag of candy and laying each one neatly on the table 🍬.
After splitting, we use Edit Fields nodes to make the data human-friendly.
For example:
keys[0]
into Keyword
.keys[0]
into page
.keys[0]
into date
.This is also where we keep only the useful fields:
Keyword
/ page
/ date
clicks
impressions
ctr
position
Finally, the polished data is sent into Airtable.
In the JSON, there are 3 Airtable nodes:
Each node is set to:
Create
→ adds a new record.Search Console Reports
.Queries
, Pages
, or Dates
.For Queries:
Keyword
→ {{ $json.Keyword }}
clicks
→ {{ $json.clicks }}
impressions
→ {{ $json.impressions }}
ctr
→ {{ $json.ctr }}
position
→ {{ $json.position }}
👉 Same logic for Pages and Dates, just replace Keyword
with page
or date
.
Every time this workflow runs:
In Airtable, you now have a complete SEO database with no manual exports.
domain
or days
to customize.And the best part? You can spend the time you saved on actual SEO improvements instead of spreadsheet gymnastics 💃.