Score and cluster Google keywords with Apify, Groq, Google Sheets and Slack

Go to Workflow
0 views
Built by Steadyfetch Steadyfetch
Created on September 04, 2026

Description

Quick overview
Paste a keyword list into a built-in n8n form and get it back triaged: Google Ads Keyword Planner volume, competition and CPC, an AI intent label, a topic cluster and the page type, ranked by opportunity score in a Google Sheet, with the ten best posted to Slack.

How it works
Submit the built-in n8n form with your keywords, country and language, or run it manually with the demo list.
One HTTP Request runs the Keyword Search Volume Scraper on Apify for the licensed metrics. Keywords Google has no data for are uncharged.
An Information Extractor labels each keyword with its intent, a short topic cluster and the page type worth building.
A Code node scores it: volume x (1 - competition/100) / CPC, favouring high volume, low competition and cheap clicks, then sorts by that score.
Remove Duplicates drops keywords already scored for that country, Sheets appends the rest, and the ten best go to Slack.

Setup
Create an HTTP Header Auth credential (name Authorization, value Bearer YOUR_APIFY_TOKEN) and select it on the HTTP Request node.
Add a Groq credential on the chat model node - a drop-in swap for OpenAI or Anthropic.
Connect Google Sheets and Slack, then open the form URL and paste a list.

Requirements
An Apify account, a chat model account, Google Sheets and Slack.
Keywords are charged only when Google returns metrics.

Customization
Reweight the scoring formula in the Code node.
Set mode to ideas in Config to expand every seed into new ideas.

Additional info
SEO and SEM specialists who need Keyword Planner figures without a Google Ads account and want the list triaged before they read it.

Nodes Used (6)

Code
n8n-nodes-base.code
Google Sheets
n8n-nodes-base.googleSheets
Groq Chat Model
@n8n/n8n-nodes-langchain.lmChatGroq
HTTP Request
n8n-nodes-base.httpRequest
Information Extractor
@n8n/n8n-nodes-langchain.informationExtractor
Slack
n8n-nodes-base.slack