Bruin Academy
Tutorial
SEO Optimizer Agent
Build a scheduled AI SEO agent that reads Google Search Console and GA4 data from BigQuery every morning, opens SEO and content PRs from the strongest opportunities, measures the PRs it already shipped, and posts a daily report to Slack.
What
Build a scheduled SEO optimizer agent that reads Search Console and GA4 data every morning, opens PRs from the strongest opportunities, measures the PRs it shipped 1-2 weeks ago, and posts the results to Slack.
- Daily SEO and content PRs, drawn from your own GA4 + GSC data
- Post-merge measurement for the agent's own changes
- Follow-up PRs when shipped work underperforms
- A Slack report split into urgent regressions, multi-week trends, post-merge verdicts, and what shipped
How
- Add three skill folders to your landing-page repo:
ga-gsc-analyzer,landing-page-changelog, andhumanizer - Connect the repo, BigQuery credentials, Slack integration, and system prompt in Bruin Cloud
- Create a scheduled agent that runs the analyzer daily and posts the report to Slack
Before you start
- GA4 + Google Search Console exports landing in BigQuery
- A GCP service account that can read those datasets
- Your landing-page GitHub repo connected to Bruin Cloud
- A Slack channel for the daily report
Guide overview
- 1Set Up the Skills in Your RepoAdd ga-gsc-analyzer, landing-page-changelog, and humanizer to your landing-page repo. Walk through each section and swap the company-specific literals.
- 2Configure Bruin CloudConnect the landing-page repo as a project, build a BigQuery connection set, wire up Slack, and create the SEO optimizer agent with the right system prompt.
- 3Create the Scheduled AgentUse the configuration chat to generate the SQL queries, point the scheduled run at ga-gsc-analyzer, pick a schedule and Slack channel, and run it for the first time.
Frequently asked questions
What does an SEO optimizer agent do?
It is a scheduled AI agent that reads your Google Search Console and GA4 data every morning, finds the strongest ranking and content opportunities, and opens pull requests for them. It also measures the PRs it shipped one to two weeks ago, opens follow-ups when shipped work underperforms, and posts a daily summary to Slack.What data does the SEO agent use?
GA4 and Google Search Console exports that land in BigQuery. The agent queries page-level impressions, clicks, positions, and traffic to decide what to work on and to check whether its earlier changes moved the numbers.What do I need to build this SEO agent?
GA4 and Search Console exports landing in BigQuery, a GCP service account that can read those datasets, your landing-page GitHub repo connected to Bruin Cloud, and a Slack channel for the daily report.Does the agent change my site automatically?
No. It opens pull requests instead of pushing directly, so every change goes through your normal review and merge process. You stay in control of what ships.How does the agent know whether its SEO changes worked?
It measures its own PRs after they merge. One to two weeks after a change ships, the agent compares Search Console and GA4 metrics before and after, reports a verdict in the Slack summary, and opens a follow-up PR when the shipped work underperforms.How often does the SEO agent run?
On a schedule you set in Bruin Cloud, typically once a day. Each run analyzes fresh Search Console and GA4 data, opens new PRs, checks recent ones, and posts the report to Slack.
Get help & contribute