Weekly target account prospect list with UpLead
Every Monday at 8am, pull fresh contacts at each of your target accounts, save them to Airtable, and post a per-rep digest in Slack.
Every Monday at 8am ET, build a fresh prospect list for each of my target accounts so my reps walk into Monday with names to reach out to. Run this as an agent workflow, not deterministic code, because picking the most relevant contacts and writing a readable digest both benefit from judgement.
Trigger: cron, every Monday at 8am ET.
Step 1. Read my target account list from Airtable using the List Records action. The table is "Target Accounts" and I want only the "Active Targets" view. Each row has Company name, Domain, Account Owner (the rep), and a Priority tag.
Step 2. For each target account, call UpLead Prospector Search filtered by that company's domain. Apply my ICP filters using the job_functions and management_levels parameters. The agent should translate my ICP rules (in plain English) into the right values. My ICP is: [REPLACE WITH YOUR ICP, e.g. "VPs and Directors of RevOps, Sales Ops, or Marketing Ops at SaaS companies; ignore individual contributors and anyone below Manager level"]. Before paginating, do a count_only=true probe call first to size the result set so we don't burn UpLead credits on huge companies. Cap each account's pull at 5 contacts.
Step 3. De-duplicate against prior runs. Use Airtable List Records on the "Prospects" table and skip anyone whose email already exists there. Reps should only ever see fresh names week over week.
Step 4. For each account, pick the top 3 to 5 contacts ranked by title relevance to the ICP. The agent should reason about which titles map most closely (for example, "VP of RevOps" > "RevOps Manager" > "Sales Ops Analyst").
Step 5. Write the chosen contacts to the Airtable "Prospects" table using the Create Records action. Each new row should include First Name, Last Name, Title, Email, LinkedIn URL, Company (linked to the Target Accounts row), Account Owner (carried over from the target account), Added Date (today), and Source ("UpLead weekly run"). Use batch creates (Airtable allows up to 10 records per request).
Step 6. Post a per-rep digest in Slack using the Slack Bot Send a Message action. Post to the #sales-prospecting channel. The digest should group results by Account Owner, list each account they own with the count of new prospects added (and the names if 5 or fewer), and explicitly call out any accounts that returned zero hits so the rep knows where to widen their ICP or do manual research. Keep the formatting clean and skimmable (one section per rep, bullet list of accounts).
Inputs to ask me for when generating the workflow: the Airtable base ID, the Target Accounts table name and view name, the Prospects table name, the destination Slack channel, my ICP description in plain English, and the max contacts per account (default 5).
Additional information
What does this prompt do?
- Reads your active target account list from Airtable every Monday morning.
- Finds 3 to 5 new contacts at each company using your ICP filters (job functions and seniority levels).
- Skips anyone already in your Prospects table so reps only see fresh names.
- Posts a Slack digest grouped by account owner, with new prospect counts per account and any zero-hit accounts called out.
What do I need to use this?
- An Airtable base with your target accounts (one row per company with at least company name, domain, and account owner).
- A second Airtable table for Prospects, or we can write to a new one you point us at.
- An UpLead account with API access (Essentials plan or higher).
- A Slack workspace and a channel where reps can see the Monday digest.
- Your ICP described in plain English: which job functions and seniority levels you care about.
How can I customize it?
- Change the schedule from Monday at 8am to any day and time that fits your team's cadence.
- Adjust the ICP filters (job functions, seniority levels, locations) to widen or tighten the search.
- Cap the number of new contacts per account (default is 3 to 5).
- Send each rep a Slack DM with only their accounts, or keep one shared channel digest.
Frequently asked questions
Will this work if my account list lives in Google Sheets or HubSpot instead of Airtable?
How does it avoid showing the same person twice?
How many UpLead credits does it use?
What happens if an account returns zero hits?
Can each rep get their own digest instead of one shared channel?
Walk into Monday with names to call.
Connect UpLead, Airtable, and Slack once, and Geni builds your reps a fresh prospect list every Monday at 8am.