Weekly target-account enrichment with Wiza and a Slack digest

Every Wednesday at 9am, find the right decision-maker for each target account in your Google Sheet and post a ready-to-call Slack digest.

Agentic Task
WizaGoogle SheetsSlack BotSalesOperationsLead EnrichmentDaily DigestsData Sync

Build an agent workflow that runs every Wednesday at 9am (cron trigger) and enriches my account-based outbound list.

Step 1. Read the target-accounts tab of my Google Sheet using Google Sheets Get Values. Each row holds a company name, a company domain, and a target role for that account (for example "VP of Engineering" or "Head of Procurement"). Columns to the right hold the contact fields the workflow will fill in: full name, title, work email, phone, and LinkedIn URL.

Step 2. For each row where the contact columns are still empty, call Wiza Search Prospects scoped to that row's company domain and target job title to identify the best-fit decision-maker. Keep size at or below 30, since that is Wiza's per-call cap for Search Prospects. Search does not consume enrichment credits, so this step is cheap to run on every row.

Step 3. From the search results, pick the single strongest match for the target role (closest title, most senior, currently employed at that company domain). If no profile is a credible match, mark that row as unresolved and move on without spending a reveal credit.

Step 4. For each matched profile, call Wiza Start Individual Reveal to kick off the enrichment, then poll Wiza Get Individual Reveal until the reveal status is finished, and pull the verified work email, phone, and LinkedIn URL from the response.

Step 5. Write the enriched contact fields back to the same row in the sheet using Google Sheets Batch Update Values (preferred, so multiple rows go in one request). If the agent can only target a single range cleanly, Google Sheets Append Values is an acceptable fallback. The sheet should remain the single source of truth for the ABM list, so do not create a second tab.

Step 6. When all rows are processed, post a digest to my #abm-outbound Slack channel using Slack Bot Send a Message. Use the Slack Bot integration (not the user Slack integration) since this is automated workflow output, not a message authored by a person. The digest should include: how many target accounts were enriched this week, how many remain unresolved (no match found or no verified contact returned), and the top three highest-fit contacts the agent surfaced this run with name, title, company, and verified email, so the AE knows exactly where to start outreach.

Skip any row that already has contact data filled in, so reruns never overwrite good data. Respect Wiza's rate limits (15 individual reveals per second) and back off on HTTP 429.

Additional information

What does this prompt do?
  • Reads your target-accounts tab in Google Sheets every Wednesday at 9am and picks up any row that's missing contact info.
  • For each company, finds the best-fit decision-maker matching the target role you wrote in that row (like VP of Engineering or Head of Procurement).
  • Pulls a verified work email, phone, and LinkedIn URL for the match and writes them back to the same row, so your sheet stays the single source of truth.
  • Posts a Slack digest at the end with this week's wins, the accounts that couldn't be matched, and the top three highest-fit contacts your AE should call first.
What do I need to use this?
  • A Google Sheet with one row per target account, including columns for company name, company domain, and the target role you want to reach.
  • A Wiza account with API access enabled on your plan.
  • A Slack workspace and a channel where you want the weekly digest posted.
How can I customize it?
  • Change the day or time the workflow runs, or switch it to daily or biweekly.
  • Adjust which target role each row asks for, or rename the columns the agent reads and writes.
  • Post the digest to a different Slack channel, or DM it straight to the AE who owns that book of accounts.
  • Tighten the match rules by seniority, location, or exact title to match your ideal customer profile.

Frequently asked questions

What happens to rows that already have a contact filled in?
The agent skips any row that already has contact data and only enriches the blanks. You can rerun it every week without overwriting good data.
How many Wiza credits will this use?
Searches are free. Only successful contact reveals consume a Wiza credit, and you only spend one credit per matched person, so cost scales with how many new accounts you add each week.
What if Wiza can't find a verified email or phone?
Those accounts are flagged as unresolved in the Slack digest so your AE knows to handle them manually instead of silently dropping them.
Can I run this on a different cadence?
Yes. Change the schedule to daily, biweekly, or any cadence that fits your team's rhythm. The rest of the workflow stays the same.
Will it write to the same sheet I read from?
Yes. Contact columns are filled on the same row, so your existing ABM list stays the single source of truth and you don't have to reconcile two sheets.
What if I want a different target role for different accounts?
The target role lives in each row, so you can mix VP of Engineering for one account and Head of Procurement for the next. The agent reads each row's role separately.

Stop hand-prospecting your target accounts.

Connect Google Sheets, Wiza, and Slack once, and Geni enriches your ABM list every Wednesday before your team starts outreach.