















Hi all,
I see a lot of people still doing manual competitor audits—scrolling through Facebook pages, counting likes, and copying post text into spreadsheets. It’s a massive waste of time.
I’ve been using an automated workflow to "spy" on competitor performance, and I wanted to share the process because you can actually do it for free using a specific cloud tool.
What you can actually see with this method:
The "Free" Hack: The platform I use (Apify) gives $5 in free credits monthly. Since this specific scraper costs about $0.008 per post, you can effectively scrape 500-600 full posts every single month without paying a dime.
I put together a step-by-step guide on how to set up the URLs, apply the filters, and export the final CSV/Excel sheet.
Read the full guide here:https://mo-elrweny.medium.com/the-ultimate-guide-to-scraping-facebook-post-data-in-2026-4c3d8150f961
I built a fully autonomous Meta Ads AI Agent in n8n ask it anything about your ad accounts in plain English
1 - Core Functionality:
Ask the agent conversational questions like:
- What’s my ROAS on account act_123 for the last 30 days?
- Which campaigns have the highest CTR this month?
- Show me all active ads and their current spend
2 - The Architecture:
The system uses a two-part workflow for stability and precision:
- The Brain (Chat Interface):
Uses LangChain + GPT to interpret intent.
Equipped with tools: list_accounts, account_details, and ad_details.
Injected with today's date so it understands "this month" or "yesterday
- The Engine (Sub-workflow):
Acts as a Safe API Layer
Instead of the LLM guessing API syntax, it calls this workflow.
Meta Graph API (v23.0): Fetches spend, reach, conversions, ROAS, and ad hierarchy
Data Cleaning: Normalizes Account IDs (the act_ prefix) and formats JSON into clean text for the AI
Pro-Tips from the Build
Sub-workflows > Raw API: Wrapping API calls in predefined nodes prevents the AI from hallucinating field names.
Date Normalization: Setting default ranges (start-of-month to today) ensures How are my ads doing? always returns a valid response.
Read-Only: For security, the agent is currently analytics-only with no "write" permissions to pause or delete campaigns.
Want the JSON? Let me know and I'll drop the workflow files!
I built a fully autonomous Meta Ads AI Agent in n8n ask it anything about your ad accounts in plain English
1 - Core Functionality:
Ask the agent conversational questions like:
- What’s my ROAS on account act_123 for the last 30 days?
- Which campaigns have the highest CTR this month?
- Show me all active ads and their current spend
2 - The Architecture:
The system uses a two-part workflow for stability and precision:
- The Brain (Chat Interface):
Uses LangChain + GPT to interpret intent.
Equipped with tools: list_accounts, account_details, and ad_details.
Injected with today's date so it understands "this month" or "yesterday
- The Engine (Sub-workflow):
Acts as a Safe API Layer
Instead of the LLM guessing API syntax, it calls this workflow.
Meta Graph API (v23.0): Fetches spend, reach, conversions, ROAS, and ad hierarchy
Data Cleaning: Normalizes Account IDs (the act_ prefix) and formats JSON into clean text for the AI
Pro-Tips from the Build
Sub-workflows > Raw API: Wrapping API calls in predefined nodes prevents the AI from hallucinating field names.
Date Normalization: Setting default ranges (start-of-month to today) ensures How are my ads doing? always returns a valid response.
Read-Only: For security, the agent is currently analytics-only with no "write" permissions to pause or delete campaigns.
Want the JSON? Let me know and I'll drop the workflow files!
I built a fully autonomous Meta Ads AI Agent in n8n ask it anything about your ad accounts in plain English
1 - Core Functionality:
Ask the agent conversational questions like:
- What’s my ROAS on account act_123 for the last 30 days?
- Which campaigns have the highest CTR this month?
- Show me all active ads and their current spend
2 - The Architecture:
The system uses a two-part workflow for stability and precision:
- The Brain (Chat Interface):
Uses LangChain + GPT to interpret intent.
Equipped with tools: list_accounts, account_details, and ad_details.
Injected with today's date so it understands "this month" or "yesterday
- The Engine (Sub-workflow):
Acts as a Safe API Layer
Instead of the LLM guessing API syntax, it calls this workflow.
Meta Graph API (v23.0): Fetches spend, reach, conversions, ROAS, and ad hierarchy
Data Cleaning: Normalizes Account IDs (the act_ prefix) and formats JSON into clean text for the AI
Pro-Tips from the Build
Sub-workflows > Raw API: Wrapping API calls in predefined nodes prevents the AI from hallucinating field names.
Date Normalization: Setting default ranges (start-of-month to today) ensures How are my ads doing? always returns a valid response.
Read-Only: For security, the agent is currently analytics-only with no "write" permissions to pause or delete campaigns.
Want the JSON? Let me know and I'll drop the workflow files!
I built a fully autonomous Meta Ads AI Agent in n8n ask it anything about your ad accounts in plain English
1 - Core Functionality:
Ask the agent conversational questions like:
- What’s my ROAS on account act_123 for the last 30 days?
- Which campaigns have the highest CTR this month?
- Show me all active ads and their current spend
2 - The Architecture:
The system uses a two-part workflow for stability and precision:
- The Brain (Chat Interface):
Uses LangChain + GPT to interpret intent.
Equipped with tools: list_accounts, account_details, and ad_details.
Injected with today's date so it understands "this month" or "yesterday
- The Engine (Sub-workflow):
Acts as a Safe API Layer
Instead of the LLM guessing API syntax, it calls this workflow.
Meta Graph API (v23.0): Fetches spend, reach, conversions, ROAS, and ad hierarchy
Data Cleaning: Normalizes Account IDs (the act_ prefix) and formats JSON into clean text for the AI
Pro-Tips from the Build
Sub-workflows > Raw API: Wrapping API calls in predefined nodes prevents the AI from hallucinating field names.
Date Normalization: Setting default ranges (start-of-month to today) ensures How are my ads doing? always returns a valid response.
Read-Only: For security, the agent is currently analytics-only with no "write" permissions to pause or delete campaigns.
Want the JSON? Let me know and I'll drop the workflow files!
I built a fully autonomous Meta Ads AI Agent in n8n ask it anything about your ad accounts in plain English
1 - Core Functionality:
Ask the agent conversational questions like:
- What’s my ROAS on account act_123 for the last 30 days?
- Which campaigns have the highest CTR this month?
- Show me all active ads and their current spend
2 - The Architecture:
The system uses a two-part workflow for stability and precision:
- The Brain (Chat Interface):
Uses LangChain + GPT to interpret intent.
Equipped with tools: list_accounts, account_details, and ad_details.
Injected with today's date so it understands "this month" or "yesterday
- The Engine (Sub-workflow):
Acts as a Safe API Layer
Instead of the LLM guessing API syntax, it calls this workflow.
Meta Graph API (v23.0): Fetches spend, reach, conversions, ROAS, and ad hierarchy
Data Cleaning: Normalizes Account IDs (the act_ prefix) and formats JSON into clean text for the AI
Pro-Tips from the Build
Sub-workflows > Raw API: Wrapping API calls in predefined nodes prevents the AI from hallucinating field names.
Date Normalization: Setting default ranges (start-of-month to today) ensures How are my ads doing? always returns a valid response.
Read-Only: For security, the agent is currently analytics-only with no "write" permissions to pause or delete campaigns.
Want the JSON? Let me know and I'll drop the workflow files!
Note: I'm not prompting anything
I'm working on creating an automated system to help me hunt some good domains
I'm using dynadot api to get all domains and filter it with my desired keywords
Once the bot find relative query it sends me a telegram messages
Any advice on how to get better results?