Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow that reads one site’s keyword rankings from your SerpBear server each week. An AI model on OpenRouter writes a summary table and suggestions, and the answer is saved as a row in a Baserow table.
SerpBear rankings summarized by AI and saved to Baserow is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Weekly schedule
It starts by itself every Sunday at 00:00, or when you press Test workflow, and there is no form:
A new Baserow row with the date, the AI’s note on the keyword rankings and the site
What you need before you start.
Keyword rankings
Gives the keywords of your domain with their positions and last seven checks.
NeedsThe address of your SerpBear server and its API key, sent as a Header Auth credential
AI model
Writes the summary table and the suggestions from the ranking data.
NeedsOpenRouter API key, sent as a Header Auth credential
Notes table
Keeps each week’s note as a row.
NeedsBaserow credential, and a table with the fields Date, Note and Site
Checked by Mindket on 13 Nov 2026
This n8n workflow turns keyword rankings into a weekly written note. It asks SerpBear, the rank tracker you host yourself, for the rankings of one site. A code node writes a short summary of each keyword and builds one question for an AI model on OpenRouter. The model answers with a table and some suggestions, and a Baserow node saves the answer as a new row. Eight nodes do the work, beside five sticky notes.
Site owners, SEO freelancers and small marketing teams who already track keywords in SerpBear and want a plain written summary each week. Skip it if you do not host SerpBear. The workflow reads one site, and a run saves one row.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Marketing | SEO freelancers | Keep a weekly written note on each client’s rankings | A freelancer opens the new row for a client and sees which pages gained places. |
| Publishing | Bloggers | Spot posts that lost ground | A blogger sees that a recipe post fell from position 6 to 14 and updates it. |
| Ecommerce | Shop owners | Watch the keywords of the main category pages | A shop owner reads that “leather bag” stopped ranking and checks the page. |
| Agencies | Account managers | Collect the weekly notes of many sites in one Baserow table | An agency copies the workflow once for each client site and files every note in the same table. |
You need some n8n: import a file, add two Header Auth credentials and a Baserow credential, and fill in a few names.
Any n8n that can reach your SerpBear server, OpenRouter and Baserow will run it.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. You need a SerpBear server with its API key set, an OpenRouter key and a Baserow table.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| SerpBear | Your own server, its address, its API key and a domain that it tracks |
| OpenRouter | An API key, and some credit for the paid model that the file names |
| Baserow | An account and a table with the fields Date, Note and Site |
workflow.json.Site to check, replace YOUR_DOMAIN with the domain as SerpBear lists it, such as example.com.Get data from SerpBear, replace YOUR_SERPBEAR_HOST with the address of your server. Add a Header Auth credential with the name Authorization and the value Bearer, a space and your SerpBear API key. Select it.Send data to A.I. for analysis, add a second Header Auth credential with the name Authorization and the value Bearer, a space and your OpenRouter API key. Select it.Save data to Baserow, add a Baserow credential, then pick your database and your table.Schedule Trigger runs it every week.Once the workflow is on, it runs by itself. Schedule Trigger starts it every Sunday at midnight, in the timezone of your n8n. Press Test workflow for an extra run at any time. Each run adds one row and changes no other row.
| To change | Where |
|---|---|
| The site | YOUR_DOMAIN in Site to check |
| The day and the time | The rule in Schedule Trigger |
| The question to the AI | The text in Send data to A.I. for analysis and the closing list in Parse data from SerpBear |
| The model | The model name in the JSON body of Send data to A.I. for analysis |
| The columns | The three values in Row for Baserow |
A blogger tracks a cooking blog in SerpBear.
On Sunday night the workflow reads every keyword. A post about banana bread sits at position 4 against an average of 5, so its trend is “improving”. A lasagna post no longer ranks. The model writes a table of the keywords and suggests a fresh look at the lasagna post. On Monday the blogger opens Baserow and reads one row with the date, the note and the site. Check the suggestions before you act on them, because they come from a model.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. SerpBear checks where your pages rank in search results for the words you choose. Baserow is an online table, a little like a spreadsheet. This workflow reads the rankings, has an AI describe them and files the description in the table. Press Test workflow before you turn on the schedule.
For experts. The model sees a text summary of each keyword, not the raw history, so the code node decides what counts as a trend.
| Node | What it does | What to know |
|---|---|---|
Get data from SerpBear | Calls the keywords route for one domain | The original copy called the single keyword route, which has no list in its answer |
Parse data from SerpBear | Averages the saved checks and sets a trend for each keyword | Position 0 means not ranking and is left out of the average |
Send data to A.I. for analysis | Posts the question to OpenRouter | The body is built with JSON.stringify, so the prompt goes as plain text |
Row for Baserow | Names the three values Date, Note and Site | Baserow matches them to the table’s fields by name |
Save data to Baserow | Adds one row | You pick the database and the table in the node |
One route and one model name were wrong in the original copy, and the paid model costs a little.
/api/keyword?id=, which gives one keyword, while its code read a list called keywords. This copy calls /api/keywords with the domain, which gives every keyword of the site with its last seven checksmeta-llama/llama-3.1-70b-instruct:free. OpenRouter’s public model list, read on 12 November 2026, does not list that name. It lists meta-llama/llama-3.1-70b-instruct at about 0.72 US dollars per million tokens, and this copy uses it. For no bill, name a free model from the same list, such as google/gemma-4-31b-it:free, which has usage limitsencodeURIComponent inside the JSON body, so the model read percent codes. This copy sends plain textAn n8n workflow that turns keyword rankings into a weekly written note. It asks your own SerpBear server for the rankings
of one site, writes a short summary of each keyword and sends the lot to an AI model on OpenRouter. The model answers
with a table and suggestions, and the answer is saved as a new row in a Baserow table.
workflow.json: the workflow as n8n exports it, eight nodes and five sticky notes. It holds no credential.README.md: these notes.Get data from SerpBear called /api/keyword?id=, the route that gives one keyword, and it carried a fixed domain.keywords, which that route does not return. The node now calls /api/keywordsYOUR_SERPBEAR_HOST.Site to check, holds the domain once. The original copy typed it into three places, and its author'sParse data from SerpBear counted position 0 as a rank, so a keyword that stopped ranking was called "improving" andSend data to A.I. for analysis asked for meta-llama/llama-3.1-70b-instruct:free. OpenRouter's public model list,meta-llama/llama-3.1-70b-instruct, so this copy uses it.encodeURIComponent inside the JSON body, so the model received percent codes.JSON.stringify and the prompt goes as plain text.Row for Baserow, names the three values Date, Note and Site, and Save data to Baserow maps them to theworkflow.json.Site to check, replace YOUR_DOMAIN with the domain as SerpBear lists it, such as example.com.Get data from SerpBear, replace YOUR_SERPBEAR_HOST with the address of your server. Add a Header AuthAuthorization and the value Bearer, a space and your SerpBear API key. Select it.Send data to A.I. for analysis, add a second Header Auth credential with the name Authorization and the valueSave data to Baserow, add a Baserow credential with your Baserow address, email and password. Then pick yourSchedule Trigger runs it every week.Schedule Trigger starts the run by itself. It uses n8n's weekly defaults, which are every Sunday at 00:00 in theWhen clicking ‘Test workflow’ starts it by hand.Site to check passes on the domain.Get data from SerpBear asks the server for the keywords of that domain.Parse data from SerpBear builds a short block of text for each keyword with its position, the average of its savedSend data to A.I. for analysis posts the question to OpenRouter and asks for a table and suggestions.Row for Baserow takes the date, the answer and the domain.Save data to Baserow adds them as a new row.YOUR_DOMAIN in Site to check.Schedule Trigger.Send data to A.I. for analysis and the closing list in Parse data from SerpBear.model name in the JSON body of Send data to A.I. for analysis. Any model on OpenRouter's list works.Row for Baserow. Their names must match the table's fields.meta-llama/llama-3.1-70b-instruct, costs 0.00000072 US dollars per token for the prompt and the same for the answer on that list, which is about 0.72 US dollars per million tokens. A weekly run is a small bill. For no bill, name a free model from the same list, such as google/gemma-4-31b-it:free. Free modelsNOTICE.md 660 B README.md 6 KB workflow.json 10 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
LiconStudio · Kit
Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…
nhathoangfoto · Kit
A LoRA for FLUX.2 Klein 9B that puts a character into the pose shown by a mannequin reference while keeping the character's face and style. For artists and des…