Project · 2025

Meta Ad as Signal to AI-Powered Outbound

A system that finds real estate companies the moment they start running Meta lead-gen ads, and reaches the right person there with a message written for them specifically, not a template.

Client: a UAE-based CRM startup Status: Live Built solo

n8n Apify BigQuery Slack Clay OpenAI Apollo ZeroBounce Instantly

The signal

The CRM is built for real estate companies running lead-gen ads on Meta. So one of the strongest buying signals is simple: a company that just started running those ads. The moment that happens, we want to be the first ones in their inbox, not the fifth.

New Meta ad
n8n, Apify, Clay
Instantly
HubSpot
Paying customer

Finding every new advertiser

Fetch on a schedule

An n8n workflow runs periodically and pulls every company currently running ads through Apify's Facebook Ads Library Scraper.

n8n node configuration for the Apify Facebook Ads Library Scraper actor

Track everything we've seen

Apify has no way to filter to just "new" ads, so a BigQuery database keeps a running record of every page and ad seen. New activity gets found by diffing against it.

BigQuery schema for the real_estate_uae_page table tracking every page and ad seen

Filter and enrich the new ones

Each row is checked: is the page category real estate? Is the ad already in our database? If it's genuinely new, a second Apify actor pulls the full page profile, and an HTTP request pushes it into Clay for the next stage.

n8n workflow diagram: schedule trigger, Apify actor, loop over items, filter for real estate, check if ad exists, insert new ad

Alert the team

The same workflow fires a Slack notification, so new companies showing up in the pipeline are visible in real time, not just in a dashboard someone has to check.

Slack channel showing real-time notifications as new company pages are added to the pipeline

Qualifying the list, with AI doing the filtering

Confirm they're in the UAE

Checked first by phone number or address, using a free formula, so no AI credits are spent unless needed.

Clay formula editor: a free formula checking phone and address fields against UAE, Dubai, and Abu Dhabi to determine UAE status

If that's inconclusive, a cheaper GPT model tier (about 6x less expensive, since overkill isn't needed for a task this simple) resolves location from the company's website or Google profile instead.

Claygent AI web-research prompt configured to verify a company's existence and extract its address, website URL, and phone number from authoritative sources

Confirm they have a valid website

Same pattern: a free formula check runs first. Only rows still empty after that get an AI web crawl to find one, which keeps credit spend down by not running AI on rows that don't need it.

AI prompt for resolving a company's official website URL, with worked input/output examples

Find the right people

From the filtered list of UAE-based companies with valid websites, Clay identifies the Sales Managers, Marketing Managers, and Owners at each firm.

Apollo.io job title filters set to Marketing Manager, Sales Manager, Owner, CEO, and Operations Manager

Enrich emails with a waterfall

Email addresses are found through waterfall enrichment across Lead Magic, Apollo, and Prospeo, trying each provider in turn to maximize the hit rate.

Writing to each person differently

A CEO, a Sales Manager, and a Marketing Manager care about different things, so the emails aren't the same. Every email is generated through multi-step AI prompts, using the actual ad the company is running as the personalization hook.

Emails are generated on Clay using the ad context, then pushed to Instantly for the send sequence.

Results

Lead funnel for the Sales Managers campaign, six weeks in:

Lead funnel over time: 5,687 contacted, 5,134 delivered (90.3%), 1,594 opened (31.0%), 1,623 clicked or accepted (31.6%), 308 replied (6.0%), 0 marked interested (0.0%)

"Interested" sits at 0% because that status isn't actively tagged in this tool. The 308 replies (6.0%) are the real signal, and are triaged manually from there.

Why it works

What happens after a reply

Replies are handled and handed to the sales team for calling. From there: calls → demo booked → demo given → follow-up calls → payment and contract.