ChatGPT to Google Sheets, brand mentions tracked daily
You don’t control what people ask ChatGPT about your category. But you still get judged by the answer. The annoying part is you usually find out late, after a lead says, “I heard you don’t do X,” and you’re stuck guessing where that idea came from.
Marketing managers feel this when positioning drifts. Founders feel it when a competitor suddenly gets “recommended.” And agencies get the panicked client message. This brand mention tracking automation gives you a daily snapshot of how ChatGPT talks about you (and who else shows up).
This workflow asks the same set of prompts every day, checks for brand and competitor mentions, logs everything to Google Sheets, then emails you a clean summary you can act on.
The Problem: You Don’t Notice Narrative Shifts Until It Hurts
AI answers change quietly. A model learns a new phrasing, a competitor publishes a big comparison page, or some widely-cited post gets updated. Suddenly, your brand is missing from “top tools” lists, or you’re mentioned with the wrong category label. If you’re checking manually, you’ll do it for a few days, get busy, then forget. Even when you remember, you’ll rarely run the exact same queries the exact same way, which makes it hard to tell what actually changed.
The friction compounds. Here’s where it usually breaks down.
- You end up running a handful of prompts, then stop because it takes too long to repeat daily.
- Notes live in screenshots and Slack messages, so there’s no searchable history for trend spotting.
- Competitor mentions get missed because you only scan for your name, not the rest of the shortlist.
- When something shifts, it takes hours to recreate what the model said and when it started.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: ChatGPT to Google Sheets, brand mentions tracked daily
flowchart LR
subgraph sg0["Daily Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Daily Trigger", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Setup Queries"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Query ChatGPT (HTTP)"]
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Process Response"]
n4@{ icon: "mdi:database", form: "rounded", label: "Save to Google Sheets", pos: "b", h: 48 }
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Generate Email Report"]
n6@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email", pos: "b", h: 48 }
n0 --> n1
n1 --> n2
n3 --> n4
n2 --> n3
n5 --> n6
n4 --> n5
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n4 database
class n2 api
class n1,n3,n5 code
classDef customIcon fill:none,stroke:none
class n1,n2,n3,n5 customIcon
The Solution: Daily AI Monitoring Logged and Reported Automatically
This workflow runs on a daily schedule (or whenever you trigger it) and asks ChatGPT the same set of market-relevant questions every time. It’s not trying to “do research” like a human would. It’s doing something more reliable: collecting consistent, repeatable samples so you can detect changes. For each query, n8n sends an HTTP request to the OpenAI ChatGPT API, then analyzes the response to see if your brand is mentioned and which competitors show up. The workflow keeps the response snippet short (up to 500 characters), appends the full record to Google Sheets, then compiles an HTML email summary that’s easy to skim in under a minute.
The workflow starts with a scheduled trigger, then loads your brand name, competitor list, and saved prompts. It loops through each prompt, queries ChatGPT, and checks the reply for mentions (case-insensitive). Finally, it logs every result to Google Sheets and sends an email report with totals, competitor counts, and a per-question breakdown.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you track 10 core prompts each morning (pricing comparisons, “best tools,” “alternatives,” and a few niche use cases). Manually, it’s maybe 2 minutes to run, read, and note each one, plus another 10 minutes to copy the important bits into a doc. That’s roughly 30 minutes a day. With this workflow, you spend about 5 minutes once setting the prompts and competitor list, then you only skim the daily email and open the Google Sheet when something looks off.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Sheets for a searchable historical log.
- OpenAI API to query ChatGPT on a schedule.
- Email account / SMTP to send the daily summary.
- OpenAI API key (get it from the OpenAI dashboard).
Skill level: Intermediate. You’ll paste an API key, edit a query list, and confirm your Google Sheets connection.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
Daily trigger runs automatically. The workflow starts with a scheduled daily trigger, so you get fresh results without relying on someone’s calendar reminder.
Your monitoring “recipe” loads first. A code step initializes your brand name, a competitor list, and a set of prompts you care about (like “best [category] tools for [industry]”). This is where you tailor it to your market.
ChatGPT gets queried and the reply gets checked. n8n sends each prompt to the OpenAI ChatGPT API, then analyzes the text to detect mentions of your brand and any competitor names. It also trims the response to keep logs readable.
Everything gets stored and summarized. Each prompt becomes a row in Google Sheets (date, query, response snippet, mention flags, errors). After that, the workflow composes an HTML email report and sends it to your chosen recipients.
You can easily modify the query list to match new campaigns or product lines based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the scheduleTrigger Trigger
The workflow begins on a daily schedule using Scheduled Daily Starter.
- Add the Scheduled Daily Starter node as your trigger.
- Keep the default Rule settings unless you need a different interval.
- Confirm the trigger connects directly to Initialize Query Set to pass control to the query builder.
Step 2: Connect Google Sheets
Store results in a spreadsheet with Append Sheet Records.
- Add Append Sheet Records after Analyze AI Reply.
- Credential Required: Connect your googleSheetsOAuth2Api credentials.
- Set Document ID to
[YOUR_ID]and Sheet Name toSheet1. - Map the columns using expressions exactly as shown: Date →
{{ $json.date }}, Query →{{ $json.query }}, Response →{{ $json.response }}, Brand_Name →{{ $json.brandName }}, Brand_Mentioned →{{ $json.brandMentioned }}, Error →{{ $json.error }}, Timestamp →{{ $json.timestamp }}, Query_Index →{{ $json.queryIndex }}.
[YOUR_ID] is not replaced with a valid Google Sheet ID, no rows will be appended.Step 3: Set Up the AI and Processing Nodes
Build the query set, send it to OpenAI, and analyze results using Initialize Query Set, AI Chat Request, and Analyze AI Reply.
- In Initialize Query Set, replace
const brandName = "YourBrandName";with your real brand name and update the query list to match your industry. - In AI Chat Request, set URL to
https://api.openai.com/v1/chat/completionsand keep Method asPOST. - Set the JSON Body to the existing expression
{ "model": "chatgpt-4o-latest", "messages": [ { "role": "user", "content": "{{ $json.query }}" } ], "max_tokens": 1000, "temperature": 0.7 }. - Credential Required: Connect your openAiApi credentials in AI Chat Request.
- In Analyze AI Reply, keep Mode as
runOnceForEachItemso each query is checked for brand mentions and errors.
{{ $json.query }} from Initialize Query Set, so verify that node outputs the correct query strings.Step 4: Configure Output and Email Delivery
Summarize the results and deliver the report via email using Compose Email Summary and Dispatch Email Notice.
- Ensure Compose Email Summary is connected after Append Sheet Records to generate the HTML report.
- In Dispatch Email Notice, set HTML to
{{ $json.htmlContent }}and Subject to{{ $json.subject }}. - Set To Email and From Email to
[YOUR_EMAIL](replace with your actual addresses). - Credential Required: Connect your smtp credentials in Dispatch Email Notice.
[YOUR_EMAIL] unchanged will cause email delivery failures.Step 5: Test and Activate Your Workflow
Run a manual test to confirm the full sequence executes correctly from trigger to email delivery.
- Click Execute Workflow in n8n to run Scheduled Daily Starter manually.
- Verify Append Sheet Records writes rows to your Google Sheet with brand mention results.
- Check that Dispatch Email Notice sends a summary email with the HTML table and competitor breakdown.
- When satisfied, toggle the workflow to Active so it runs on schedule.
Common Gotchas
- Google Sheets credentials can expire or need specific permissions. If things break, check the n8n credential entry for Google Sheets and confirm the spreadsheet is shared to the connected Google account.
- If you’re using Wait nodes or external processing, run times vary. Bump up the wait duration if downstream steps fail on empty responses from the OpenAI HTTP request.
- Default prompts in AI nodes are generic. Add your exact brand name variants and the competitor spellings early, or you will be editing outputs and cleaning sheet rows forever.
Frequently Asked Questions
About 30 minutes if your OpenAI and Google Sheets access are ready.
No. You’ll mostly paste credentials and edit the prompt list. The included code steps are already written and you usually won’t touch them.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs, which are usually a few dollars a month for small prompt lists.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, but you’ll change two things. Swap the Scheduled Daily Starter to a weekly schedule, then adjust the email summary to group by week (the “Compose Email Summary” code step is where the HTML is assembled). Common customizations include adding new prompt categories, tracking different competitor sets by product line, and sending separate summaries to different teams.
Usually it’s an invalid or expired API key, or the key isn’t attached to a billing-enabled OpenAI project. It can also be a model name mismatch in the HTTP request, especially if you copied an older config. If it fails only sometimes, you may be hitting rate limits because the workflow is looping through many prompts at once.
A lot, within reason. On n8n Cloud, your limit is mainly your monthly executions, since each prompt is typically one execution path through the loop. If you self-host, there’s no execution cap, but your server and the OpenAI API will still have practical throughput limits, so start with 10 to 30 queries and scale up once the sheet and email look clean.
Often, yes. This workflow has looping, text analysis, and a custom HTML report, which can get clunky (and expensive) in simpler builders once you go beyond a couple of steps. n8n also gives you the option to self-host, which is a big deal if you want to run this daily forever without worrying about task overages. Zapier or Make can still win for very small setups where you just want to send one prompt and post the answer somewhere. If you’re torn, Talk to an automation expert and you’ll get a straight recommendation.
Once this is running, you stop guessing what “the AI” is saying about you. You’ll have a daily log, a simple email, and the clarity to act fast when the story shifts.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.