Weekly SEO keyword opportunity report in Notion
Every Monday morning, get a ranked Notion page of keywords your competitors rank for that you don't, prioritized by volume and CPC.
Build me an agent workflow that produces a weekly SEO keyword opportunity report in Notion.
Trigger: cron, every Monday at 7:00am in my local timezone.
Configurable inputs I want exposed on the workflow: my target domain (a single domain like example.com, lowercase, no www, no path), a list of 3 to 8 competitor domains in the same format, a 2-letter ISO country code (default us), a lookback window in months (default 3), and the Notion parent page ID of an existing page I will call "SEO Opportunities".
What the agent should do on each run, using Similarweb and Notion:
1. Call Similarweb "Organic Keyword Competitors (Desktop)" for my target domain to confirm the real organic competitor set. If the result overlaps with my configured competitor list, prioritize the intersection; otherwise still respect my configured list.
2. Call Similarweb "Website Keywords" for my target domain and for each competitor domain over the lookback window in the configured country. Capture keyword, position, traffic share, search volume, CPC, and SERP features for each row.
3. Compute the opportunity set. Two buckets: (a) gap keywords, where one or more competitors have meaningful traffic share and my domain does not appear or ranks below position 20, and (b) defensive keywords, where my traffic share for a keyword has clearly dropped versus the prior period. Bias toward mid-volume terms where competitors have real share. Discard implausible head terms (very high volume plus very high CPC plus dominant brand SERP).
4. For any borderline candidate the agent wants to validate, call Similarweb "Keywords Overview" to confirm volume, click distribution, competition density, and SERP composition before keeping it in the final list.
5. Rank the surviving opportunities by a simple score that rewards search volume and reasonable CPC and penalizes clearly transactional or brand-dominated SERPs. Keep the top 15.
6. Use Notion "Create a Page" to create a new page under my "SEO Opportunities" parent page. Title it like "SEO opportunities, week of {Mon DD YYYY}". The page body must be: a 4 to 6 sentence executive summary at the top (what changed this week, the strongest gap, the biggest defensive risk, a clear next action), then a heading "Top 15 opportunities", then a table with these columns in this order: Keyword, Monthly volume, Best competitor + their rank, My current rank or "not ranking", CPC, Recommendation (one sentence). Below the table add a short "Defensive watch" section listing up to 5 keywords where my traffic share slipped, with the prior and current share values.
Quality bar: do not propose head terms with implausible difficulty, never recommend a keyword you did not validate with Keywords Overview when it was borderline, and keep every recommendation to a single concrete sentence ("publish a comparison page targeting X", "refresh the existing blog post on Y", etc.). If a Similarweb call returns no data or a credit error, note that inline in the executive summary instead of failing the whole run.
Additional information
What does this prompt do?
- Pulls the keywords driving organic search clicks to your site and to a list of competitor domains each week.
- Identifies your real organic competitors and surfaces keywords they rank for that you don't, plus terms where your traffic share is slipping.
- Validates each candidate keyword for search volume, click distribution, and competition before recommending it.
- Writes a fresh Notion page under your chosen parent page with a short executive summary and a ranked table of the top 15 opportunities.
What do I need to use this?
- A Similarweb account on a plan that includes API access, with an admin who can generate a key.
- A Notion workspace and a parent page (for example, one called "SEO Opportunities") shared with your General Input connection.
- Your own domain and a short list of competitor domains you want to benchmark against.
How can I customize it?
- Change the schedule from Monday morning to any cadence that fits your team's review rhythm.
- Swap the competitor list, the target country, or the lookback window without rewriting the workflow.
- Adjust the prioritization rules, for example raise the minimum search volume, cap CPC, or filter out branded terms.
- Change the Notion destination, the page title pattern, or expand the table beyond 15 rows.
Frequently asked questions
Do I need a paid Similarweb plan?
Where in Notion does the report appear?
Can I track more than three competitors?
Will the report include keywords I already rank for?
Can I send this to Slack or email instead of Notion?
Stop digging through Similarweb dashboards every Monday.
Connect Similarweb and Notion once, and Geni posts a fresh keyword gap report to your workspace at the start of every week.