1. Opening Problem Statement
Meet Sarah, a digital marketing manager at a mid-sized e-commerce company. She spends hours manually combing through competitors’ Trustpilot reviews trying to identify weaknesses to craft compelling Facebook ads. Sarah’s process is tedious, error-prone, and often outdated by the time she completes it. She loses valuable marketing time and misses opportunities to leverage real user feedback effectively.
Sarah needs a way to quickly gather, analyze, and act on competitor reviews, especially the negative ones that reveal pain points. Without automation, it can take 5+ hours weekly and still risk missing critical insights.
2. What This Automation Does
This specialized n8n workflow automates the entire process of extracting competitor Trustpilot reviews, analyzing them, and creating actionable marketing content. Here’s what happens when you run this workflow:
- Users submit a competitor’s Trustpilot URL and select the desired review timeframe via an n8n form.
- The workflow triggers Bright Data’s dataset API to scrape reviews from the selected timeframe.
- It polls Bright Data periodically until the review data snapshot is ready.
- All reviews are extracted and logged into a Google Sheet for record-keeping and manual inspection.
- The workflow filters out only the negative reviews (1 or 2 stars) to focus on key pain points.
- It aggregates these negative reviews into a summarized text blob.
- OpenAI’s GPT-4o-mini analyzes the summary to produce three unique Facebook ad copies addressing competitors’ weaknesses.
- Finally, the summary and ad copies are emailed to the marketing team for immediate use.
This automation can reduce your competitor research time from hours to just minutes. It helps you act faster with data-driven ad creatives that target real customer complaints.
3. Prerequisites ⚙️
- An n8n account (cloud or self-hosted). You can self-host using platforms like Hostinger if preferred.
- Bright Data API key — necessary to access their dataset API for scraping reviews.
- Google Sheets account with OAuth credentials set up in n8n.
- OpenAI account with API access to GPT-4o-mini model.
- Gmail account connected via OAuth2 for sending emails with results.
4. Step-by-Step Guide
Step 1: Setup the Form Trigger Node to Collect Input
In n8n, start by adding the Form Trigger node. Navigate to Nodes → Trigger → Form Trigger.
Configure your form fields exactly as:
– Competitor TRUSTPILOT URL (required text field with placeholder)
– Timeframe dropdown with options: Last 30 days, 3 months, 6 months, 12 months
The form URL generated here will be your user entry point. You should see your clickable webhook URL on the node that you can test by submitting a sample.
Common mistake: Forgetting to enable required on the URL field results in empty inputs later.
Step 2: Post API Call to Bright Data to Trigger Data Extraction
Add an HTTP Request node named “HTTP Request- Post API call to Bright Data”. Select POST method.
Set URL: https://api.brightdata.com/datasets/v3/trigger.
Add query parameters:
– dataset_id = gd_lm5zmhwd2sni130p
– include_errors = true
Header must include Authorization with Bearer token (your Bright Data API key).
In the JSON body, use expressions to insert the URL and timeframe from the form trigger:
[{
"url": "{{ $json['Competitor TRUSTPILOT URL (include https://www.trsutpilot.com/review/'] }}",
"date_posted": "{{ $json['Please select the time frame of reviews you'd like. If it's a big brand go with 30 days'] }}"
}]Save and test this request. You should receive a snapshot ID in the response.
Common mistake: Using incorrect field names will cause API errors. Copy-paste from the form fields exactly.
Step 3: Implement a Wait Node to Poll for Dataset Readiness
Add a Wait node named Wait – Polling Bright Data set to wait 2 minutes between iterations.
This node pauses the workflow to avoid hitting API limits while waiting for Bright Data to finish scraping.
Step 4: Check Snapshot Status with an IF Node
Use an IF node to verify the status of the snapshot by calling Bright Data’s progress URL:
HTTP Request Node named Snapshot Progress calls:
https://api.brightdata.com/datasets/v3/progress/{{snapshot_id}}
IF node condition:
Check if status equals running — if yes, loop back to Wait node.
If not, proceed to fetch data.
Step 5: Fetch the Review Data
Add an HTTP Request node named HTTP Request – Getting data from Bright Data.
Request URL:
https://api.brightdata.com/datasets/v3/snapshot/{{snapshot_id}} with query parameter format=json
Use bearer token authentication.
After fetching, review data passes to Google Sheets node.
Step 6: Store All Reviews in Google Sheets
Connect a Google Sheets node for appending rows to your spreadsheet.
Document ID should be your copied template sheet (see Sticky Note for template link). Use the sheet’s gid=0 tab for data.
Map fields auto with the many review fields (review_id, review_date, review_rating, review_content, reviewer_name, etc.).
Common mistake: Forgetting to map some custom fields from Bright Data may lead to incomplete data.
Step 7: Filter Only Negative Reviews
Add Filter node named Filtering only bad reviews.
Set conditions to check if review_rating equals 1 or 2 stars only.
This targets problematic customer feedback and pain points competitors have.
Step 8: Aggregate Negative Reviews for Analysis
Add an Aggregate node to combine the filtered review_content fields into one aggregated text block.
This aggregated text feeds into the language model to summarize core complaints.
Step 9: Analyze and Create Facebook Ads Copy with OpenAI
Use Basic LLM Chain node with the prompt:
Read the following bad reviews, these are reviews of our competitors:
{{ $json.Aggregated_reviews }}
---
After reading them, summarize their weakest points.
Don't mention the competitor name.
Write 3 different ads copy for our Facebook ads campaign, addressing these concerns
This node relies on OpenAI Chat Model node configured to GPT-4o-mini for generating the ad texts.
Step 10: Email the Summary and Ads to Marketing Team
Add a Gmail node named Send Summary To Marketers.
To: your marketing email
Subject: Summary of complaints of competitor
Body: Include the competitor URL, the summarized complaints, the 3 Facebook ads, and attach all aggregated negative reviews as additional context.
Common mistake: Remember to configure Gmail OAuth2 credentials correctly to avoid sending failures.
5. Customizations ✏️
- Adjust the Review Time Frames: In the form trigger, modify dropdown options to match your preferred periods, e.g., add 1 week or 2 years.
- Change Ad Copy Output: Edit the prompt in the Basic LLM Chain node to create different marketing materials like FAQ suggestions, UGC scripts, or email flows instead of Facebook ads.
- Customize Google Sheet Columns: Add or remove data fields in the Google Sheets node mapping to capture more or less detail as needed.
- Use Another Email Provider: Swap the Gmail node for Outlook or SendGrid node to align with your company’s email.
- Poll Interval Adjustment: In the Wait node, change the time interval polling Bright Data to improve workflow responsiveness or reduce API calls.
6. Troubleshooting 🔧
Problem: “HTTP Request – Getting data from Bright Data” returns 401 Unauthorized
Cause: The Bearer token API key is invalid, expired, or missing.
Solution: Go to your HTTP Request node settings and verify your Bright Data API key in the “Authorization” header. Refresh your key if expired.
Problem: No data appears in Google Sheets
Cause: Google Sheets node lacks proper OAuth credentials or the document ID is incorrect.
Solution: Double-check OAuth credential connections in n8n and ensure the spreadsheet ID and sheet name match exactly. Test connection by manually adding a row.
Problem: OpenAI returns no or irrelevant ad copy
Cause: The aggregated review text may be too sparse or prompt not tailored.
Solution: Modify the prompt in “Basic LLM Chain” node to include more context about your company, product, or target audience. Ensure the aggregated text is sufficiently detailed.
7. Pre-Production Checklist ✅
- Test the form submission URL with sample Trustpilot URLs and various time frames.
- Verify Bright Data API key validity and permissions.
- Confirm Google Sheets credentials and correct template spreadsheet usage.
- Run a dry test and monitor the polling to ensure snapshot readiness detection works.
- Check that OpenAI API credentials function and produce expected text results.
- Verify Gmail node sends successful emails with generated content.
8. Deployment Guide
Once tested, activate the workflow in your n8n environment by enabling it from the dashboard.
Monitor initial runs thoroughly by checking n8n execution logs and email outputs.
You can set up automated alerts on workflow failures using n8n’s built-in features or integrate Slack for notifications.
If hosted yourself, ensure your server uptime allows for polling intervals to run uninterrupted.
9. FAQs
Q: Can I use another data scraping provider instead of Bright Data?
A: Yes, but you would need to adapt the HTTP request nodes to match the alternative API’s structure and authentication.
Q: Does this workflow consume many API credits?
A: Bright Data and OpenAI API calls do consume credits. Polling intervals help minimize excessive usage, but monitor your quotas.
Q: Is my data safe?
A: All API communications use HTTPS and OAuth where applicable. Ensure you keep API keys secure and restrict access.
Q: Can this workflow handle large competitors with many thousands of reviews?
A: Yes, but longer polling times or splitting requests may be needed for massive datasets.
10. Conclusion
By following this guide, you’ve set up a powerful n8n workflow that scrapes competitor Trustpilot reviews using Bright Data, filters and analyzes the negative feedback, and outputs actionable Facebook ad copy via OpenAI.
You save 5+ hours of manual research weekly, gain sharper marketing insights, and boost ad effectiveness with data-driven content.
Next steps could include integrating competitor sentiment analysis dashboards, automating regular report generation, or expanding ad copy generation to include other platforms like Google Ads or email campaigns.
Keep experimenting and refining—your marketing edge depends on speed and relevance, and this workflow delivers both.