Amazon to Google Sheets, ad angles your team can use
Pulling competitor reviews is easy. Turning them into ads that actually convert is the part that drags, because you’re stuck copying snippets, sorting them, and trying to spot patterns with tired eyes. Amazon review automation fixes that by turning messy review text into something your team can use the same day.
This hits media buyers hardest when they need fresh angles by 3pm. But ecommerce founders and growth marketers feel it too, because “we should test new hooks” turns into a week of tab-juggling. The outcome here is simple: a clean brief plus a ready-to-run creative delivered to your inbox.
You’ll see how this workflow collects Amazon reviews, saves them to Google Sheets, summarizes competitor weaknesses with OpenAI, generates a 1080×1080 ad image, then emails the package via Gmail.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Amazon to Google Sheets, ad angles your team can use
flowchart LR
subgraph sg0["On form submission - Amazon Reviews Flow"]
direction LR
n0["<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/>Snapshot Progress"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>HTTP Request- Post API call .."]
n2@{ icon: "mdi:cog", form: "rounded", label: "Wait - Polling Bright Data", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If - Checking status of Snap..", pos: "b", h: 48 }
n4["<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/>HTTP Request - Getting data .."]
n5@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Google Sheets - Adding All R..", pos: "b", h: 48 }
n7["<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/form.svg' width='40' height='40' /></div><br/>On form submission - Amazon .."]
n8@{ icon: "mdi:cog", form: "rounded", label: "Aggregating all reviews", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Basic LLM Chain - Summary of..", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "OpenAI- Generating image", pos: "b", h: 48 }
n11@{ icon: "mdi:message-outline", form: "rounded", label: "Gmail - Sending creative to ..", pos: "b", h: 48 }
n5 -.-> n9
n0 --> n3
n8 --> n9
n10 --> n11
n2 --> n0
n6 --> n8
n7 --> n1
n1 --> n2
n9 --> n10
n4 --> n6
n3 --> n2
n3 --> n4
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 n7 trigger
class n9,n10 ai
class n5 aiModel
class n3 decision
class n6 database
class n0,n1,n4 api
classDef customIcon fill:none,stroke:none
class n0,n1,n4,n7 customIcon
The Challenge: Turning messy reviews into usable ad angles
You find a competitor on Amazon and think, “Perfect. Reviews will tell us what to say.” Then reality shows up. The reviews are scattered across pages, the best quotes are buried, and the “why people hate this” themes don’t jump out until you’ve wasted a chunk of your afternoon. Next you paste everything into a doc, lose formatting, and someone on the team asks for “just one more competitor” right when you thought you were done. Frankly, it’s the kind of work that feels productive but rarely ships ads.
It adds up fast. Here’s where it breaks down in real teams.
- Copying reviews by hand usually turns into an hour of scrolling, pasting, and “wait, did we already grab this one?”
- Patterns get missed because you’re reading 200 opinions with no aggregation, so “lid leaks” shows up 12 times and still doesn’t feel obvious.
- Ad angle brainstorms become subjective debates, because there’s no consistent summary of competitor weaknesses to anchor the room.
- Creative production starts late since the insights live in a sheet, the brief lives in Slack, and the image request lives “in someone’s head.”
The Fix: Amazon reviews to ad-ready briefs (and a creative)
This workflow starts with one simple input: an Amazon product URL (your competitor). When you submit it through the built-in form, n8n triggers a Bright Data scraping job to collect the reviews for that listing. The workflow then waits and checks progress until the scrape snapshot is complete, pulls the results as JSON, and appends the raw review content into a Google Sheet so you have a clean, searchable archive. After that, it combines the text into a single body of feedback and asks OpenAI (GPT-4o mini by default) to summarize the competitor’s main weaknesses in plain language your ad team can act on. Finally, it generates a 1080×1080 creative image based on those pain points and emails both the brief and the creative to your team via Gmail.
The workflow begins with a form submission and a single URL. Bright Data gathers the review data, and OpenAI turns that raw feedback into a concise “what’s broken and what to say instead” summary. Gmail delivers the finished package so it’s immediately usable.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say you analyze 5 competitor products per week. Manually, you might spend about 45 minutes scraping reviews per product, then another 45 minutes turning notes into something ad-worthy, which is roughly 7–8 hours weekly. With this workflow, submitting each URL takes a minute or two, then you wait for the scrape and generation (often around 30 minutes total per product, mostly hands-off). That’s about 5 hours back in a typical week, while still ending up with a brief and a creative.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Sheets to store the scraped reviews.
- Bright Data for Amazon review scraping snapshots.
- OpenAI API key (get it from your OpenAI dashboard).
- Gmail to email the brief and creative.
Skill level: Intermediate. You’ll connect accounts, add API keys, and tweak prompts, but you won’t be writing code.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
Form submission with the competitor URL. You paste an Amazon product link into the form, which triggers the workflow instantly (or on a schedule if you decide to add one later).
Review scraping and progress checks. n8n starts a Bright Data job, pauses for a short delay, then polls snapshot status until it’s ready. No babysitting, just a controlled “check, wait, check again” loop.
Review data gets stored and consolidated. The workflow fetches the JSON results, appends the reviews into Google Sheets, and aggregates the text into one combined input that’s easier for an AI model to analyze.
OpenAI creates the deliverables. First you get a tight competitor weakness summary (your brief). Then an image is generated at 1080×1080 to match the ad angle. Gmail sends both to the people who actually launch campaigns.
You can easily modify the prompt and the email recipients to match your brand voice and your team structure. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Trigger
This workflow starts when a user submits a product URL through a form.
- Add the Form Intake for Product URL node as the trigger.
- Set Form Title to
Please Paste The URL of the Amazon Product. - In Form Fields, add a field labeled Amazon Product URL and set the placeholder to
https://www.amazon.com/Quencher-Cupholder-Compatible-Insulated-Stainless/dp/B0DCDQ1RFV.
Step 2: Connect Bright Data Job Triggering and Polling
These nodes trigger the Bright Data scrape, then poll until results are ready.
- Open Trigger Bright Data Job and set URL to
https://api.brightdata.com/datasets/v3/trigger. - Set Method to
POSTand JSON Body to=[{ "url": "{{ $json['Amazon Product URL'] }}" }]. - In Query Parameters, set
dataset_idto[YOUR_ID]andinclude_errorstotrue. - In Headers, set Authorization to
[CONFIGURE_YOUR_TOKEN]. - Configure Delay for Data Polling with Unit set to
minutesand Amount set to1. - Set Check Snapshot Progress URL to
=https://api.brightdata.com/datasets/v3/progress/{{ $('Trigger Bright Data Job').item.json.snapshot_id }}and include the same Authorization header. - In Snapshot Status Gate, set the condition Left Value to
{{ $json.status }}, Operator toequals, and Right Value torunning. - Configure Fetch Snapshot Results with URL set to
=https://api.brightdata.com/datasets/v3/snapshot/{{ $('Trigger Bright Data Job').item.json.snapshot_id }}, add Query Parametersformat=json, and include the same Authorization header.
Step 3: Connect Google Sheets and Aggregate Reviews
The workflow appends snapshot data to Google Sheets and combines all review text for summarization.
- Open Append Reviews to Sheet and set Operation to
append. - Select the Document ID value
[YOUR_ID]and the Sheet Name valuegid=0. - Credential Required: Connect your googleSheetsOAuth2Api credentials.
- In Combine Review Text, set Field To Aggregate to review_text and Output Field Name to
Aggregated_reviews.
Step 4: Set Up LLM Summarization and Image Generation
These nodes summarize competitor weaknesses and generate a creative image using OpenAI.
- Open OpenAI Chat Engine and select the model
gpt-4o-mini. - Credential Required: Connect your openAiApi credentials in OpenAI Chat Engine.
- In LLM Review Summary, set Prompt Type to
defineand Text to=Read the following reviews, these are reviews of our competitors: {{ $json.Aggregated_reviews }} --- After reading them, summarize their weakest points. Don't mention the competitor name.. - Confirm OpenAI Chat Engine is connected as the language model for LLM Review Summary (credentials should be added to OpenAI Chat Engine, not the sub-node).
- In Generate Creative Image, set Resource to
imageand Prompt to the full JSON prompt:={ "ad_dimensions": { "width": 1080, "height": 1080 }, "target_audience": "B2C customer", "pain_points_source": "choose one pain point based on this {{ $json.text }}", "ad_requirements": { "image_style": "weird-and-fun", "weird_objects": [ "Fruit with Faces", "Realistic People" ], "focus": "address the biggest pain point of competitors", "avoid_naming_competitors": true, "headline": { "position": "No", "text_only": "No", "other_text": "No" }, "background": [ "bold red", "black" ] } }. - Credential Required: Connect your openAiApi credentials in Generate Creative Image.
Step 5: Configure the Email Output
The final step emails the summary and generated image to your inbox.
- Open Email Creative Brief and set Send To to
[YOUR_EMAIL]. - Set Subject to
=Static Creatives Based on Our competitor {{ $now }}. - Set Message to
=Hey, We have analyzed our competitors recent reviews. Analysis data: {{ $today }} Here's a summary: {{ $('LLM Review Summary').item.json.text }} Please see attached an AI generated 1080x1080 image which you can use in Meta ads.. - Credential Required: Connect your gmailOAuth2 credentials.
Step 6: Test and Activate Your Workflow
Run a full test to verify the scrape, summary, image creation, and email delivery.
- Click Execute Workflow and submit a test URL through Form Intake for Product URL.
- Verify Trigger Bright Data Job returns a snapshot ID and that Snapshot Status Gate loops until the status changes.
- Confirm rows are appended in the Google Sheet by Append Reviews to Sheet.
- Check that LLM Review Summary outputs a summary and Generate Creative Image returns an image.
- Ensure Email Creative Brief delivers an email with the summary and attached image.
- Turn on the workflow using the Active toggle for production use.
Watch Out For
- Bright Data credentials can expire or need specific permissions. If things break, check your Bright Data workspace API key and dataset access first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Common Questions
About 30–60 minutes if your accounts and API keys are ready.
Yes. You’ll connect tools, paste API keys, and test the form once.
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 (often just a few cents per run) and Bright Data scraping costs based on usage.
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.
You can swap the prompt inside the LLM Review Summary to match your offer, your compliance rules, and your brand voice. Many teams also adjust the Google Sheets columns in Append Reviews to Sheet so they can tag reviews by theme (shipping, quality, sizing) or by rating. If you prefer a different model, change the OpenAI Chat Engine model setting and keep the rest of the workflow the same. And if you already have a design system, replace Generate Creative Image with a “send to designer” email while keeping the automated brief.
Usually it’s an expired Google authorization or the wrong spreadsheet access. Reconnect Google Sheets in n8n credentials, then confirm the target Sheet ID and tab name still exist. If someone duplicated the template and deleted the original tab, the append step will fail even though your login is fine.
On n8n Cloud, capacity depends on your plan’s monthly executions, and self-hosting mainly depends on your server. Practically, this workflow can handle many competitor URLs per day, but Bright Data snapshot time and OpenAI generation time become the limiting factors. If you want high volume, run it on a schedule and stagger submissions so you’re not polling dozens of snapshots at once.
Often, yes, because this flow needs waiting, polling, and branching logic (snapshot not ready yet? wait and check again) and n8n handles that cleanly. The Google Sheets + Gmail integration is straightforward in any tool, but the HTTP requests and control flow usually get clunky or pricey elsewhere. n8n also gives you the option to self-host, which matters when you want to run lots of research without counting every task. Zapier or Make can still be fine for a lightweight version if you skip the scraping loop and only process data you already have. If you’re unsure, Talk to an automation expert and we’ll sanity-check your use case.
This is what “research” looks like when it actually feeds production. Set it up once, and every competitor URL turns into a brief and a creative your team can act on.
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.