Skip to content
Academy
Marketing Academy · Field Work●Marketing Tools
MiniBuild the Asset· 35 minutes

Design a Waterfall Enrichment Spec (No Clay Seat Required)

TBO Tek

Objective: Design a complete waterfall enrichment spec, provider order, credit logic, and single-output AI column prompts, then hand-simulate it in a spreadsheet so you understand exactly what Clay automates before you ever touch the tool.

You're on the growth team at TBO Tek, the B2B travel distribution platform that listed on the NSE/BSE in 2024, and you've been asked to build an outbound list of 50 unenriched travel-agency partner leads before your team's Clay seat gets provisioned next week.

Spec the waterfall provider order, the credit logic, and three single-output AI column prompts, then simulate the logic by hand in Sheets so the workflow is ready to load straight into Clay on day one.

Before you start

What you'll need

Free path (everything below is enough to finish)

FreeSimulate the waterfall provider order and credit logic by hand

Free, no account friction, and mirrors exactly what a Clay table's rows and columns will look like

FreemiumDraft and test each single-output AI column prompt before it goes into Clay

Free tier is enough to test prompt wording against a handful of sample rows

The process

2 steps

Step 01 of 02

Designing a waterfall provider order

The lesson's waterfall concept chains providers so each one only fires if the last one missed, and a provider only charges a credit when it actually finds a result. A 4-5 provider chain discovers emails for 85-95% of B2B prospects.

You have three providers: Apollo (60% hit rate), Findymail (55% hit rate), Hunter (45% hit rate), all at similar per-credit cost. What order minimizes wasted credits while still reaching 90%+ coverage?

Google Sheets— A new sheet with columns: lead_domain, lead_name, provider_that_found_it, final_email, credits_spent.

Procedure

  1. List all 50 leads with only domain and name filled in, nothing enriched yet.
  2. Order providers highest-hit-rate-first, Apollo then Findymail then Hunter, so the waterfall burns its best odds before its worst.
  3. Mark 60% of rows as found by Apollo (provider 1); leave the rest blank.
  4. Of the remaining blanks, mark 55% as found by Findymail (provider 2); leave the rest blank.
  5. Of what's still blank, mark 45% as found by Hunter (provider 3).
  6. Set credits_spent to exactly 1 for every row that found an email, 0 for rows still blank after all three, since only the stopping provider bills.
Sample output
lead_domain          provider_that_found_it   final_email              credits_spent
agoda-partner01.com  Apollo                   ravi.k@agoda...          1
makemytrip-b2b.com   Findymail                priya@makemytrip...      1
cleartrip-corp.com   Hunter                   (not found)              0
...47 more rows

TOTAL: 46 of 50 found (92%), 46 credits spent (not 150)

Healthy

Coverage lands at 90%+ and total credits spent equal roughly the number of leads found, not the number of leads times providers attempted.

Unhealthy

Credits spent are close to 150 (50 leads x 3 providers), meaning every provider was configured to run on every row instead of stopping at the first hit.

What this means

A waterfall's cost advantage only exists if it actually stops at the first successful provider; ordering by hit rate first, then verifying the stop logic, is what separates a real waterfall from three parallel lookups.

So what do I do about it?

SymptomActionEffort
Coverage stalls below 90% after three providersAdd a fourth catch-all provider (e.g. Clearbit) to the end of the chain30 min
Credits spent are far higher than leads foundRebuild the waterfall so each provider only fires when the prior one returned blank30 min
YouYou can do this yourself, no engineering access required.

Step 02 of 02

Writing single-output AI column prompts

The lesson's rule for AI columns is one column, one output. Asking for a first line AND a subject line AND a company summary in one prompt produces messy, hard-to-map output.

You need three outputs per enriched row: a personalized opener, an ICP fit score, and a company category label. How many separate AI column prompts should you write?

ChatGPT— A prompt-drafting doc with one heading per intended Clay AI column.

Procedure

  1. Write three separate prompts, one per output, never combined.
  2. Draft prompt 1: 'Write a one-sentence opener referencing {company_name}'s recent {funding_round} and their focus on {primary_product}.' Output: opener text only.
  3. Draft prompt 2: 'Score this company 1-10 for ICP fit based on headcount {headcount} and tech stack {tech_stack}.' Output: a single number.
  4. Draft prompt 3: 'Classify {company_name} as PLG, enterprise, or SMB based on {headcount} and {pricing_page_text}. Output only the label.' Output: a single label.
  5. Test each prompt against 3 sample rows in ChatGPT and confirm each returns exactly one clean value with no extra commentary.
Sample output
Prompt 1 test row: 'Priya, congrats on TBO Tek's NSE listing, curious how the new B2B travel API is handling your partner volume.'
Prompt 2 test row: 8
Prompt 3 test row: enterprise

Healthy

Each prompt returns one clean value with zero extra commentary, ready to map directly into a single Clay column.

Unhealthy

A single prompt returns an opener, a score, and a label all mashed into one paragraph, which cannot be mapped into separate CRM fields without manual cleanup.

What this means

A messy multi-output response isn't a prompting failure to patch with more instructions, it's a sign the prompt is doing the job of three columns and needs to be split.

So what do I do about it?

SymptomActionEffort
AI output mixes multiple pieces of information in one fieldSplit into one prompt per output and map each to its own column30 min
YouYou can do this yourself, no engineering access required.

Final deliverable

A written waterfall enrichment spec: provider order with credit logic, plus three tested single-output AI column prompt drafts, ready to load directly into Clay.

See a reference example
Sample output
RateGain Travel Technologies, outbound waterfall spec (excerpt)

PROVIDER ORDER: Apollo -> Findymail -> Hunter -> Clearbit (catch-all)
CREDIT RULE: bill only the provider that returns a result

AI COLUMN 1 (opener): 'Write a one-sentence opener referencing {company_name}'s recent {funding_round} and focus on {primary_product}.'
AI COLUMN 2 (ICP score): 'Score 1-10 based on {headcount} and {tech_stack}. Output only the number.'
AI COLUMN 3 (category): 'Classify as PLG, enterprise, or SMB. Output only the label.'

Success criteria

You're done when you can:

  • Waterfall provider order is sorted highest-hit-rate first
  • Credit logic only bills the successful stopping provider, not every attempt
  • All three AI column prompts request exactly one output each