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.

Agentic Task
UpLeadAirtableSlack BotSalesLead EnrichmentDaily DigestsData Sync
PromptCreate

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).

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.

FAQs

Will this work if my account list lives in Google Sheets or HubSpot instead of Airtable?
Yes. Airtable is the default, but the source list can be swapped for Google Sheets or HubSpot. The rest of the flow (UpLead lookups, Slack digest) stays the same.
How does it avoid showing the same person twice?
Before adding new prospects, the workflow reads your existing Prospects table and skips anyone whose email is already there. So week over week, reps only see fresh names.
How many UpLead credits does it use?
UpLead charges per contact returned, not per search. The workflow runs a size check first so it never paginates through huge result sets, and caps each account at 3 to 5 contacts. Most teams spend a small fraction of their monthly credits on a weekly run.
What happens if an account returns zero hits?
The Slack digest calls those accounts out explicitly so the owning rep knows where to relax the ICP filter or take a manual look.
Can each rep get their own digest instead of one shared channel?
Yes. The workflow groups prospects by account owner, so you can either post one combined channel message with a section per rep, or send each rep a private DM with just their accounts.

Related templates

A brand asset library your marketing team actually searches

Every logo, photo, video cut and ad export in one searchable grid, with previews, campaign tags and rights expiry dates at a glance.

General Input Storage
General Input Database
JigsawStack
+1
App
Turn Mailjet email clicks into ranked HubSpot follow-ups

Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.

Mailjet
HubSpot
Slack Bot
Agentic Task
Clean out the Looker dashboards and Looks nobody opens

One board showing every dashboard and Look with its folder, owner and favorite count, so you can find dead content and retire it safely.

Looker
Slack Bot
App
LiveKit live operations console for room moderation

Watch every live room on one screen, remove disruptive guests, start recordings and end stuck sessions without anyone opening a terminal.

LiveKit
Slack Bot
General Input Database
App
Wake up dormant Keap leads with a researched reason

Every Monday we find leads who never bought, research a real reason to reach out, and send a short personal email instead of another check in.

Keap
Slack Bot
Agentic Task
LiveChat coverage board for planning next week's shifts

See the exact hours your chat queue backs up and customers give up waiting, then plan next week's shifts before it happens again.

LiveChat
Slack Bot
General Input Database
App

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.