OUTBOUND: THE PROMPT AND THE SHEET This prompt has an AI agent search Meta's public Ad Library for a trade and a city. It gives you one row per business running ads now, oldest ad first, with a first message for each, marked DRAFT. It never sends anything. In the video, my agent runs a script that reads the Ad Library. This prompt asks any agent that can browse to do the same search, so you don't need a script. Prefer to do it by hand? The same search in five steps is at https://hbunn.io/free/ads HOW TO USE IT 1. Use an AI tool that can open a web browser, scroll a page and read what loads. The Ad Library loads its ads as you scroll, so a tool that only reads a page's text may come back empty. Menu names in these tools change: go by your own screen. Read Meta's Automated Data Collection Terms first: https://www.facebook.com/apps/site_scraping_tos_terms.php They say you need Meta's written permission to collect data from its sites by automated means, such as bots and scrapers. An agent that browses for you may count. If in doubt, do the search by hand with the five steps at https://hbunn.io/free/ads 2. Fill in every blank in square brackets: [trade], [city], [country], [two-letter country code] and [what you do, in one line]. 3. Paste everything from COPY FROM HERE to COPY TO HERE as one message. 4. Ask the agent to save its rows as a file called rows.csv, without the header row or its last line. If it can't, paste them into a plain-text file with that name. Open outbound-sheet.csv in Google Sheets. Use File, then Import, upload rows.csv and choose Append to current sheet. Then delete the EXAMPLE row. Copy the sheet's two formulas down over days_running and keep. 5. Check every row yourself in the Ad Library before you use it. An agent can misread a page or make up a row. 6. Read every draft. Edit it or delete it. Whether you contact anyone is a separate decision: read BEFORE YOU CONTACT ANYONE at the end of this file first. Run one trade and one city at a time. Then run the versions a customer would say, such as roofer Dallas, roof repair Dallas, and the towns around you. ---------------------------------------- COPY FROM HERE ---------------------------------------- You are building a list of local businesses that are running Facebook and Instagram ads right now. Use your web browser. Typing in the Ad Library's search box and using its filters is fine. Apart from that, do not send, post, comment, message, call or submit a form anywhere. THE SEARCH 1. Open https://www.facebook.com/ads/library/ in the browser. 2. Set the country to [country]. In the Ad category dropdown, select All ads. 3. Search for: [trade] [city] If the search box is hard to use, open this address instead. It runs the same search for active ads only: https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=[two-letter country code]&is_targeted_country=false&media_type=all&q=[trade]%20[city]&search_type=keyword_unordered 4. Keep only ads that are active now. If there is a filter for active and inactive ads, set it to active. 5. Scroll down to load more results. Stop when no new ads appear, or when you have 40 businesses. 6. If you can't open or read the Ad Library, say so and stop. Do not make up results. WHAT TO RECORD - One row per business (one Facebook Page), not one row per ad. - If a business runs several active ads, use the start date of its oldest ad that is still running. - Skip any ad that is not for [trade], and any business that is clearly not in or near [city]. - For each business, record: page_name: the name of the Facebook Page running the ad, exactly as shown. city: [city], or the city on their Page if it shows a different one. search_used: the words you searched. start_date: the date the oldest active ad started running, as shown on the ad. Write it as YYYY-MM-DD. days_running: today's date minus start_date, in whole days. website: the website the ad links to. If the ad has no link, click See ad details and use the website from the Page's About section. If there is none, leave it blank. Never guess a website. what_the_ad_offers: one line in plain words: the service, and what the ad offers. ad_link: https://www.facebook.com/ads/library/?id= followed by the ad's Library ID, which is shown on the ad. date_checked: today's date, YYYY-MM-DD. keep: TRUE if days_running is 30 or more, otherwise FALSE. SORT Sort the rows by start_date, oldest first. A FIRST MESSAGE FOR EACH, AS A DRAFT ONLY For each business, write draft_message: - Start it with DRAFT: - Two short sentences, then one question. Under 50 words in all. - Mention their business by its page name and what their ad offers. Use nothing else about them. - Say what I do in one line: [what you do, in one line]. - No price, no promise, no claim about results, no link, and no number that isn't theirs. - Do not send it. Do not contact any business in any way. NEVER - Never invent a business, a date, a website or an offer. If you couldn't read something, leave that field blank and name it in your last line. - Never send, post or submit anything. GIVE IT TO ME AS A CSV, header row first, with these columns in this order: page_name,city,search_used,start_date,days_running,website,what_the_ad_offers,ad_link,date_checked,keep,draft_message Put quotes around any value that has a comma in it. Then one last line saying how many businesses you found, which searches you ran, and any field you left blank because you couldn't read it. ----------------------------------------- COPY TO HERE ----------------------------------------- THE SHEET (outbound-sheet.csv) The same columns as the ADS sheet, with draft_message added at the end. Open it in Google Sheets or Excel. It has one EXAMPLE row; type over it. page_name The name of the Facebook Page running the ad. city The city you searched, or the one on their Page. search_used The words you searched, such as roofing Dallas. start_date The date its oldest ad that's still running started. days_running Worked out for you: =IF(D2="","",TODAY()-D2) website The site the ad links to, or the one in See ad details. what_the_ad_offers One line in your own words: the service, and what the ad offers. ad_link From Options, then Copy Ad Link. date_checked The day you looked. Ads stop and start, so check again before you use the row. keep Worked out for you, TRUE at 30 days or more: =IF(E2="","",E2>=30) draft_message The agent's first message, starting DRAFT:. Read it, edit it, and decide yourself. When you've added the agent's rows (step 4 above), copy the two formulas down over its days_running and keep, so they update each day. Then sort the sheet by start_date, oldest first. WHAT THE DATE TELLS YOU 30 days or more: an ad that has run for 30 days or more tells you the business keeps paying for it. It doesn't prove the ad works. Treat it as a sign the business has a budget for ads, not as a sign the ad is good. Under 30 days: a new ad may be a test. Keep the row, and check again in a few weeks whether it's still running. SENDING IS A SEPARATE DECISION The prompt builds a list and writes drafts. It sends nothing. The video shows the list being built. It claims no replies, calls or clients. Whether you contact anyone, and how, is your decision, made after you've checked each row. BEFORE YOU CONTACT ANYONE A business running an ad hasn't agreed to hear from you. These are the same notes as on https://hbunn.io/free/list under "Before you contact anyone". They are notes, not legal advice. Email: CAN-SPAM. It covers business email too. Use an accurate From and Reply-To, and a subject line that matches the message. Identify the message as an ad, include a valid physical postal address, and honour opt-outs within 10 business days. The drafts have none of this, so add it before you send one by email. Source: ftc.gov, CAN-SPAM guide. Calls: the Do Not Call Registry. Consumers can register wireless numbers. Scrub any number that may be a personal mobile before you dial it. Source: telemarketing.donotcall.gov Calls and texts to mobiles. Autodialled, prerecorded or artificial-voice calls and texts to mobiles need prior express consent, and for marketing that consent must be written. So dial by hand, send no texts, and leave no voicemail drops. This is the general rule from FCC guidance, not legal advice. Each row. Check the business is still running the ad, and that the name and website match, on the day you contact them. Ads stop and start. The businesses, dates and searches here and in the video are examples to adapt. No business in the video is a client. Nothing here is a result; it is a prompt and a sheet.