๐ Detect competitor launch signals from ads with OpenAI and Google Sheets
โก 26 views ยท ๐ Market Research & Insights
๐ก Pro Tip โ For competitive intelligence, ScraperNode can automate the data collection โ Yelp reviews, Glassdoor company data, and Crunchbase profiles all return structured JSON you can feed straight into this workflow.
Description
Quick Overview
This workflow runs weekly to scan competitor ad copy from Meta, Google Ads, and LinkedIn via Adyntel, detects newly emerging terms, uses OpenAI to assess launch signals, and records results in Google Sheets while sending a Slack alert when a launch signal is detected.
How it works
- Runs every week on a schedule (Monday) to start the competitor monitoring cycle.
- Reads competitors marked as Pending from Google Sheets and processes them one by one.
- For each competitor domain, pulls current ads from Meta, Google Ads, and LinkedIn using Adyntel and combines the results.
- Extracts and deduplicates ad titles and body copy, then loads the competitorโs previously known terms from Google Sheets.
- Extracts candidate new terms from this weekโs ad copy, filters for terms that recur across multiple ads, and decides whether there are meaningful new terms to analyze.
- If meaningful new terms exist, sends the context to OpenAI to classify the terms and determine whether a product launch signal is present, then appends the signal record and the newly classified terms to Google Sheets.
- If no meaningful new terms exist, appends baseline terms from this weekโs ad titles to Google Sheets to prevent future false โnew termโ detections.
- Updates the competitorโs status to Done in Google Sheets and, when a signal is detected, formats a Slack alert message and continues to the next competitor.
Setup
- Connect Google Sheets OAuth credentials and update the spreadsheet ID/sheet tabs for competitors (with a status column), known_terms, and launch_signals.
- Add an Adyntel API credential and ensure each competitor row includes a valid domain value for ad lookups.
- Add an OpenAI API key for the OpenAI Chat Model used by the AI Agent.
- Configure a Slack notification step (this template formats a message but does not send it) by adding a Slack node/webhook and posting the formatted slack_message to your chosen channel.
- Confirm the schedule settings (weekly on Monday) and adjust term extraction thresholds in the code steps if you want different sensitivity.
๐ Nodes Used
Google Sheets, Schedule Trigger, AI Agent, OpenAI Chat Model
๐ฅ Import
Download workflow.json and import into n8n:
Workflow menu โ Import from File