---
title: "Weekly AI search readiness audit with fix tickets in Google Sheets"
slug: "site-ai-search-audit-fix-tickets-google-sheets"
type: "n8n-workflow-template"
url: "https://automationbyexperts.com/n8n/site-ai-search-audit-fix-tickets-google-sheets"
n8n_url: "https://n8n.io/workflows/20497-audit-site-ai-search-readiness-and-open-fix-tickets-with-apify-openai-sheets-and-telegram/"
workflow_json: "https://automationbyexperts.com/static/n8n/site-ai-search-audit-fix-tickets-google-sheets.json"
actor: "SEO, GEO & AEO Audit - AI Search Readiness Checker"
actor_url: "https://automationbyexperts.com/apify/seo-geo-aeo-audit"
schedule: "every Monday at 7:00"
apps: ["Apify", "OpenAI", "Google Sheets", "Telegram"]
published: "2026-10-08"
---

# Weekly AI search readiness audit with fix tickets in Google Sheets

This n8n workflow audits your site every Monday at 7:00 for classic SEO, AI engine readiness (GEO) and answerability (AEO), compares every page with the previous week, and has OpenAI write a prioritized fix ticket for each page that dropped, sits under your floor or has a critical issue.

**Use it on n8n.io:** [Audit site AI search readiness and open fix tickets with Apify, OpenAI, Sheets and Telegram](https://n8n.io/workflows/20497-audit-site-ai-search-readiness-and-open-fix-tickets-with-apify-openai-sheets-and-telegram/)  
**Workflow JSON:** https://automationbyexperts.com/static/n8n/site-ai-search-audit-fix-tickets-google-sheets.json  
**Actor it runs:** [SEO, GEO & AEO Audit - AI Search Readiness Checker](https://automationbyexperts.com/apify/seo-geo-aeo-audit) ($0.008 per result)  
**Runs:** every Monday at 7:00

## How it works

A score on its own does not tell a developer what to change. This workflow turns a weekly audit into a short backlog: it scores each page for SEO, GEO and AEO, reads last week's scores back from your sheet, and only opens a ticket where something actually needs work.

A page earns a ticket in three cases: its overall score fell by dropPoints or more, it sits under your minScore floor, or the audit found a critical issue. Everything else is left alone, and maxTickets caps how many tickets one run can open, which matters most on the first run when every page is new.

Every audited page goes to a Scoreboard tab, which becomes the history the next run compares against. Each ticket goes to a Tickets tab and to Telegram, with a priority, why it matters for answer engines and 3 to 6 steps built only from the checks that failed.

## Nodes in the workflow

1. Every Monday at 7am (Schedule Trigger)
2. Set your site (Edit Fields)
3. Audit the site (Apify)
4. Collect the audited pages (Aggregate)
5. Read the last audit (Google Sheets)
6. Decide what needs fixing (Code)
7. Format the scoreboard row (Edit Fields)
8. Keep what needs a fix (Filter)
9. Save this audit to the scoreboard (Google Sheets)
10. Cap the tickets (Limit)
11. Write the fix ticket (Basic LLM Chain)
12. OpenAI model (OpenAI Chat Model)
13. Ticket format (Structured Output Parser)
14. Format the ticket row (Edit Fields)
15. Save the ticket (Google Sheets)
16. Send the ticket to Telegram (Telegram)

## Settings you edit

| Setting | Default | What it does |
|---|---|---|
| `websiteUrl` | PASTE_THE_SITE_TO_AUDIT_HERE | The site to audit. |
| `maxPages` | 10 | Pages audited per run, which is also what caps the Apify cost of a run. |
| `dropPoints` | 5 | A fall in overall score this big or bigger counts as a regression and gets a ti… |
| `minScore` | 70 | Any page under this overall score gets a ticket, whether it moved or not. |
| `maxTickets` | 5 | Most tickets one run opens. |
| `scoreTab` | Scoreboard | The sheet tab that keeps one row per audited page, week after week. |
| `ticketTab` | Tickets | The sheet tab the tickets are appended to. |
| `googleSheetUrl` | PASTE_YOUR_GOOGLE_SHEET_URL_HERE | The URL of the Google Sheet that holds both tabs. |
| `telegramChatId` | PASTE_YOUR_TELEGRAM_CHAT_ID_HERE | The Telegram chat each ticket is sent to. |

## Google Sheet columns

Checked, URL, Page, Grade, Overall, SEO, GEO, AEO, Issues, Critical, Change, Status

## How to set it up

1. **Get the workflow into n8n** - Open it on n8n.io and choose "Use for free", or copy the workflow JSON from this page and paste it onto an empty n8n canvas.
2. **Connect Apify and OpenAI** - Create a free Apify account and connect it in the Audit the site node, then connect an OpenAI account in the OpenAI model node.
3. **Prepare the sheet and Telegram** - Create a Google Sheet with two empty tabs and name them in scoreTab and ticketTab. Create a bot with @BotFather, connect it, and paste your chat id into telegramChatId.
4. **Set your site, run once, activate** - Put the site in websiteUrl and run the workflow once by hand. The first run has no history, so only the floor and critical rules apply. Then activate it.

## What it costs

The workflow is free. Each run bills the actor on your own Apify account at $0.008 per result. At the current price a full run of 10 pages costs $0.080, so 4 runs a month come to at most about $0.32. The Apify free plan audits a few pages per run. OpenAI tokens are billed on your own OpenAI account.

## FAQ

### How do I audit my site for AI search every week?

Import this workflow into n8n, connect Apify, OpenAI, a Google Sheet and Telegram, and put your site in the Set your site node. Once active it audits the site every Monday and sends a ticket for each page that needs work.

### What are SEO, GEO and AEO here?

SEO is the classic on-page checks. GEO scores how ready a page is for AI engines such as ChatGPT and Perplexity to read and cite. AEO scores how directly the page answers the question it targets. The audit returns each failed check with a recommendation.

### Why did my first run open so many tickets?

The first run has nothing to compare against, so every page under minScore or with a critical issue qualifies. maxTickets caps it, and later runs only add pages that changed or still fail.

### Can the tickets go to Jira, Linear or Notion?

Yes. Replace the Save the ticket node with a Jira, Linear or Notion node. The ticket already has a title, priority, reason and steps.

### What does it cost to run?

The workflow is free. Each run bills the SEO, GEO and AEO Audit actor on your Apify account per page audited, capped by maxPages, plus a few OpenAI calls for the tickets on your own OpenAI account.

## More n8n templates

- [Qualify target accounts from their job postings with OpenAI](https://automationbyexperts.com/n8n/job-postings-account-qualification-openai-google-sheets): This n8n workflow reads your target account list from Google Sheets every Monday at 8:00, pulls each company's open roles from the job board it really uses, has OpenAI score whether that hiring signals a need for what you sell, and sends a ready opener to Telegram for the accounts worth contacting.
- [Score journalist requests and draft press pitches with OpenAI](https://automationbyexperts.com/n8n/journalist-request-pitches-openai-telegram): This n8n workflow collects open journalist source requests every morning at 8:00, has OpenAI score each one against your real expertise, saves every request to Google Sheets and sends a drafted pitch to Telegram for the few worth answering.
- [Spitogatos.gr listing alerts in Telegram and Google Sheets](https://automationbyexperts.com/n8n/spitogatos-alerts-telegram-google-sheets): This n8n workflow checks Spitogatos.gr every morning at 8:00 for listings first posted in the last 24 hours in the areas you pick, saves each one to Google Sheets with its price per m² and the agent's phone number, and sends a summary to Telegram.
- [Wallapop alerts in Telegram and Google Sheets](https://automationbyexperts.com/n8n/wallapop-alerts-telegram-google-sheets): This n8n workflow checks Wallapop every hour for new listings that match your keywords and price range, saves every new item to a Google Sheet, and sends the ones at or under your alert price to Telegram in one message.
- [AutoTrader.ca used car alerts in Telegram and Google Sheets](https://automationbyexperts.com/n8n/autotrader-ca-car-alerts-telegram-google-sheets): This n8n workflow searches AutoTrader.ca every morning at 7:00 for cars listed in the last day that match your makes, budget, mileage and location, saves each new car to Google Sheets, and sends the ones priced below AutoTrader's market median to Telegram.
- [Reddit buying-intent leads in Google Sheets and Slack](https://automationbyexperts.com/n8n/reddit-leads-google-sheets-slack): This n8n workflow searches Reddit every morning at 8:00 for posts and comments from people looking to buy what you sell, scores each one 0 to 100 for buying intent, saves every new lead to Google Sheets and posts the hottest ones to Slack as one digest.

---

Part of [AutomationByExperts](https://automationbyexperts.com) - see [all n8n templates](https://automationbyexperts.com/n8n) or [request a new one](https://automationbyexperts.com/suggest).
