Auto-enrich new prospect rows and ping the rep in Slack
The moment a rep drops a new company domain into your Outbound Prospects sheet, it gets researched, written back to the row, and announced in Slack.
Build me a deterministic code workflow that auto-enriches new outbound prospect leads. I keep a Google Sheet called "Outbound Prospects" where reps drop new company domains throughout the day. The workflow should fire on every new row, enrich it, write the data back, and ping the rep in Slack.
Trigger: Google Sheets poll on new_row in the Outbound Prospects sheet. The sheet has at minimum a domain column (input) and an owner column holding the Slack handle of the rep who owns the row. The workflow should be configurable so I can point it at a different sheet or different column names later.
For each new row, take the value in the domain column and run these Context.dev steps in order:
1. Call Context.dev "Retrieve Brand Data by Domain" to pull company name, description, logo URL, HQ address, and social links (especially LinkedIn URL).
2. Call Context.dev "Classify NAICS Industries" on the same domain to get the primary NAICS code.
3. Call Context.dev "Scrape Screenshot" of the homepage (https://<domain>) to get a visual thumbnail URL.
Then call Google Sheets "Update Values" to write the enriched data back into the same row. Map the results to these columns: company_name, description, logo_url, naics_code, hq_city (extract from the brand address), linkedin_url (from socials), and screenshot_url. Only touch those columns. Leave anything else the rep typed alone.
Finally call Slack "Send a Message" to a configurable channel (default #prospecting). The message should tag the rep listed in the owner column and contain a one-line summary of the lead (company name, NAICS industry, HQ city) plus the screenshot URL so it unfurls inline.
Error handling: if any Context.dev call returns an error for the domain (bad domain, 404, timeout, etc.), write the literal string "lookup_failed" into the company_name column for that row and still post a Slack message tagging the rep so they know to research the domain manually. Do not crash the run on a single bad row.
Keep this as a code workflow, not an agent. The steps are fixed, the column writes are fixed, and the Slack format is fixed every time.
What does this prompt do?
- Watches your Outbound Prospects sheet and fires the second a rep adds a new row with a company domain.
- Fills in company name, description, logo, NAICS industry code, HQ city, LinkedIn, and a homepage screenshot, written straight back into that row.
- Posts a one-line summary into your prospecting channel and tags the rep listed in the owner column so they know their lead is ready.
- If the lookup fails, marks the row as a failed lookup and still pings the rep so nothing slips through the cracks.
What do I need to use this?
- A Google account with edit access to your Outbound Prospects sheet.
- A Slack workspace and a channel where the alerts should land (for example, #prospecting).
- A Context.dev account for the company lookups, industry classification, and homepage screenshots.
- Your sheet should have a domain column for input and an owner column listing the Slack handle of the rep who owns the row.
How can I customize it?
- Swap the destination channel, or DM the rep directly instead of posting in a shared channel.
- Add or remove enrichment columns. Pull in employee count, founding year, or full address if you want more in the row.
- Tighten the summary line that posts to Slack so it matches how your team likes to qualify leads at a glance.
FAQs
What triggers the workflow?
What happens if Context.dev cannot find the company?
Can I use a different sheet or a different column layout?
Will the rep get pinged for every single new row?
Does this overwrite data the rep already typed?
Related templates
Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.
See every Google Maps listing you manage on one screen, ranked worst first, with an audit button that writes the fix list for you.
Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.
Your team picks a template, finds the customer, checks they are safe to email, then sends it, with every send logged where the whole team can see it.
Every night at 2am, pull the contacts on your open and won deals and block them from your cold outreach before the next send goes out.
Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.
Stop hand-researching every new lead.
Connect Google Sheets, Context.dev, and Slack once, and Geni enriches every new prospect row the moment it lands.