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.

Agentic Task
SimilarwebNotionMarketingAI ReportsResearch & MonitoringDaily Digests
PromptCreate

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.

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.

FAQs

Do I need a paid Similarweb plan?
Yes. Similarweb only exposes keyword data on subscriptions that include API access. If you are not sure whether your plan qualifies, check with your Similarweb admin or account manager.
Where in Notion does the report appear?
The agent creates a brand new page each week under a parent page you pick, so each report is its own dated entry. You can place that parent page anywhere in your workspace as long as it is shared with the General Input connection.
Can I track more than three competitors?
Yes. The competitor list is a configurable input, so you can run this for any small set of competitor domains. Larger lists just take a bit longer because the agent pulls keyword data for each one.
Will the report include keywords I already rank for?
The main focus is gap keywords your competitors capture that you do not, but the agent also flags terms where your traffic share is slipping so you can defend rankings you already hold.
Can I send this to Slack or email instead of Notion?
Yes. After connecting the right account, you can ask the workflow author to swap the Notion destination for a Slack post or an email digest, or even add both.

Related templates

Weekly voice-of-customer report from surveys and support

Every Monday, last week's survey answers and support conversations become one themed report in Notion, with the top five themes posted to Slack.

Typeform
Intercom
Notion
+2
Agentic Task
Turn 5 star Yotpo reviews into a weekly marketing content queue

Every Tuesday we pull your best new reviews, draft social captions, email testimonials and product page quotes, then stage them in Notion for approval.

Yotpo
Notion
Slack
Agentic Task
Draft incident postmortems from Statuspage every morning

Each weekday morning, turn yesterday's major incidents into ready-to-review postmortem drafts in Statuspage, Notion, and Jira.

Statuspage
Notion
Jira
Agentic Task
Plain-English security review of Tailscale access changes

Every time someone edits your Tailscale access rules, get a readable summary of what changed, who changed it, and whether it made you less safe.

Tailscale
Slack Bot
Notion
Agentic Task
Monthly Vimeo performance review in Notion and Slack

On the first of each month, your video library becomes a written review of what worked, what flopped, and three things to change next month.

Vimeo
Notion
Slack Bot
Agentic Task
Push your approved Notion content calendar into Sprout Social

Every morning, the posts you approved in Notion land in Sprout Social as scheduled drafts, with captions, images and publish times already filled in.

Sprout Social
Notion
Deterministic Code

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.